实训1数据库的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实训1:数据库的设计一、实训目的1、了解数据库应用系统设计的流程。2、掌握一种绘制E-R图的工具(如PowerDesigner、Visio、word或RationalRose等)。3、能将E-R图转化为表。4、能应用数据库设计的三大范式对表进行优化。二、实训工具及设备1、实训软件:PowerDesigner(Visio、word或RationalRose等)。2、实训设备:安装Windows系统计算机一台。三、实训预备知识1、数据库应用系统开发流程开发一个数据库应用系统,通常需要经过如下的阶段:阶段1:需求分析。获得客户的业务和数据处理要求。阶段2:概念设计。概念设计是整个数据库设计的关键,它通过对用户的需求进行综合分析,形成一个独立于具体DBMS的概念模型,如E-R图。阶段3:逻辑设计。逻辑设计是将概念设计阶段得出的概念模型转换为某个DBMS所支持的数据模型,并以关系数据库理论为指导,对其进行优化。例如将E-R图转化为多张表,每张表由那些属性组成,有那些约束条件,确认各表的主外键,并应用数据库设计的三大范式对各表进行优化。阶段4:物理设计。为逻辑阶段得出的数据模型选择一个适合于它的具体数据库应用环境(如SQLSERVER或Oracle等)进行物理实现,包括创建数据库、创建表、添加约束和存储过程等。阶段5:选择数据库访问技术。选择适合应用的数据库访问技术。如ADO、ODBC等。阶段6:代码设计。设计数据库应用系统的结构,并编写源代码。阶段7:测试与调试。发现设计中的问题并及时更改,直到系统能稳定地运行。阶段8:发行应用软件。本实训中的数据库应用系统开发实例都是按照上述步骤进行的,现在,我们共同讨论在需求分析阶段的设计步骤。2、需求分析需求分析是数据库应用系统设计工作至关重要的一个步骤,不论我们设计的如何好,代码编写的如何高效,没有很好的需求分析,只能给客户带来失望,给开发者造成很大的麻烦。在数据库应用系统中,对数据库的设计是至关重要的一步。无论数据库的大小和复杂度如何,在对数据库进行需求分析时,可以参考下列基本步骤。收集信息;标识对象;标识对象的属性;标识对象间的关系。(1)收集信息在创建数据库之前,必须充分理解数据库应用系统需要完成的任务和功能。我们以一个小型的选课系统为例,该系统主要由基本信息维护、学生选课、成绩管理和用户管理等4部分组成。基本信息维护:主要维护学生、系部、课程等方面的基本信息;成绩管理:主要维护学生成绩等方面的基本信息;学生选课:为学生提供选课界面。该界面列出所有的课程信息供学生查询和选课等;用户管理:主要维护用户方面的基本信息,如分配权限等。(2)标识对象在收集完信息后,必须找出数据库中要管理的关键对象或实体。对象可以是有形的事物,如人或产品;也可以是无形的事物,如系部、课程和成绩。在选课系统中我们可以抽取出如下对象:用户:负责维护选课系统信息的管理员;学生:主要对课程进行查询和选择;系部;课程;选课成绩。数据库中的每个对象都拥有一个与其相对应的表,下面我们要做的就是找出对象中所需要的属性。(3)标识对象的属性表1-1:用户对象对象用户属性用户注册名用户口令用户权限表1-2:学生对象对象学生属性学号姓名密码性别出生年月所在系部表1-3:系部对象对象系部属性系部编号系部名称表1-4:课程对象对象课程属性课程号课程名学分学期选课名额表1-5:选课成绩对象对象选课成绩属性学号课程号成绩(4)标识对象间的关系关系数据库能够关联数据库中各个表的相关信息,不同类型的信息可以单独存储,但是如果需要,数据库可以根据我们的需要将数据组合在一起。从上面的表中,我们可以知道学生和系部有所属关系,选课成绩和学生、课程有依赖关系。3、概念设计在需求分析阶段解决了客户的业务和数据处理需求后,我们就可以将需求分析阶段得出的信息抽象为概念模型。也就是说,概念设计阶段是将现实世界中的客观对象抽象为独立于具体机器,独立于具体DBMS的信息结构。我们采用的是目前最常用的E-R图来描述现实世界的概念模型。根据需求阶段得出的对象和对象的属性,我们可以绘制选课系统的E-R图,如图1-1所示。4、逻辑设计概念结构是独立于任何DBMS数据模型的信息结构。逻辑结构设计的任务就是把概念设计阶段设计好的E-R图转换为表,并应用数据库设计的三大范式对表进行优化。(1)E-R图转化为表在前面的概念设计阶段得出了E-R图,我们就可以将E-R图转换为表,主要步骤如下:将各实体转化为对应的表,将各属性转化为各表对应的列;标识各个表的主键;标识各表之间的映射关系,即标识各个表的外键;标识各列的约束条件。转换结果如表1-6~表1-10所示。图1-1选课系统E-R图表1-6:用户结构表(userInfo)列名说明数据类型长度约束userNama注册名varchar16主键userPassword用户密码varchar6非空,由6个数字组成purview用户权限int取值范围为[1,3],默认值为“3”表1-7:学生结构表(studentInfo)列名说明数据类型长度约束stuNo学号varchar8主键,由8个数字组成stuName姓名nvarchar16非空stuPassword密码varchar6由6个数字组成,默认值为“888888”sex性别nvarchar2取值为“男”或“女”birthday出生年月datetimedeptNo所在系varchar8外键,引用系部表(deptNo)表1-8:系部结构表(deptInfo)列名说明数据类型长度约束deptNo系号varchar8主键,由8位数字组成deptName系名nvarchar32默认值为“电子与信息工程系”表1-9:课程结构表(course)列名说明数据类型长度约束courseNo课程号varchar8主键,由8位数字组成courseName课程名nvarchar32非空credit学分int非空,取值范围[0,6]semster学期int非空,取值区间[0,6]stuNumber选课名额int默认值为“0”表1-10:选课成绩结构表(sc)列名说明数据类型长度约束stuNo学号varchar8主键,引用表Student(stuNo)courseNo课程号varchar8主键,引用表Course(courseNo)grade成绩int取值区间[0,100](2)表的优化数据库逻辑设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要恰当地进行修改,这就是表的优化。表的优化通常以规范化理论为指导。为了讨论方便,下面以表1-11的学生信息表为例,该表存储有关学生的信息。表1-11:学生信息表stuNostuNamesexdepNamecourseNamegrade10000001张三男计算机C语言程序设计8510000001张三男计算机数据库应用5410000001张三男计算机JSP程序设计8410000002李四男计算机数据库应用5410000003赵五女计算机JSP程序设计68…………………………20000001无常女外语商务英语46…………………………从用户的角度而言,将所有的信息存放在一个表中查询起来很方便。但是它们会存在一下几个问题:数据冗余。在表中存在大量的重复信息,造成了存储空间的浪费。数据不一致。如果“张三”转系,这时需要修改表中系部列的信息,如果遗漏了其中一条纪录,将造成数据不一致。表的优化目的就是为了减少数据冗余、保证数据的一致性、完整性和存储效率。表的优化有一些专门的规则,称为数据库设计范式。一般来说,表只要遵循第三范式即可。第一范式(1NF,NormalFormate):确保表中每列的原子性。第二范式(2NF):在第一范式的基础上,表中的任一非主键都依赖于主键。第三范式(3NF):在第二范式的基础上,表中的任一非主键都不传递依赖于主键。四、实训任务和步骤总体任务:分析并设计网上购物系统的数据库,绘制E-R图。网上购物系统具有如下功能。用户的注册、登陆;物品浏览;网上订购物品;查看订单。任务1:分析网上购物数据库,并用PowerDesigner等工具绘制E-R图。步骤:(1)标识对象。(2)标识对象属性。(3)使用工具绘制E-R图。绘制E-R图(PowerDesigner)具体步骤如下:(1)打开PowerDesigner,单击【文件】→【新建】,在新建对话框中选择“ConceptualDataModel”(概念数据模型),单击【确定】。如下图1-2所示。图1-2:“新建”对话框(2)在打开的PowerDesigner环境中,有一个“面板”。如图1-3所示。选择“面板”中的工具,然后在页面恰当的位置点击,就可以绘制实体图。图1-3:“面板”工具栏(3)给各个实体添加属性。(4)点击,标识实体间的关系。注意:在绘制实体属性时,如果一个属性在两个实体中有相同的名字,PowerDesigner将会提示如下图1-4错误信息。要解决这个问题,只需选择【工具】→【模型选项】,把“模型选项”对话框中的“UniqueCode”选项前的勾去掉即可。如下图1-5所示。图1-4:提示“错误”对话框图1-5:“模型选项”对话框任务2:将E-R图转换为表。步骤:(1)将任务1的E-R图中实体转换为相应的表,将各属性转换为各表对应的列。(将转换的表格保存在Word文档中)(2)标识每个表的主、外键。任务3:应用数据库设计范式优化关系表步骤:(1)向各个表插入数据,查看表中是否存在重复数据、插入异常、更新异常和删除异常。(2)如果存在数据重复和异常,运用三大范式对表进行优化。五、作业分析并设计银行ATM取款机系统的数据库,绘制E-R图,将E-R图转换为表。AMT取款机系统具有如下功能。卡号开户/销户;取款并保存交易记录,包括交易时间、交易类型(支取/存入)、交易金额等;存款并保存交易记录,包括交易时间、交易类型(支取/存入)、交易金额等;查询账户;转帐。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功