数据库课程设计报告书汽车修理管理系统.docx
《数据库课程设计报告书汽车修理管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告书汽车修理管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告书汽车修理管理系统数据库课程设计报告书汽车修理管理系统软件学院课程设计报告书课程名称设计题目专业班级学号姓名指导教师21年月1设计时间22设计目的23设计任务24设计内容24.1需求分析4.2系统设计3.2.1概念结构设计3.22逻辑结构设计54物理结构设计43系统实施74.3数据库实现74.3.2数据载入944运行与测试1.1运行与测试114.2分析125总结与展望参考文献14成绩评定41设计时间213年月年月16日日23年年6月月2日日2设计目的设计目的本次设计的目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
3设计任务设计任务汽车修理管理系统。
功能要求:
(1)数据登记把各种手填单据中的数据及时登记到系统中、并要求能进行修改。
这些单据包括修车登记单、汽车修理单、零件入库单、零件出库单。
(2)查询能查询登记单、修理单、汽车、车主、修理公、零件库存的有关数据。
(3)编制并显示零件订货计划月报表。
(4)发票发票中包括顾客姓名、汽车牌号、修理项目、修车费(=修理费+零件费)。
零件费=(零件价格耗用数量)修理费小时工资修理小时3()统计修理工工资月报表某修理工的月工资=(小时工资)修理小时设计内容设计内容.1需求分析
(1)用户需要将手填的数据单及时登记到系统中()用户需要的数据单有修车登记单、汽车修理单、零件入库单、零件出库单(3)用户需要登记后可以对表单进行查询、编制(4)用户需要显示零件计划月报表()用户需要给顾客打印发票4.系统设计系统设计4.2.1概念结构设计做概念结构设计就要用到E图。
E图即是“实体-联系方法”(Entity-RelationsiAroah)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩矩形框内写明实体名;用椭椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(:
1:
n或m:
)。
其中:
实体型(Entity):
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名。
属性(ttribute):
实体所具有的某一特性,一个实体可由若干个属性来刻画。
在E-图中用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系(Rltionhp):
联系也称关系,信息世界中反映实体内部或实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1:
n或m:
n)。
下面给出本次设计所需要的各部分的-图。
()这里给定实体“车”的属性有:
车型、车牌号、车主、登记时间和车标。
则关于修车登记的E-R图如下图所示:
图4.修车登记单E-R图()这里给定实体“车”的属性有:
修理项目、修理人、车牌号、修车费和修理时间。
则关于汽车修理的R图如下图所示:
图4.2汽车修理单E-R图(3)这里给定实体“零件”的属性有:
型号、名称、出库数量、库内数量和价格。
则关于零件出库的ER图如下图所示:
图4.3零件出库ER图(4)这里给定实体“零件”的属性有:
型号、名称、提供商、入库数量、库内数量和价格。
关于零件入库的-R图如下图所示:
图.零件入库ER图()这里给定实体“修理工”的属性有:
姓名、编号、身份证号、性别和电话。
则关于修理工的E-R图如下图所示:
图4.5修理工E-R图(6)根据上面各实体的联系,可得出实体间的关系。
则总ER图如下图所示:
图4.6各实体间总-R图4.2逻辑结构设计数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本-R图转换为与选用的BMS产品所支持的数据模型相符合的逻辑结构。
根据1.1中的概念结构设计可以给出下面逻辑结构的设计。
()DJD(车牌号,车型,车主,车标,登记时间)
(2)XL(修理单编号,车牌号,修理项目,修理费,修理时间,修理人)(3)JRK(名称,型号,入库数量,库内总量,价格,提供商)(4)JCK(名称,型号,入库数量,库内总量,价格,)(5)G(编号,姓名,性别,身份证号,电话)(6)P(发票编号,修理单编号,修理项目,车主,修理费,开票员,发票日期)4.2.3物理结构设计根据.2.2中的逻辑结构设计,可以写出一下物理结构设计的各表。
表用户信息(y)列名数据类型可否为空说明YHMcharNotnull(主键)用户名MMcharNotnull密码表汽车登记单信息(J)列名数据类型可否为空说明CPHcharNotnull(主键)车牌号CXcharnull车型CZcharNotnull车主CBcharnull车标DJSJDateNotnull登记时间表3汽车修理单信息(X)列名数据类型可否为空说明CPHcharNotnull(外键)车牌号CXcharnull车型CZcharNotnull车主CBcharnull车标XLSJDateNotnull修理时间XLGBHcharnull(外键)修理工编号XLDBHcharNotnull(主键)修理单编号XLYScharNotnull修理用时表零件入库单信息(LK)列名数据类型可否为空说明MCcharNotnull名称XHcharNotnull(主键)型号RKSLintNotnull入库数量KNZLintNull库内总量JGcharNull价格TGScharNull提供商表5零件出库单信息(LJCK)列名数据类型可否为空说明MCcharnull名称XHcharNotnull(主键)型号CKSLintnull库存数量KNZLintnull库内总量JGcharnull价格XLDBHcharNotnull(外键)修理单编号表修理工信息(XL)列名数据类型可否为空说明BHcharNotnull(主键)编号XMcharnull姓名XBcharnull性别SFZHcharnull身份证号DHcharnull电话表7发票信息表(F)列名数据类型可否为空说明FPBHcharNotnull(主键)发票编号XLDBHcharNotnull(外键)修理单编号XLXMcharnull修理项目CZcharNotnull车主XLFcharNotnull修理费KPYcharNotnull开票员KPRQDatenull开票日期43系统实施系统实施43.1数据库实现()创建用户表EAETABLEH(SYZVACHAR(30),MMVACHA(3)
(2)创建汽车修登记单表CREATETABLJD(CVARCHAR(0)PRMKEY,CXVARCHAR(30),ZVACAR(0),CBVARCHAR(30),DVARA(0))()创建汽车修理单表REAEABLELD(CPACHR(3),CVARCHAR(30),CZVRCH(30),BARAR(30),XJVARCHAR(3),XVARC(30),DHVARCHA(30)PRMAY,XLSVARCHR(30)FEGNKEY(CP)REFERENCESXLD(XLDBH)(4)创建零件入库表CREATBLELRK(MCVARA(0),XVCHAR(0)PRIARYE,KLN,KNZLI,JGVARCHR(0),TGRHAR(3),)()创建零件出库表CRATETABELJC(MVARHAR(30),HARCHAR(30)PRARKE,KSLINT,KSLINT,JGVACHA(30),LDHVARCAR(30)FEIGEY(XDBH)REFRENCXL(XLDBH))()创建修理工表RAETABLXLG(BHVARCHA(30)PRIMARYKEY,XVARCAR(0),XBVRHR(30),FZHVARAR(0),HVARCHAR(3)(7)创建发票表CRETETBLEF(PBHVRA(30)PRIMARKY,XDBHVARCAR(30),LMARCR(30),CZVARC(30),XVARHR(0),KPVHAR(30),KPRQVACHR(0),FORIGNKY(XLDH)RFERCESXLD(LDB)4.2数据载入
(1)用户数据在建立的数据库中的用户表中存入的信息,其中包括用户名和密码,如下图所示:
图.7用户表数据载入
(2)汽车登记单数据在建立的数据库中的登记单表中存入信息,其中包括车牌号、车型、车主、车标和登记时间,如下图所示:
图.8汽车登记单数据载入(3)汽车修理单在建立的数据库中的修理单表中存入信息,其中包括车牌号、车型、车主、车标、修理时间、修理工编号、修理单编号和修理用时,如下图所示:
图4.9修理单数据载入(4)零件入库单在建立的数据库中的零件入库单表中存入信息,其中包括名称、型号、入库数量、库内数量、价格和提供商,如下图所示:
图.1零件入库单数据载入()零件出库单在建立的数据库中的零件出库单表中存入信息,其中包括名称、型号、出库数量、价格、修理单编号和修理工编号,如下图所示:
图411零件出库单数据载入(6)修理工单在建立的数据库中的修理工单表中存入信息,其中包括编号、姓名、性别、身份证号和电话,如下图所示:
图4.2修理工单数据载入(7)发票单在建立的数据库中的发票单表中存入信息,其中包括发票编号、修理单编号、修理项目、车主、修理费、开票员和开票日期,如下图所示:
图1发票单数据载入4.4运行与测试运行与测试针对前面设计任务和需求分析中对软件的要求,对软件做简单的测试,验证软件是否可以达到设计要求和用户需求。
4.41运行与测试下面对软件做简单的运行以测试其是否能够正常运行及满足用户需求。
(1)登记单查询利用SQL语句检索表,检查数据库的功能。
下图给出检索登记单的状况。
SELCT*ROMDJD;图4.1软件测试例图检索登记单()发票单查询利用SQ语句检索表,检车数据库的功能。
下图给出的是检索发票单的状况。
SLEC*FROMFP;图4.15软件测试例图检索发票单(3)建立视图利用SQL语句建立视图,查看软件是否可以完成此功能。
下图给出建立视图的状况。
CRATEVIE(X,RKL,KL,KNZ)ASSLCRKS,KNZ,CKL,LCKXHFROLJRK,JWHEREJRK.XH=JCK.XH图16软件测试例图建立视图4.4.2分析通过上述测试,可以看出该数据库完全实现了设计任务中的要求和需求分析中的功能,但是还是存在一些小的问题,这些问题目前还没有得到解决,所以该数据库还是需要改进的。
目前存在的问题有以下几点:
(1)首先遇到的是定义字长的问题,在建表时由于定义的字长太小,在输入数据时导致出现错误。
(2)在逻辑设计中,一些实体缺少属性,使所要的表单不够细节化。
总结与展望总结与展望在此次课程设计中,我增强了对数据库应用方面的理解,对自己今后参与开发数据库系统积累了经验,从需求分析,到概念设计和逻辑设计,-R图的表示,数据字典的创建,懂得了有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,增强了自己在数据库中应用SQL语言的灵活性,其中包括查询、牵涉表和表之间的联系,主键与外键的定义,约束项的设置,使逻辑更严密,在整个学习与设计过程中,自我创新,从学到用,不断修改,同时加强了自己理论知识的学习与理解,又对完善系统设计会有很多大帮助。
希望在以后相关的设计中,能更加熟练与稳重。
参考文献参考文献1王珊,萨师煊.数据库系统概论(第4版),北京:
高等教育出版社,200成绩评定成绩评定成绩教师签字