还剩24页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据库课程设计(汽车修理信息管理系统)设计者陈兵.栾洪乐__老师钱洁.薛昌春设计时间
2013.
1.14-
3.设计内容
(一)需求分析1数据登记把各种手填单据中的数据及时登记到系统中、并要求能进行修改这些单据包括修车登单、汽车修理单、零件入库单、零件出库单2查询能查询登记单、修理单、汽车、车主、修理公、零件库存的有关数据3编制并显示零件订货计划月报表4____中包括顾客姓名、汽车牌号、修理项目、修车费=修理费+零件费零件费=∑零件__×耗用数量修理费=小时工资×修理小时×35统计修理工工资月报表某修理工的月工资=∑小时工资×修理小时二系统设计1概念结构设计E-R图是分为两部分实体和属性概念结构设计就是从现实概念中抽象出概念模型,即对信息世界建模,所以概念模型应该能方便,准确的表示信息世界中的常用概念概念模型的表示方法以实体--__为主,在该方法中,实体型用矩形表示,矩形框内写明实体名,,属性用椭圆表示,并用无向边将其与相应的实体连接起来,__用菱形表示,菱形框内写明__名,并用无向边与有关实体连接起来,同时在无向边旁边标上__的类型3-
2.局部E-R图陈兵17:33:55数据库物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计数据库物理设计主要分为两个步骤
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率;如果评价结果满足原设计要求,则可以进入到屋里实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑结构设计阶段修改数据模型每个实体可以有多个属性,这些属性用来表示实体的性质不同实体之间可以用关系进行连接,表明各个实体之间的内在__实体和实体之间的关系有一对一的关系1;1一对多的关系1:N和多对多的关系N:M分E-R图及各个实体之间的关系如下图所示仓2逻辑结构设计数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据模型的过程从此开始便进入了“实现设计”阶段需要考虑到具体的DBMS的性能、具体的数据模型特点从E-R图所表示的概念模型可以转换成任何一种具体的DBMS所支持的数据模型如网状模型、层次模型和关系模型这里只讨论关系数据库的逻辑设计问题,所以只介绍E-R图如何向关系模型进行转换关系模型的逻辑结构是一组关系模式的__E-R图则是由实体实体的属性和实体间的__三个要素组成所以将E-R图转换为关系模型实际上就是要将实体实体的属性和实体间的__转换为关系模式转换原则如下
1.实体类型的转换:一个实体型转换成一个关系模式实体的属性就是关系的属性实体的码就是关系的码
2.__类型的转换根据不同的情况做不同的处理
(1)一个11的__可以转换为一个__的关系模式,也可以与任意一端对应的关系模式合并如果转换为一个__的关系模式,则与该__相连的各实体的码以及__本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码如果与某一端实体对应的关系模式合并则需要在该关系模式的属性中加入另一个关系模式的码和__本身的属性
(2)一个N的__可以转换为一个__的关系模式也可以与N端对应的关系模式合并如果转换为一个__的关系模式则与该__相连的各实体的码以及__本身的属性均转换为关系的属性而关系的码为N端实体的码
(3)一个MN__转换为一个关系模式与该__相连的各实体的码为各实体码的组合(4三个或三个以上实体间的一个多元__可以转换为一个关系模式与该多元__相连的各实休的码以及__本身的属性均转换为关系的属性而关系的码为各实体码的组合5具有相同码的关系模式可合并
3.根据上述管理系统的E-R图转换为关系模型如下将每一个实体转换成一个关系,关系就是给出关系名,属性就是实体属性,并标明该关系的主键用下划线来表示根据E-R图转换为关系模式,关系的码用下横线标出客户(客户编号姓名__车牌号车型)修理单(修理单号客户编号修理项目修理工零件名称使用数量)修理工(修理工号零件名称姓名__工资)零件(编号零件名称库存最低库存单价)仓库表(编号采购商修理工号___入库时间出库时间零件名称)工作台(编号修理工号修理车型)业务部(编号修理单号接待时间接待业务)售后服务编号客户编号项目负责人__(车牌号编号客户编号)
4.物理结构设计基本表的建立客户表修理单表修理工表零件表仓库表工作台表业务部表售后服务表__
4.运行测试客户表修理单表修理工表零件表仓库表工作台表业务部表售后服务表__表视图建立视图是虚表,是从一个或几个基本表(或视图)中导出的表,在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式可以将视图看成是一个__的窗口,通过它可以看到感兴趣的数据视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中那些用于产生视图的表叫做该视图的基表一个视图也可以从另一个视图中产生视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中通过视图看到的数据存放在基表中视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数据的改变也会自动反映在由基表产生的视图中由于逻辑上的原因,有些视图可以修改对应的基表,而有些则不能(仅仅能查询)__视图修理工视图视图运行结果__运行修理工运行索引建立创建索引可以大大提高系统的性能第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能创建索引可以大大提高系统的性能通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性可以大大加快数据的检索速度,这也是创建索引的最主要的原因可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能__修理工索引查询__修理工触发器的建立触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由__来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行触发器经常用于加强数据的完整性约束和业务规则等触发器可以从DBA_TRIGGERS,USER_TRIGGERS数据字典中查到__修理工触发器效果__修理工存储过程__调用存储过程实验总结一个星期的时间非常快就过去了,这一个星期不敢说自己有多大的进步,获得了多少知识,此次课程设计对我们来说是一次不小的挑战,但起码是了解了项目__的部分过程虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节这次实习证实提供了一个很好的机会通过本次课程设计,我们对数据库这门课程有了更加深刻的理解,发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计亲身体验了一回系统的设计__过程设计的初期,在对数据库系统的分析、设计中,碰到很多概念上很模糊的问题,通过老师的指点以及查阅相关资料,问题得到了解决,设计工作也顺利进行很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰但真正需要自己想办法去设计一个系统的时候才发现其中的难度经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着__,这是作为设计__人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来所以以后的课程设计要特别注意这一块的设计按照要求,我们做的是汽车维修系统说实话,我对这个是一无所知的,没有去汽修厂维修过汽车,也不知道汽车维修是怎么一个流程盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处没有前期的调查,仅从指导书上那几条要求着手是不够的在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,汽车维修系统设计出E-R图在一周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易但在数据库的建立过程中我们碰到过好多问题,有些是大家一起讨论可以解决的,但是有些技术问题我们自己很难解决又不能及时请教老师,于是我们就查阅相关书籍和网络资源经过大量的查阅资料,我们终于解决了各种问题,成功完成了课程设计我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置主键约束等最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射数据库的基本结构分三个层次,反映了观察数据库的三种不同角度1物理数据层它是数据库的最内层,是物理存贮设备上实际存储的数据的__这些数据是原始数据,是用户__的对象,由内部模式描述的指令操作处理的位串、字符和字组成2概念数据层它是数据库的中间一层,是数据库的整体逻辑表示指出了每个数据的逻辑定义及数据间的逻辑__,是存贮记录的__它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库___概念下的数据库3逻辑数据层它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据__,即逻辑记录的__数据库不同层次之间的__是通过映射进行转换的主要特点1实现数据共享数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享2减少数据的冗余度同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件减少了大量重复数据,减少了数据冗余,维护了数据的一致性3数据的__性数据的__性包括逻辑__性(数据库中数据库的逻辑结构和应用程序相互__)和物理__性(数据物理结构的变化不影响数据的逻辑结构)4数据实现集中控制文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的__以及数据间的__5数据一致性和可维护性,以确保数据的安全性和可靠性主要包括
①安全性控制以防止数据丢失、错误更新和越权使用;
②完整性控制保证数据的正确性、有效性和相容性;
③并发控制使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用6故障恢复由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误比如对系统的误操作造成的数据错误等 种类数据库通常分为层次式数据库、网络式数据库和关系式数据库三种而不同的数据库是按不同的数据结构来__和__的
1.数据结构模型1数据结构所谓数据结构是指数据的__形式或数据之间的__如果用D表示数据,用R表示数据对象之间存在的关系__,则将DS=D,R称为数据结构例如,设有一个__号码簿,它记录了n个人的名字和相应的__号码为了方便地查找某人的__号码,将人名和号码按字典顺序排列,并在名字的后面跟随着对应的__号码这样,若要查找某人的__号码假定他的名字的第一个字母是Y,那么只须查找以Y开头的那些名字就可以了该例中,数据的__D就是人名和__号码,它们之间的__R就是按字典顺序的排列,其相应的数据结构就是DS=D,R,即一个数组2数据结构种类数据结构又分为数据的逻辑结构和数据的物理结构数据的逻辑结构是从逻辑的角度即数据间的__和__方式来观察数据,分析数据,与数据的存储位置无关数据的物理结构是指数据在计算机中存放的结构,即数据的逻辑结构在计算机中的实现形式,所以物理结构也被称为存储结构这里只研究数据的逻辑结构,并将反映和实现数据__的方法称为数据模型目前,比较流行的数据模型有三种,即按图论理论建立的层次结构模型和网状结构模型以及按关系理论建立的关系结构模型
2.层次、网状和关系数据库系统1层次结构模型层次结构模型实质上是一种有根结点的定向有序树在数学中树被定义为一个无回的连通图下图是一个高等学校的__结构图这个__结构图像一棵树,校部就是树根称为根结点,各系、专业、教师、学生等为枝点称为结点,树根与枝点之间的__称为边,树根与边之比为1:N,即树根只有一个,树枝有N个按照层次模型建立的数据库系统称为层次模型数据库系统,是其典型代表2网状结构模型按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTGDataBaseTaskGroup用数学方法可将网状数据结构转化为层次数据结构3关系结构模型关系式数据结构把一些复杂的数据结构归结为简单的二元关系即二维表格形式例如某单位的职工关系就是一个二元关系由关系数据结构组成的数据库系统被称为关系数据库系统在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理就是这类数据库管理系统的典型代表对于一个实际的应用问题(如人事管理问题),有时需要多个关系才能实现用建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统相应的命令序列文件,称为该数据库的应用系统因此,可以概括地说,一个关系称为一个数据库,若干个数据库可以构成一个数据库系统数据库系统可以派生出各种不同类型的辅助文件和建立它的应用系统不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也是可以的如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位这次课程设计我们不但收获了丰富的知识,而且更加认识到团队成员间齐心合作和遇到问题要不退缩、努力解决的重要性我相信这些收获会使我们终身受益六,____
[1]萨师煊等.数据库系统概论(第四版).高等教育出版社.2006
[2]杨桦等.SQLSerer2000实用教程.清华大学出版社.2007
[3]杜军平.SQLSever2000数据库__[M].机械工业出版社.2001
[4]陆慧娟等.数据库原理与应用.科学出版社.2006
[5]赵松涛.SQLSever2000应用及实例集锦[M].北京北京编号单价库存最低库存零件零件名称车牌号客户编号编号__姓名姓名修理工数量修理项目零件名称修理工修理单登记时间修理项目登记单车型客户客户编号客户编号修理单号__零件名称工资修理工号编号采购行修理工号___仓库表入库时间零件名称出库时间修理工号编号修理车型工作台表接待时间接待业务业务部表编号修理单号客户编号编号车牌号__项目编号售后表负责人客户编号__业务部修理单号车牌号售后客户编号客户客户编号修理单零件名称名称仓库零件零件名称修理工修理工号工作台。