
数据库课程设计(本科).doc
5页数据库系统课程设计指导书一、实验课程任务与要求目的与任务: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. 数据库设计过程三、课程设计题目及进度安排建议6--8人一组建立开发团队,每班建立5个团队开发团体组织架构和职责:组长: 1人 负责本开发项目的组织与实施,协调团队各成员的开发进度,负责本开发项目的需求分析,负责课程设计报告文档的组织数据库分析员: 1人负责数据库的概念结构设计 、逻辑结构设计、应用系统功能模块设计,编写相关文档用户界面设计员: 1人负责本开发项目的用户交互界面设计,编写相关文档程序员: 3-5人负责本开发项目的程序设计,编写相关文档测试员: 1人 负责本开发项目的程序测试,编写相关文档课程设计题目:每个开发团队分别选择下列一个题目完成课程设计1. 客户订购登记系统 一个公司希望为其客户订购行为建立一个数据库一个消费者可以有一个或多个订单,每个订单可以有一种或多种商品每个订单有一个,可以通过多种方式来支付,例如支票、信用卡或者现金开始运行这个客户订购登记的员工的名字要被记下来有一个相应的部门工作人员来负责整理订单病把这些订单发给顾客如果订单上的货物在库中没有,就需写明库中有什么,这样在订单中可能就会用其他货物来填充。
2. 货存控制系统 一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单跟踪记录要提供买进、卖出的货物以及其他的费用3. 人力资源管理系统 人力资源部门希望建立一个数据库来管理它的员工一个公司有几个部门,而一个员工属于一个部门这个部门指派一个经理来全面负责部门事务和部门员工为了有助于管理好部门工作,某些工作人员被任命来管理一组人员当有一个新的员工进入公司时,需要他以前的工作经历和成绩通常来说,每个员工都要经历一次面试,这通常是由经理来进行的公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资职位依据其工作量来分配给一个部门例如,一个部门可能分配给两个业务分析员的职位每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员4. 工资管理系统 工资管理部门希望建立一个数据库来管理员工的工资要计算员工的工资,就需要考虑不在休假日期以内的假期、工作期间的病假时间、奖金和扣除的部分必须指明给每个员工发薪水的方式,随着时间的推移,方式可能会有些改变。
大多数的员工是通过银行卡来结算工资的,但是也有一部分人使用现金或支票如果是通过银行卡,就需要知道账号和卡的类型付款方式只可能是一种方式有几种原因可以扣除工资:例如,个人所得税、国家税、医疗保险、退休保险或者预付款5. 学生管理系统 一所大学希望建立一个数据库以便对学生进行管理当一个学生进入学校时,他就会选择一个专业每个学生也会指定一个指导老师每个专业每年由一些课程组成组成专业的课程的最小和最大数目分别是6和8一般情况下给一个学生三次机会来通过这门课程的考试有些特殊的课程可以在一个或多个专业中存在大学可以有几个部门,每个部门都有一个部门负责人,每个课程都会分配一定数量的员工(称为课程合作人)来负责课程的教学进度安排:课程设计总计20 h,各阶段参考进度如下:课程设计说明,学生分组 1h需求分析 1h概念结构设计 2h逻辑结构设计 2h应用系统功能模块设计 2h 应用程序开发 8h撰写课程设计报告 2h考核验收 2h具体时间安排如下:日期时间班级工作内容周一上午8:00-----12:00周一下午14:30----18:30周一晚上18:30----22:00周二上午8:00-----12:00周二下午14:30----18:30周二晚上18:30----22:00周三上午8:00-----12:00周三下午14:30----18:30周三晚上18:30----22:00周四上午8:00-----12:00周四下午14:30----18:30周四晚上18:30----22:00周五上午8:00-----12:00周五下午14:30----18:30周五晚上18:30----22:00四、考核及评分提交课程设计报告,内容包括:1. 课程设计说明(含设计题目、设计任务与要求、开发环境说明)2. 功能需求分析3. 数据库概念设计4. 数据库逻辑设计5. 应用系统功能模块6. 源程序代码及运行结果(含运行界面屏幕截图)。
7. 总结实验采用“优、良、中、及格、不及格”五级评分制 五、开发环境说明建议采用C/S架构,使用Delphi、Powerbuilder、Java、Vb、C++ builder 进行客户端应用程序的开发,数据库管理系统建议采用SQL SERVER若采用B/S架构,建议采用ASP或JSP技术。
