第七章 数据库系统开发实例.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:31 大小:1.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第七章 数据库系统开发实例.doc

第七章数据库系统开发实例.doc

预览

免费试读已结束,剩余 21 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第七章数据库应用系统开发示例本章通过两个示例,介绍数据库应用系统的设计与开发过程。既是对前面几章所介绍内容的总结与应用,也为读者将来开发一个实际的数据库应用系统提供一些帮助。本章主要介绍以下两个示例:教学管理系统图书借阅管理系统教学管理系统教学管理系统是学校现代化管理的重要组成部分,是推动学校教学管理走向科学化、规范化的必要条件。教学管理工作量大、复杂,搞好教学管理工作是维持教学活动的正常运转,确保教学质量的重要保障。利用教学管理这一数据库应用系统,可以让教学管理人员科学地、规范地管理与教学有关的数据,不仅节约大量的人力与时间,提高工作效率,而且还可以减少差错和漏洞。因此,开发教学管理系统是非常必要的。一、需求分析教学管理工作涉及到教学的各个环节,为简单起见,这里只涉及对教师授课与学生选课的部分管理工作。具体包括以下主要内容:教师基本信息的编辑(包括教师基本信息的增加、修改、删除与查询)。学生基本信息的编辑(包括学生基本信息的增加、修改、删除与查询)。课程基本信息的编辑(包括课程基本信息的增加、修改、删除与查询)。学生选课信息的编辑(包括选课信息的增加、修改、删除与查询)。教师任课信息的编辑(包括任课信息的增加、修改、删除与查询)。学生成绩的输入与修改。选课、任课信息的统计。需求分析的最终结果可用数据流程图、数据字典等表示出来(这些内容可在学完信息系统分析与设计课程后加以完善,这里从略)。二、数据库概念结构设计数据库的概念结构设计有多种方法,这里采用E-R模型进行概念结构设计。由需求分析可以得出,该教学管理系统所涉及到的实体有以下三个:教师:用于描述一个教师的基本情况,其属性包括:教师号、姓名、性别、年龄、职称、电话,其中教师号为码。学生:用于描述一个学生的基本情况,其属性包括:学号、姓名、性别、年龄、班级,其中学号为码。课程:用于描述一门课程的基本情况,其属性包括:课程号、课程名、课程类别(必修或选修)、课时、学分,其中课程号为码。根据语义(即该问题的实际情况)分析知:一个教师可以讲授多门课程,一门课程也可以有多名教师讲授;一个学生可以选修多门课程,一门课程也可以有多名学生选修。根据以上分析,可设计出该教学管理系统所对应的E-R图,如图7-1所示。教师学生学号姓名性别年龄课程课程号课程名学分选课成绩任课教师号姓名性别职称nm班级课程类别课时学号年龄电话mn图7-1教学管理系统E-R图三、数据库逻辑结构设计1.关系模式的设计进行数据库的逻辑结构设计,首先要将概念结构设计中所得到的E-R图转换成等价的关系模式。根据第三章介绍的将E-R图转换成等价的关系模式的方法,图7-1所示的E-R图可以转换成以下5个关系模式:教师(教师号,姓名,性别,年龄,职称,电话)。学生(学号,姓名,性别,年龄,班级)。课程(课程号,课程名,课程类别,课时,学分)。选课(学号,课程号,成绩),其中学号为引用学生关系的外键,课程号为引用课程关系的外键。任课(教师号,课程号),其中教师号为引用教师关系的外键,课程号为引用课程关系的外键。2.关系模式的优化设计好基本的关系模式以后,接下来要对它们进行优化。根据第三章介绍的关系规范化理论,上述各关系模式中,由于每个非主属性都不传递依赖于主键,因此,他们均满足第三范式。四、数据库的建立本例使用VB提供的可视化数据管理器来建立Access数据库。表7-1~7-5给出了上述5个关系模式所对应的5个表的基本结构,具体的数据库(数据库名为student)及其表(表名分别为:教师,学生,课程,选课,任课)的建立,请读者根据第五章介绍的方法自行完成。需要说明的是,由于Access为小型数据库,因此它并不具备数据库安全控制中所要求的所有功能(如参照完整性)。表7-1教师表结构表7-2学生表结构字段名数据类型长度约束字段名数据类型长度约束教师号Text(字符串)6主键学号Text(字符串)6主键姓名Text(字符串)10姓名Text(字符串)10性别Text(字符串)2默认值’男’性别Text(字符串)2默认值’男’年龄Byte(字节型)1≥18and≤100年龄Byte(字节型)1≥15and≤100职称Text(字符串)10班级Text(字符串)10电话Text(字符串)12表7-3课程表结构表7-4选课表结构字段名数据类型长度约束字段名数据类型长度约束课程号Text(字符串)2主键学号Text(字符串)6主键课程名Text(字符串)20课程号Text(字符串)2主键课程类型Text(字符串)4默认值’必修’成绩Byte(字节型)1>=1a