实验7 数据库设计综合应用
一、实验任务与要求
目的与任务:
1. 掌握数据库设计和实现的基本过程
2. 掌握数据库模式设计、分析和实现的方法 3. 了解数据库应用系统软件开发的一般过程。 实验基本要求:
(1)学习相关的预备知识
(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行 (3)写出课程设计报告
二、课程设计基础知识
数据库设计与实现的基本过程包括需求分析、概念结构设计、逻辑结构设计、数据库的物理设计以及数据库的实施和维护等内容。需求分析确定系统的数据需求和处理需求;概念结构设计通过对用户需求的综合、归纳和抽象,形成一个独立的概念模型;逻辑结构设计则将概念模型转换为具体的数据库管理系统所支持的数据模型;数据库的物理设计结合应用确定数据模型的存储结构和存取方式。在这些工作完成之后,就可以建立数据库并开始调试运行了,在数据库的运行过程中必须对其进行维护——包括数据库的备份与恢复、性能分析与改进等等。
1. 概念结构设计——ER图
概念模型是用户需求的抽象,通常用实体关系图(Entity Relationship Diagram,即ER图)来表示。设计ER图的出发点是数据流图层次的选择,一般选择中层的数据流图作为分析设计的依据。在得到各个局部ER图后,需要将它们合并成一张总的ER图。首先是简单的合并,协调各个局部ER之间不一致的地方;然后再对得到总ER图消除冗余,可通过分析数据字典中数据项之间的逻辑关系加以消除。
2. 逻辑结构设计——ER图向关系模型的转换
关系数据库的数据模型(即关系模型)由一组关系模式组成,因而ER图向关系模型的转换实际上就是将实体(包括实体的属性)和联系转换为关系模式,一般遵循以下基本原则: 1. 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
2. 一个1:X(X为1或n)联系通常与某一端的关系模式合并,其中1:n的联系需要与n端对应的关系模式合并。需要在合并的关系模式的属性中加入另一个关系模式的码和联系本身的属性。
3. 一个m:n联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
4. 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。
5. 具有相同码的关系模式可合并。 3. 数据库设计过程
25
óó|?Dè?ó¨ê£y?Y?¢′|í£à?×?1a??ò?¢DBMS1|?ü?¢??óˉ·?·¨Dè?óê??ˉoí·???éè???????á11éè?????-?á11???-éè???×??êy?Y?£Díó??ˉ??2úòaéè????àí?á11?à?íéè???×???à??éè??£?D??ü2aê???àíêμ????2úòaê??éD???DDê1ó??¢???¤êy?Y?ay?êY?a??D?¢???¤×???y?êY?aêμê??×??è?Dó·????×??????éè???×??óó|?òa?ó£?DBMS?ê??ì?÷?
设计描述数据需求分析数据字典、全系统中数据项、数据流、数据存储概念模型(E-R)图,数据字典设计阶段处理数据流图和判定表、数据字典中处理过程的描述系统说明书。包括:(1)新系统要求、方案和概图(2)翻印新鲜系统信息流的数据流图系统结构图(模块结构图)概念结构设计某种数据模型 如关系模型逻辑结构设计关系物理设计存储安排、存储方法选择、存储路径建立模块设计、IPO图实施阶段编写模块、装入数据、数据库试运行程序编码、编译联接、测试运行、维护性能检测、转储/恢复、数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护 26
三、课程设计题目及进度安排
建议6--8人一组建立开发团队。 开发团体组织架构和职责:
组长: 1人
负责本开发项目的组织与实施,协调团队各成员的开发进度,负责本开发项目的需求分析,负责课程设计报告文档的组织。
数据库分析员: 1人
负责数据库的概念结构设计 、逻辑结构设计、应用系统功能模块设计,编写相关文档。 用户界面设计员: 1人
负责本开发项目的用户交互界面设计,编写相关文档。 程序员: 3-5人
负责本开发项目的程序设计,编写相关文档。 测试员: 1人
负责本开发项目的程序测试,编写相关文档。 课程设计题目:
每个开发团队分别选择一个题目完成课程设计,可以自定题目,也可以从以下题目中选择。 1. 客户订购登记系统
一个公司希望为其客户订购行为建立一个数据库。一个消费者可以有一个或多个订单,每个订单可以有一种或多种商品。每个订单有一个,可以通过多种方式来支付,例如支票、信用卡或者现金。开始运行这个客户订购登记的员工的名字要被记下来。有一个相应的部门工作人员来负责整理订单病把这些订单发给顾客。如果订单上的货物在库中没有,就需写明库中有什么,这样在订单中可能就会用其他货物来填充。
2. 货存控制系统
一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。跟踪记录要提供买进、卖出的货物以及其他的费用。
3. 人力资源管理系统
人力资源部门希望建立一个数据库来管理它的员工。一个公司有几个部门,而一个员工属于一个部门。这个部门指派一个经理来全面负责部门事务和部门员工。为了有助于管理好部门工作,某些工作人员被任命来管理一组人员。当有一个新的员工进入公司时,需要他以前的工作经历和成绩。通常来说,每个员工都要经历一次面试,这通常是由经理来进行的。公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资。职位依据其工作量来分配给一个部门。例如,一个部门可能分配给两个业务分析员的职位。每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员。
4. 工资管理系统
工资管理部门希望建立一个数据库来管理员工的工资。要计算员工的工资,就需要考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。必须指明给每个员工发薪水的方式,随着时间的推移,方式可能会有些改变。大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票。如果是通过银行卡,就需要知道账号和卡的类型。付款方式只可能是一种方式。有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款。
27
5. 学生管理系统
一所大学希望建立一个数据库以便对学生进行管理。当一个学生进入学校时,他就会选择一个专业。每个学生也会指定一个指导老师。每个专业每年由一些课程组成。组成专业的课程的最小和最大数目分别是6和8。一般情况下给一个学生三次机会来通过这门课程的考试。有些特殊的课程可以在一个或多个专业中存在。大学可以有几个部门,每个部门都有一个部门负责人,每个课程都会分配一定数量的员工(称为课程合作人)来负责课程的教学。
四、提交课程设计报告,内容包括:
1. 课程设计说明(含设计题目、设计任务与要求、开发环境说明) 2. 功能需求分析 3. 数据库概念设计 4. 数据库逻辑设计 5. 应用系统功能模块
6. 源程序代码及运行结果(含运行界面屏幕截图)。 7. 总结
28
相关推荐: