数据库实例零件销售中心管理系统概述_第1页
数据库实例零件销售中心管理系统概述_第2页
数据库实例零件销售中心管理系统概述_第3页
数据库实例零件销售中心管理系统概述_第4页
数据库实例零件销售中心管理系统概述_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术专业课程设计导书程设计教学实验指导Server本课程的教学实验分为两部分:第一部分是按照实验指导书所要求的实验在计算机上完成;第二部分是作完上述实验后按照本课程设计教学实验指导书做的一个综合性实验。通过教学实验可使读者较系统、全面地掌握相关的教学内容和必要的上机操作。下面给出三个实验课题,其中第一个课题还附有参考答案。希望读者在理解题意的基础上发挥自己的创新精神,有创意地完成教学实验。如果觉得有参考答案可能会束缚自己的思维,也可选作第二或第三个若有时间,有兴趣,可考虑另外两个课题,也会有所收益.通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。零件交易中心管理系统主要提供顾客和供应商之间供应商信息、顾客信息以及零件信息。简介;顾客信息包括顾客号,顾客名、地址、电话;零件信息包括零件号、零件名、重量、颜色、简介等。此系统可以让供应商增加、删除和修改所提供的零件产品,还可以让顾客增加、删除和修改所需求的零件。交易员可以利用顾客提出的需求信息和供应商提出的供应信息来提出交易的建议,由供应商和顾客进行确认后即完成这笔交易。完成该系统的数据库设计:SQl数据库的设计,并在SQLServer上调试通过.通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中民航订票系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠要发送相应的信息。完成该系统的数据库设计;SQL现数据库的设计,并在SQlServcr上调试通过。通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容.一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认.完成该系统的数据库设计;用SQL实现数据库的设计,并在SQSQLServer上调试通过.通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。零件交易中心管理系统主要提供顾客和供应商之间完成零件交易的功能,其中包括供应商信息、顾客信息以及零件信息。此系统可以让供应商增加、删除和修改所提供的零件产品,还可以让顾客增加、删除和修改所需求的零件。交易员可以利用顾客提出的需求信息和供应商提出的供应信息来提出交易的建议,由供应商和顾客进行确认后即完成这笔交易。1需求分析:(实际详细调查)概念(模型)设计(实际到概念)逻辑设计(逻辑推导)物理设计(理论到实现)SQL编程、调试(测试验证)(实践反复检验)3应用程序编程、调试、测试(用人机交互前台开发工具VB.NET开发windows和Web应用程序) (详细地调查分析系统对象、功能、性能等需求)应项修改供应项修改个人信息应项顾客求项修改需求项求项修改个人信息应项修改供应项修改个人信息应项顾客求项修改需求项求项修改个人信息供应商的操作流程图如图A1所示。供应项顾客的地位和供应商几乎是对称的,所以功能分类上也很相似.顾客的操作流程图如图A2示所。协议书草案以及顾客签字字供应商顾客提出交易员提出协议书草案以及顾客签字字供应商顾客提出交易员提出交易员的工作就是提出交易和完成交易。这里需要仔细考虑的问题是:一个交易如何产生,并如何达A3来说明这个问题.我们在处理交易的时候可能面临如下问题:(1)一个交易只能在交易双方都同意的情况下才可以进行,所以数据库中的供求信息只能作为达成某个交易的基础;(2)交易的双方可能不同时使用这个系统,因此需要系统提供一个双方交换信息的方式;(3)系统需要提供一种方便系统(交易员)向用户提出建情况下达成交易。交易员价格地址M:价格地址M: (从实践概括抽象出理论模型E/R)数据库需要表述的信息有以下几种:系(供应)名商号价格M:N地址价格M:N地址(求购)价格商地址名号地址价格商地址名号地址可以用E\R模型表述该模型的设计,E\R图如图V7所示。价格价格价格价格ER系模型’的整理转换)通过E\K模型到关系模型的转化,可以得到如下关系模式:关系:关系关系关系(?)求购联系转换为关系每个关系模式的主键码都用下划线标出。同时,对于从联系导出的关系Supply(供应),的实体集的主健码作为自己的键码,必须符合外键码之间,不存在直接的约束,所以可以存在没有供应商供应同时也没有顾客求购的零件。 (从理论‘关系模型’到实现\实施‘数据库建立’) (物理文件的安排和建立索引)D实现该设计的环境为Windows2000PerfessinalMSSQLServer0.0EPartIDsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,archarNamevarchar20)NOTNULL,WeightintDEFAULT,trotextABLEProviderIDsmallintIDENTITY(1,1)KEYCLUSTEREDNamevarchar20)NOTNULL,passwordvarchar(8)NOTNULL,Addressvarchar(30),artrotextBLECustomerIDSmallintIDENTITY(1,1)KEYCLUSTEREDNamevarcharNOTNULL,Addressvarchar0),TeLVarchar20))SupplyDSmallintoviderIDsmallintintCONSTRAINTPK_SUPPLYRIMARYKEYCLUSTEREDPartIDProviderIDFK_SUPPLY_PARTIDFOREIGNKEY(PartID)FERENCESPartIDFK_SUPPLY_PROVIDERIDFOREIGNKEYProviderIDREFERENCESProviderID)OfferToBuyIDsmallintPartIDSmallint,Priceint,tityintPK_OFFERTOBUYPRIMARYKEYCustomerIDPartIDFERTOBUYCUSTOMERIDustomerIDNFERENCESCustomerIDKOFFERTOBUYFOREIGNKEYPartIDRENCESPartIDBusinessstomerIDsmallintoviderIDsmallintPartIDSmallint,Priceint,tityintCONSTRAINTPK_BUSINEssPRIMARYKEYDCuscomerIDProviderIDPartIDSINESSCUSTOMERIDustomerIDFERENCESCustomerIDSINESSPROVIDERlDroviderIDFERENCESProviderIDNNFKBUSINESSPARTIDFOREIGNKEY(PartID)EFERENCESPartIDINSERTINTOProvider(Name,password,根据这个ID采查询和修改供应商的数据。erDELETEProviderWHERE(ID=#ID);teUPdateProviderntroWHERE(ID=#ID);supplyitem#Quantily);etesupplyitemESupPlyEREPartlDPartIDProvideID=#ProviderlD);atesupplyitemUPDATESupplySETPrice#PriceantityEREPartlDPartIDoviderIDProviderID很明显,系统并没有提供面向供应商修改零件信息的接口,所以供应商提供的零件必须已经在零件表中存在;可以这祥假设,交易所的管理员负责更新零件信息,而供应商可以向交易所申请增加某种零件的信息.事实上顾客也可以提出这样的要求。据这个ID来查询和修改顾客的数据.erETECustomerWHERE<ID=#ID);teUPDATECustomerSet(Name=#Name,WHERE(1D=#ID);OfferToBuyitemINSERTINTOOfferToBuy(PartID,CustomeriD,eteOfferToBuyitermOfferToBuyWHEREPartlDPartlDANDustomerlDCustomerIDmUPDATEOfferToBuyntityEREPartlDPartIDustomerID针对需求分析中提出的问题,我们提出了“协议书”的解决方案,方案的说明如下:(1)每个交易在达成以前都作为协议书保存在数据库中,协议书具有和交易一样的完备信息,可以在条件成熟的情况下转为一个达成的交易;(2)协议书只有在供应商和顾客都签字的情况下才就生效,表明一个交易的达成,数据库中的数据将同时予以修改;(3)协议书可以由供应商、顾客或者交易员中的任意一个人提出申请。当协议书在双方没有都签字前,是,由交易员进行处理;(4)协议书有可能在转成交易的过程中失败,因为在交易达成以前,数据库中的数据有可能因为其他交易而变化,一个协议书可能失效,这是允许的。根据以上分析,对数据库的模型作一些修改,增加协议书表,其关系模式如下:对应的SQL描述为:BLEreementCustomermsmallint,PartlDsmallint,Priceint,Quantityint,CustomerSignint,erSignPK_AGREEMENTPRIMARYKEYFK_AGREEMENT_CUSTOMERIDFOREIGNustomerIDREFERENCESCustomer(ID),CONSTRAINTFK_AGREEMENT_PROVlDERIDFOREIGNEYProviderIDREFERENCESProvider(ID),FKAGREEMENTPARTIDFOREIGNKEY(PartID)RENCESPartID与上述其他操作相比,对交易的操作对数据完整性要求比较高,其中需要注意的地方是;顾客)的数据因两个交易而同时修改;nt持这些修改的原子性;很显然,这些要求正是对于一个事务(transaction)的要求,所以可以用一个事务来完成签发一个协议的操作。事务的描述如下:GREEMENTxproviderIDint,xcustomeridint,xpartlDintEVARCHARTransNamePassAgreementsNameTIONsNameDEClARExpriceINT,qUANTITYintquantityquantityFROMAgreementEprIVIderID=xproviderIDANDerIDxcustomerIDANDPanIDxpartIDRTINTOUPDATESupplySETantityxquantityEProviderIDxprividerIDANDpartIDxpartIDIF(SELECTquantityFROMEProideridxproviderANDpartID=xPartID)<0LBACKTlONxTranSNameDELETEFROMSupplyEREquantityUPDATEOfferToBuySETanttityxquantityEDxcustomeridANDpartlDxpartIDIF(SELECTquandtityFROMEerIDxCustomerIDANDpartIDxpartlDLBACKsNameEyWHEREquantitysName为了使用方便,这里定义了一个存贮过程;功能是greementtBusinessOfferTOBUY项,更加重要的是,这里考虑到了非法的Agreement的情况,在一段时间后,由于供应商或把这个事务废除,所以,这里检查了Supply表和OfferToBuy表中的数据,确保数据仍然正确。另外交易员,或者说交易所必须承担的一项任务没有给予他们修改零件列表的权利,所以他们必须根据数据库中已有的项更新自己的供求信息。由于这个数据库实际上更加偏重于模型化,而不是一个实际环境中的数据库,所以在实现应用模型的时候我们还需要对这个数据库的模型作一些修改。Transact-SQL的语法,因此以上的数据库操作都是在SQLSERVER2000上测试通过的。(1.实验方案设计2.测试,查找错误校正错误,检查是) (1)输入数据设计:1)插入零件信息;----1ected2)插入供应商信息:hing---1ected3)插入顾客信息:ustomerwherename---1ted4)插入供应商供应信息:5)插入顾客需求信息:6)插入协议信息:insertintoAgreement(CustomerID,ProviderID, (2)执行交易操作设计:1)执行交易存储过程PASS_AGREEMENT,参(后面的三个参数分别对应前面选择出的供应商2)结果:显示交易后供应信息和需求信息:erlD----ectedselectQuantityfromOfferToBuywherePartlD=landCustomerID;-----ected3)分析结果:首先,保存在Supply表中1D为1的零件供应量为100(参见Supply表的Insert语句),保存在交易成功。4)再次执行交易操作:eletefromBusinessMicrosoftSQLServerScripting*//*Server:7523TEACHER*//*Database:商品交易系统*//*CreationDate02-10-一八9:46:43*/TETABLEdbocustomer[id][smallint]IDENTITY(1,1)NOTNULL,LLLALTERTABLE[dbo].[customer]HNOCHECKADDCONSTRAINT[PK_customer]PRIMARYEYCLUSTERED(ONPRIMARYTETABLEdbopart[id][smallint]IDENTITY(1,1)NOTNULL,LLghtintNULLALTERTABLE[dbo].[part]WITHNOCHECKADDCONSTRAINT[PK_part]RIMARYKEYCLUSTERED(ONPRIMARYTETABLEdboprovider[id][smallint]IDENTITY(1,1)NOTNULL,LLTNULLLALTERTABLEHNOCHECKADDrMARYKEY(ONPRIMARYETABLEdbosupplyNULLLTETABLEdbobussinessstomerIDsmallintNOTNULLNULLLCREATETABLE[dbo].[offertobuy](NULLicesmallintNULLLALTERTABLE[dbo].[bussiness]HNOCHECKADDCONSTRAINT[PK_bussiness]RIMARYKEYCLUSTERED(ONPRIMARYALTERTABLE[dbo].[offertobuy]WITHNOCHECKADDCONSTRAINT[PK_offertobuy]RIMARYKEYCLUSTERED(ONPRIMARYALTERTABLE[dbo].[supply]HNOCHECKADDCONSTRAINT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论