数据库.docx
《数据库.docx》由会员分享,可在线阅读,更多相关《数据库.docx(11页珍藏版)》请在冰豆网上搜索。
数据库
数据库
实验6数据库设计综合应用
一、实验任务与要求
目的与任务:
1.掌握数据库设计和实现的基本过程
2.掌握数据库模式设计、分析和实现的方法
3.了解数据库应用系统软件开发的一般过程。
实验基本要求:
(1)学习相关的预备知识
(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行
(3)写出课程设计报告
二、课程设计基础知识
数据库设计与实现的基本过程包括需求分析、概念结构设计、逻辑结构设计、数据库的物理设计以及数据库的实施和维护等内容。
需求分析确定系统的数据需求和处理需求;概念结构设计通过对用户需求的综合、归纳和抽象,形成一个独立的概念模型;逻辑结构设计则将概念模型转换为具体的数据库管理系统所支持的数据模型;数据库的物理设计结合应用确定数据模型的存储结构和存取方式。
在这些工作完成之后,就可以建立数据库并开始调试运行了,在数据库的运行过程中必须对其进行维护——包括数据库的备份与恢复、性能分析与改进等等。
1.概念结构设计——ER图
概念模型是用户需求的抽象,通常用实体关系图(EntityRelationshipDiagram,即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.数据库设计过程
三、课程设计题目及进度安排
建议6--8人一组建立开发团队。
开发团体组织架构和职责:
组长:
1人
负责本开发项目的组织与实施,协调团队各成员的开发进度,负责本开发项目的需求分析,负责课程设计报告文档的组织。
数据库分析员:
1人
负责数据库的概念结构设计、逻辑结构设计、应用系统功能模块设计,编写相关文档。
用户界面设计员:
1人
负责本开发项目的用户交互界面设计,编写相关文档。
程序员:
3-5人
负责本开发项目的程序设计,编写相关文档。
测试员:
1人
负责本开发项目的程序测试,编写相关文档。
课程设计题目:
每个开发团队分别选择一个题目完成课程设计,可以从以下题目中选择,也可以自定题目。
1.客户订购登记系统
一个公司希望为其客户订购行为建立一个数据库。
一个消费者可以有一个或多个订单,每个订单可以有一种或多种商品。
每个订单有一个,可以通过多种方式来支付,例如支票、信用卡或者现金。
开始运行这个客户订购登记的员工的名字要被记下来。
有一个相应的部门工作人员来负责整理订单病把这些订单发给顾客。
如果订单上的货物在库中没有,就需写明库中有什么,这样在订单中可能就会用其他货物来填充。
2.货存控制系统
一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。
当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。
跟踪记录要提供买进、卖出的货物以及其他的费用。
3.人力资源管理系统
人力资源部门希望建立一个数据库来管理它的员工。
一个公司有几个部门,而一个员工属于一个部门。
这个部门指派一个经理来全面负责部门事务和部门员工。
为了有助于管理好部门工作,某些工作人员被任命来管理一组人员。
当有一个新的员工进入公司时,需要他以前的工作经历和成绩。
通常来说,每个员工都要经历一次面试,这通常是由经理来进行的。
公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资。
职位依据其工作量来分配给一个部门。
例如,一个部门可能分配给两个业务分析员的职位。
每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员。
4.工资管理系统
工资管理部门希望建立一个数据库来管理员工的工资。
要计算员工的工资,就需要考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分。
必须指明给每个员工发薪水的方式,随着时间的推移,方式可能会有些改变。
大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票。
如果是通过银行卡,就需要知道账号和卡的类型。
付款方式只可能是一种方式。
有几种原因可以扣除工资:
例如,个人所得税、国家税、医疗保险、退休保险或者预付款。
5.学生管理系统
一所大学希望建立一个数据库以便对学生进行管理。
当一个学生进入学校时,他就会选择一个专业。
每个学生也会指定一个指导老师。
每个专业每年由一些课程组成。
组成专业的课程的最小和最大数目分别是6和8。
一般情况下给一个学生三次机会来通过这门课程的考试。
有些特殊的课程可以在一个或多个专业中存在。
大学可以有几个部门,每个部门都有一个部门负责人,每个课程都会分配一定数量的员工(称为课程合作人)来负责课程的教学。
四、提交课程设计报告,内容包括:
1.系统设计说明(小组公共的部分,含设计题目、系统介绍、任务分工说明(组别,学号,姓名,任务))
2.功能需求分析(信息要求,处理要求,安全性与完整性要求,数据字典)
3.数据库概念设计(E-R图,数据流图)
4.数据库逻辑设计(关系模式,SQL建表)
5.应用系统功能模块(针对需求的功能设计,包括界面设计,存储过程)
6.源程序代码及运行结果(含运行界面屏幕截图)。
(可选)
7.总结(学会了什么东西)
实验成果:
各组的实验报告,汇报PPT,分离的数据库。
系统功能图:
图3-1系统框架图
图3-2火车订票系统后台管理结构图
界面设计图:
图4-1系统主界面
功能模块图:
图4-12结账单
图4-13餐桌结账成功
xxx功能的实现存储过程如下:
CREATERPOCOnOK(@,@,@)
AS
BEGIN
。
。
。
存储过程
END
图4-6权限设置
xxx功能的实现存储过程如下:
CREATERPOCOnSearch(@,@,@)
AS
BEGIN
。
。
。
存储过程
END
xxx功能的实现存储过程如下:
CREATERPOCOnUpdate(@,@,@)
AS
BEGIN
。
。
。
存储过程
END