数据库课程设计学校教务管理系统
- 格式:doc
- 大小:140.00 KB
- 文档页数:10
数
据
库
教
务
系
统
的
设
计
姓名
学号
日期
一、 系统开发目标:
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便教务管理,需开发一个教务管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统界面要简单明了,易于操作,程序利于维护。
二、功能设计:
(1) 用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。
(2) 具体查询在数据库中要实现以下的功能:
1) 所有来自某省的男生
2) 所有某课程成绩>90的同学
3) 教授某课程的老师
4) 某班年龄最大的5名同学 5) 某年以后出生的男同学
6) 选修某课程的学生及其成绩
7) 没有授课的教师
8) 某学生所选课程的总学分
9) 教授某学生必修课程的老师情况
10) 某学生选修了哪些系的课程
11) 某系学生所学的所有课程
12) 按总学分找出某系学习最好的5名同学
13) 按总学分积找出某系学习最好的5名同学
14) 可以毕业的学生
三、数据库设计:
(一)概念设计:
1、 总体功能概念结构图:
2、 查找所给问题的实体
系统中涉及到的实体:班级,学生,教师,课程,学院中的各个系。
2.1查找实体的关联 ① 班级、学生之间是一对多关系;
② 学生、课程之间是多对多关系;
③ 系、班级、教师之间是一对多关系;
④ 教师、课程、班级之间是多对多关系;
2.2查找实体关键字
① 班级的关键字----班级号;
② 学生的关键字----学号;
③ 教师的关键字---教师编号;
④ 课程的关键字----课程号;
⑤ 系的关键字----系号。
2.3 设计E-R图:
1) 总体功能流程图
2) 学生E-R图: 班级信息维护
学生信息维护
操作员
课程信息维护
教师信息维护 班级表
学生信息表
学生选课
课程表
教师信息表 查询课程表
成绩输入
打印成绩单
3) 班级E-R图:
4) 课程E-R图:
课程
课程编号
课程名称 课程类型 课程学分 班级
班号
所在系号 系主任 班级名称 学生
学生基本信息
学生班级信息 学生课程信息 学生成绩信息 5) 教师E-R图:
6) 全局E-R图:
教师
所授课程编号
教师编号 所在系号 教师姓名 (二) 逻辑设计:
1、将E―R模型转换为等价的关系模式。
教师(教师编号,教师姓名,教师职称,教师所授课程,教师所属系号);
学生(姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号);
班级(班级号,所在系号,班级名称);
课程(课程号,课程名,学分,学时,类型);
系(系号,系名称,班级数,系主任);
成绩(学号,课程号,成绩,学分);
教师授课(教师编号,课程号,班级号)。
2、按需要对关系模式进行规范化。
经过分析,教师表中的联系电话这一属性不符合第一范式,它是一个多值属性(需求分析得到教师的联系电话不止一个),所以现将联系电话属性拆分为三个属性----办公电话,移动电话和住宅电话。即:
教师(工作证号码,姓名,性别,年龄,办公室号,职称,职务,办公电话,移动电话,住宅电话);
再经分析,概念模型E-R图中所涉及的表都能满足第三范式的要求
3、对规范化后的模式进行评价。
经过上一步的调整之后,模式已经基本符合题目要求,可以直接将规范化以后的模型应用于物理设计。
4、 根据局部应用的需要,设计用户外模式。
(三) 物理设计:
1、数据格式化:
根据逻辑设计的结果,得到适合SQL Server 2000的数据格式和类型。系统中具体的数据如下列表所示:
① Department:
列 名 数据类型 约束
Dno Char(7) Primary key
Dname VarChar(30) Not null
DClassNumber Smallint ----
Grademaster VarChar(30)
Not null
② Class:
列 名 数据类型 约束
Clno Char(7) Primary key
Speciality VarChar(30) Not null
Dno Char(7) Reference Department(Dno)
③ Student:
列 名 数据类型 约束
Sno Char(7) Primary key
Sname VarChar(20) Not null
Ssex Char(2) In(‘男’,’女’),default(‘男’)
Sbirthday Datetime ----
Clno Char(7) Reference Class(Clno)
Splace VarChar(20) ----
Dno Char(7)
Primary key
④ Teacher:
列 名 数据类型 约束
Tno Char(7) Primary key
Tname VarChar(20) Not null
Tsex Char(2) In(‘男’,’女’),default(‘男’)
TBirthday Datetime ----
Tfunction VarChar(30) ----
ThomeTel Char(8) Like ‘[0-9]’
⑤ Course:
列 名 数据类型 约束
Cno Char(2) Primary key
Cname VarChar(30) Not null
Credit Smallint ----
Ctime Integer ----
Ctype Char(6) In(’必修课’、’选修课’)、Default(’必修课’)
⑥ Grade:
列 名 数据类型 约束
Sno Char(7) Primary key,reference Student(Sno)
Cno Char(2) Primary
key,reference Course(Cno)
Gmark Numeric(4,1)
>=0 and <=100
Credit Smallint ----
⑦ TC:
列 名 数据类型 约束
Tno Char(7) Primary key,reference Teacher(Tno)
Cno Char(2) Primary key,reference Course(Cno)
Clno Clno(7) Primary key,reference Class(Clno)
2、 表之间的联系:
四. 总结
在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。
在这些设计中,我们完全投入到了开发系统的世界里。结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透。
五、参考文献
《数据库系统概论》高等教育出版社 王珊
《SQL Server 2000 上机实验指导》清华大学出版社
及其它相关参考书