1、信息工程学院数据库原理与应用课程设计论文题目:音响店VC储售出租管理系统学号:1212210225专业班级:计12本2姓名:刘康指导老师:尚佩妮完成日期:2014-12-28目录目录1弓I言12需求分析阶段22.1弓I言22.2需求分析阶段的目标与任务22.2.1处理对象22.2.2处理功能及要求32.2.3安全性与完整性要求32.3需求分析阶段成果32.3.1体会与收获42.3.2音像店VCDf理系统数据流图42.3.4音像店VCDf理系统数据字典43概念设计阶段73.1弓I言73.2任务与目标73.3阶段结果74逻辑结构设计94.1
2、逻辑设计的任务和目标94.2数据组织94.2.1将E-R图转换为关系模式94.2.2模式优化104.2.3数据库模式定义104.3数据处理115物理结构设计125.1物理设计阶段的目标与任务125.2数据存储方面126数据库实施阶段131.1建立数据库、数据表、视图、索引131.1.1建立数据库131.1.2建立数据表131.1.3建立视图151.1.4建立索引161.1.5建立触发器161.2数据入库181.3创建各个功能的存储过程197.系统调试和测试198.实习心得20附录1存储过程定义21附录2数据查看和存储
4、的繁杂的手工操作计算环节,可大大提高工作效率。在互联网发展和服务效率至上的今天,各种重复的操作都可以交给计算机实现,既能学习先进的管理经验,有可以提高工作效率。所以对于VCD这个传统的行业来说,确实需要编写一个系统去代替人力完成工作。本文从VCD出租/销售系统的开发为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。采用结构化的功能模块设计系统功能,可读性好,易于扩充。基本功能全面,系统可读性好,易于维护、更新,安全性好。关键词:VCDI肖售;VCQB租;VCDt理数据库原理与应用课
6、D零售/出租管理系统帮助商家提高效率,降低经营成本,优化资源配置,从而实现商品的最大利益化。72需求分析阶段2.1引言进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。如今又许多的VCD!肖售商,最初购买的人数较少,手工管理还能应付,但是随着VCD!求人数的增多,传统的手工方式已远远不能满足商家的需求,就需要新的销售/出租系统去做。需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您
14、Hmoney,HstateDS-5SaleVC跳肖售UserID,Vid,Stime,Smount3概念设计阶段3.1引言系统开发的总体目标是实现VCDI肖售商在VCDI肖售/出租方面的自动化,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高VCDS售/出租管理效率的目的。主要任务是对用户信息、VCDe息VCD出租信息、VC承肖售信息的基本信息的操作及外理。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。3.2任务与目标(1)选择第二层数据流为切入点,通常选择实
15、际系统中的子系统;(2)设计生成初步分E-R图,通过合并方法,做到各实体、属性、联系统一(4)生成全局E-R图,通过消除冲突等方面。在本VCDI肖售/出租管理系统中,从第2层数据流程图下手。分析数据流图和数据字典,知道整个系统功能围绕“用户”和“VCD的处理。根据实体与属性间的两条准则:生成各个分E-R图:从而合并成总E-R图:。3.3阶段结果(1)a.VCD信息与VC婪型之间的关系:数据库原理与应用课程设计报告图3.1分E-R图b.用户与VCD言息出租之间的关系:VCD言息图3.2分E-R图用户C.用户与VCDJ息销售之间的关系:VCD言息、n图3.3分E-R图(2)基本E-R图
16、用户VCD信息VCD类型图3,.4总E-R图E-R图的各实体属性如下所示:用户:User(UserID,UserSex,UserTel,UserNum)VC联型:Type(Vtype,Tname)VCDtidffi:Hire(Vid,UserID,Hid,Hamount,Htime,Hre,Hmoney,Hstate)VCDi肖售:Sale(UserID,Vid,Stime,Smount);4逻辑结构设计4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS"品发生关系了,系统逻辑设计的任务就是将概
17、念设计阶段设计好的基本E-R图转换为选用DBMS"品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数据组织4.2.1将E-R图转换为关系模式实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个mn联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如
18、果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具体的基本E-R图向关系模型的转化如下:用户:User(UserID,UserSex,UserTel,UserNum)VCDB息VCD(Vid,Vtype,Vname,Vdirector,Vact,Vdata,Vamoun
23、tedatabaseManagerVCD;1.1.2建立数据表(1)用户信息表:CreatetableUser(UserIDchar(10)primarykey,UserSexchar(2)notnull,UserTelchar(11)notnull,UserNumchar(18)notnull,);(2)VCDB息表CreatetableVCD(Vidchar(10)primarykey,Vnamechar(30)notnull,Vtypechar(20)notnull,Vdirectorchar(20),Vactchar(20)
24、,Vdatedate,Vamountintnotnull,Vformchar(5)notnull,)(3)VC婪型表CreatetableType(Vtypechar(20)primarykey;Tnamechar(20)notnull,)(4)VC加租表CreatetableHire(Hidchar(5)primarykey,Vidchar(10)notnull,Hamountchar(5),Htimedate,Hredate,Hmoneyint,Hstatechar(2)notnull,UserIDchar(9)notn
25、ull,)(5)VC阴售表CreatetableSale(UserIDchar(9)primarykey,Vidchar(10)primarykey,Samountchar(5)notnull,Stimedate,)外键约束通过MySQ皑句进行添加(附录2)。1.1.3建立视图(1)建立用户视图:Createviewuser_viewasSelect*fromUser(2)建立用户查询VCDffl图;Createviewuser_QueryASselectVCD.Vid,Type.Tname,VCD.Vname,VCD.Vamountfr
26、omVCD,TypewhereVCD.Vtype=Type.Vtype;(3)管理员查询用户视图(a):CreateViewManager_HAsSelectVCD.Vid,Hire.HamountFromVCD,HireWhereVCD.Vid=Hire.Vid(4)管理员查询用户视图(b):CreateViewManager_SAsSelectVCD.Vid,Sale.SamountFromVCD,SaleWhereVCD.Vid=Sale.Vid1.1.4建立索引Createuniqueindexuser_idonUser(
27、UserlD)Createuniqueindexvcd_idonVCD(Vid)CreateclusterindexVCD_indexonVCD(Vname)CreateclusterindexType_indexonType(Tname)1.1.5建立触发器(1)当删除Hire表中的一条出租记录时,触发delimiter$createtriggert_vcd_hire_deleteafterdeleteonhireforeachrowbeginupdatevcdsetvamount=vamount-old.hamountwhere
28、vcd.Vid=old.vid;end$delimiter;(2)当在Hire表中增加一条出租记录时,触发delimiter$createtriggert_vcd_hire_insertbeforeinsertonhireforeachrowbeginupdatevcdVCDS,更新相应记录VCD更新相应记录setvamount=vamount-new.hamountwherevcd.Vid=new.vid;end$delimiter;(3)当更新Hire表中的一条出租记录,触发VCDft,更新相应的记录delimiter$createtri
29、ggert_vcd_hire_updateafterupdateonhireforeachrowbeginupdatevcdsetvamount=vamount-new.hamountwherevcd.Vid=new.vid;end$delimiter;(4)当删除Sale表中的一条销售记录时,触发VCDS,更新相应的记录delimiter$createtriggert_vcd_sale_deleteafterdeleteonsaleforeachrowbeginupdatevcdsetvamount=vamount-old.sa
30、mountwherevcd.Vid=old.vid;end$delimiter;(5)当在Sale表中增加一条销售记录时,触发VCDS,更新相应的记录delimiter$createtriggert_vcd_sale_insertafterinsertonsaleforeachrowbeginupdatevcdsetvamount=vamount-new.samountwherevcd.Vid=new.vid;end$delimiter;(6)当Sale表更新一条销售记录时,触发VCDS,更新相应的记录delimiter$createt
31、riggert_vcd_sale_updateafterupdateonsaleforeachrowbeginupdatevcdsetvamount=vamount-new.samountwherevcd.Vid=new.vid;end$delimiter;1.2数据入库系统包括VC训户信息管理、VCD出租信息管理、VCDI肖售信息管理、VCDW息管理等几个功能模块,共有5张基本表,直接用MySQLS立这5张基本表,并将数据导入到相应的基本表中。1.3创建各个功能的存储过程系统共创建了12个存储过程,具体列表如下:表3.1创建的存储过程列表编R存储过程
32、名称定义P-1VCD_insert详见附录1-3在VCD中插入一个元组P-2User_insert详见附录1-1在User中插入一个元组P-3Type_insert详见附录1-2在Type中插入一个元组P-4User_delete详见附录1-4在User中删除一个元组P-5VCD_delete详见附录1-5从VCD中删除一个元组P-6Type_delete详见附录1-6从Type中删除一个元组P-7Query_User详见附录1-7用户在User中查询本人信息P-8Query_User_All详见附录1-8管理员在User中查询全部读者P-9Query_User_S详见附录1-9用户查询自己的
33、VCD购买情况P-10Query_User_H详见附录1-10用户查询自己的VCD购买情况P-11Hire_insert详见附录1-11在Hire表中增加一条出租元组P-12Sale_insert详见附录1-12在Sale表中增加一条销售元组7.系统调试和测试对该图书管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:(1)通过视图查看各个基本表和视图中的数据(见附录2)(2)检测各个存储过程的功能:(见附录2)8.实习心得1.这次课程设计使我对数据库知识应用有了进一步认识,通过自己寻找各个资料,在纸上开始做需求分析,画数据流图,以及数据库的概念、逻辑、物理结构设计,让后边
36、nsert(inidchar(9),insexchar(2),inTelchar(11),innumchar(18)begininsertintouser(userid,usersex,usertel,usernum)values(id,sex,tel,num);end$delimiter;2.Type_insert的定义:delimiter$createprocedureType_insert(intypechar(20),innamechar(20)begininsertintoType(Vtype,Tname)values(t
37、ype,name);end$delimiter;3.VCD_insert的定义:delimiter$createprocedureVCD_insert(inidchar(10),intypechar(20),innamechar(30),indirectorchar(20)inactchar(20),indatedate,inamountint,informchar(5)begininsertintoVCD(Vid,Vtype,Vname,Vdirector,Vact,Vdate,Vamount,Vform)values(id,type,n
38、ame,director,act,date,amount,form);end$delimiter;4.User_delete的定义:delimiter$createprocedureUser_delete(inidchar(9)begindeletefromuserwhereuser.userid=id;end$delimiter;5.VCD_delete的定义:delimiter$createprocedureUser_delete(inidchar(10)begindeletefromVCDwhereVCD.vid=id;enddel
39、imiter;6.Type_delete的定义:delimiter$createprocedureType_delete(intypechar(20)begindeletefromTypewhereType.Vtype=type;enddelimiter;7.Query_User的定义delimiter$createprocedureQuery_User(inidchar(9)beginselect*fromUserwhereid=user.userid;end$delimiter;8.Query_User_All的定义:deli
40、miter$createprocedureQuery_User_All()beginselect*fromUser;end$delimiter;9.Query_User_S的定义:delimiter$createprocedureQuery_User_S(inidchar(9)beginselectuser.userid,vcd.Vname,sale.Samountfromuser,sale,vcdwhereid=user.useridandid=sale.UserlDandvcd.Vid=sale.Vid;数据库原理与应用课程设计报告en
41、d$delimiter;10.Query_User_H的定义:delimiter$createprocedureQuery_User_H(inidchar(9)beginselectuser.userid,vcd.Vname,Hire.Hamountfromuser,Hire,vcdwhereid=user.useridandid=Hire.UserIDandvcd.Vid=Hire.Vid;end$delimiter;11.Hire_insert的定义:delimiter$createprocedureHire_insert(inv_i
42、dchar(10),inh_idchar(5),inamountchar(5),intimedate,inredate,inmoneyint,instatechar(2),inu_idchar(9)beginvalues(v_id,hjd,amount,time,re,money,state,u_id);end$delimiter;12.Sale_insert的定义:delimiter$createprocedureSale_insert(inv_idchar(10),inu_idchar(9),intimedate,inamount
46、iu/配mriiisimn/Hid|vjdHanxxrt|nt)nneKe1HmoneyHtateUserIDOCOOl000000000252014-09-1020*0910是00000000100002000000000412014-07-2020L+122是000000002000030000000004102014-10-1220H-U1是000000001000040000000009302014-01-012014-105是000000004000050000000003112014-02-Q92014125是0000000100000600000000033020
47、14-11-060000-00-3是0000000034)查看User(用户信息)表中的信息:COOMCOOl000000002000000003000000004000000005000000006oootwaoo0001X10003000000003000000010UserTel里男女男男女女女再女19856752309L870S31397519031314312157312421311094414252117841415145LfeerNun6105341980K1145677681
48、201991102017S33103913209234324142423421475827B12469435243113012842525425363256935242214215325143632452司21521412541*45647英#2352声工*6百36905157139471351415)查看Sale(VCD销售)表中的信息:口导入向导田内导出向导因必端检向导网格视图目表单视图备注福十六进位图像Vid|UserIDStime5anxunt0W0W0W1ooooocooi201J-O841200WOWOOD2OOQOK0012013-09428O
49、KOWO0O5000000002201440-0110000000000700000000520144041s0000000011ooooooow2014-01-0950000000009000000003201440-303000000000030000000042013-10-1186)用户查询VCDB图:VidTnameVnameVamount10000000002恐怖片信隐行为11Dj0000000008恐怖片异蟒狂装1790000000009恐怖片校园诡异事件100jpoooooooio恐怖片天地玄门63OOCOOOQOQl直剧片前出爰之寺宝箧乓1000000000003有剧片三