数据库课程设计--学校教务管理系统

  • 格式:doc
  • 大小:161.50 KB
  • 文档页数:19

学校教务管理的数据库设计

I. 需求分析:

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长.面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

学校为方便教务管理,需开发一个教务管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统界面要简单明了,易于操作,程序利于维护。

一、信息分析:

(1)学校教务管理的数据库,包含以下信息:

学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。

(2)学校的教务管理的信息包括: 学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。学生如果课程及格,可以取得该课程的学分。学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。根据成绩高低,可以计算学分积。及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。

二、功能分析:

(1) 用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。

(2) 具体查询在数据库中要实现以下的功能:

1) 所有来自某省的男生

2) 所有某课程成绩〉90的同学

3) 教授某课程的老师

4) 某班年龄最大的5名同学

5) 某年以后出生的男同学

6) 选修某课程的学生及其成绩

7) 没有授课的教师

8) 某学生所选课程的总学分 9) 教授某学生必修课程的老师情况

10)某学生选修了哪些系的课程

11)某系学生所学的所有课程

12)按总学分找出某系学习最好的5名同学

13)按总学分积找出某系学习最好的5名同学

14)可以毕业的学生

三、软、硬件配置

程序运行的环境:

具体运行环境为软件方面,操作系统为windows2000/XP,并且系统装有SQL Server2000数据库管理系统.

硬件方面,CPU主频500MHz以上,内存128M或更高。硬盘剩余空间不能少于30M。

四、工程预算及时间安排:

✓ 工程预算:由于程序本身并不十分复杂,实现起来软硬件需求都不算高,具体花费在此就不计算了。

时间安排:

系统开发阶段

(总体不超过课程设计规定时间)

系统维护阶段 时间进度

系统规

划阶段 系统分

析阶段 系统设

计阶段 系统实

施阶段 运行维

护阶段

图1.1时间安排

五、数据字典:

① 系表:

列 名 数据类型 约束

系号 Char(7) 不为空、唯一

系名称 VarChar(30) 不为空

班级数 Smallint --——

系主任 VarChar(20) 不为空、唯一

② 班级表:

列 名 数据类型 约束

班级号 Char(7) 不为空、唯一

班级名称 VarChar(30) 不为空

所在系号 Char(7) 参照其它表

③ 学生信息表:

列 名 数据类型 约束

学号 Char(7) 不为空、唯一 姓名 VarChar(20) 不为空

性别 Char(2) 男或女、默认男

年龄 Smallint —-——

所在班级号 Char(7) 参照其它表

籍贯 VarChar(20) ———-

所在系号 Char(7) ———-

④ 教师信息表:

列 名 数据类型 约束

教师编号 Char(7) 不为空、唯一

姓名 VarChar(20) 不为空

性别 Char(2) 男或女、默认男

年龄 Smallint -——-

职务 VarChar(30) —-——

联系电话 Char(8)

所在系号 Char(7) 参照其它表

⑤ 课程表:

列 名 数据类型 约束

课程号 Char(2) 不为空、唯一

课程名 VarChar(30) 不为空

学分 Smallint ———- 学时 Integer ———-

类型 Char(6) 取值(必修课、选修课)、默认(必修课)

⑥ 学生成绩表:

列 名 数据类型 约束

学号 Char(7) 与课程号联合做主键、参照其它表

课程号 Char(2) 与学号联合做主键、参照其它表

成绩 Numeric(4,1) 〉=0 and 〈=100

学分 Smallint ———-

⑦ 教师授课信息表:

列 名 数据类型 约束

教师编号 Char(7) 联合主键、参照其它表

课程号 Char(2) 联合主键、参照其它表

开设该课程的班级号 Clno(7) 联合主键、参照其它表

II.详细设计方案:

一、 概念设计:

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 ——-—