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

更新时间:2024-06-13 23:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

滨江学院

数据库课程设计

系 部_____计算机____________ 专 业_软件工程(动画方向)__ 学生姓名______陈子仪___________ 学 号____20092358011________

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

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(2) VarChar(30) Smallint Integer Char(6) 约束 不为空、唯一 不为空 ---- ---- 取值(必修课、选修课)、默认(必修课) 数据类型 Char(7) VarChar(20) Char(2) Smallint VarChar(30) Char(8) Char(7) 约束 不为空、唯一 不为空 男或女、默认男 ---- ---- 参照其它表 数据类型 Char(7) VarChar(20) Char(2) Smallint Char(7) VarChar(20) Char(7) 约束 不为空、唯一 不为空 男或女、默认男 ---- 参照其它表 ---- ---- 数据类型 Char(7) VarChar(30) Char(7) 约束 不为空、唯一 不为空 参照其它表 数据类型 Char(7) VarChar(30) Smallint VarChar(20) 约束 不为空、唯一 不为空 ---- 不为空、唯一

⑥ 学生成绩表: 列 名 学号 课程号 成绩 学分

⑦ 教师授课信息表: 列 名 教师编号 课程号 开设该课程的班级号 数据类型 Char(7) Char(2) Clno(7) 约束 联合主键、参照其它表 联合主键、参照其它表 联合主键、参照其它表 数据类型 Char(7) Char(2) Numeric(4,1) Smallint 约束 与课程号联合做主键、参照其它表 与学号联合做主键、参照其它表 >=0 and <=100 ----

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、按需要对关系模式进行规范化。

经过分析,教师表中的联系电话这一属性不符合第一范式,它是

一个多值属性(需求分析得到教师的联系电话不止一个),所以现将联系电话属性拆分为三个属性----办公电话,移动电话和住宅电话。即:

教师(工作证号码,姓名,性别,年龄,办公室号,职称,职务,

办公电话,移动电话,住宅电话); 求

3、对规范化后的模式进行评价。

经过上一步的调整之后,模式已经基本符合题目要求,可以直接再经分析,概念模型E-R图中所涉及的表都能满足第三范式的要

将规范化以后的模型应用于物理设计。 4、根据局部应用的需要,设计用户外模式。

三、 物理设计: 1、 数据格式化:

根据逻辑设计的结果,得到适合SQL Server 2000的数据格式和类型。系统中具体的数据如下列表所示:

① Department: 列 名 Dno Dname DClassNumber Grademaster ② Class: 列 名 Clno Speciality Dno ③ Student: 列 名 Sno Sname Ssex Sbirthday Clno Splace Dno

④ Teacher: 列 名 Tno Tname Tsex TBirthday Tfunction ThomeTel 数据类型 Char(7) VarChar(20) Char(2) Datetime VarChar(30) Char(8) 约束 Primary key Not null In(‘男’,’女’),default(‘男’) ---- ---- Like ‘[0-9]’ 数据类型 Char(7) VarChar(20) Char(2) Datetime Char(7) VarChar(20) Char(7) 约束 Primary key Not null In(‘男’,’女’),default(‘男’) ---- Reference Class(Clno) ---- Primary key 数据类型 Char(7) VarChar(30) Char(7) 约束 Primary key Not null Reference Department(Dno) 数据类型 Char(7) VarChar(30) Smallint VarChar(30) 约束 Primary key Not null ---- Not null

⑤ Course: 列 名 Cno Cname Credit Ctime Ctype

⑥ Grade: 列 名 Sno Cno Gmark Credit ⑦ TC: 列 名 Tno Cno Clno 数据类型 Char(7) Char(2) Clno(7) 约束 Primary key,reference Teacher(Tno) Primary key,reference Course(Cno) Primary key,reference Class(Clno) 数据类型 Char(7) Char(2) Numeric(4,1) Smallint 约束 Primary key,reference Student(Sno) Primary key,reference Course(Cno) >=0 and <=100 ---- 数据类型 Char(2) VarChar(30) Smallint Integer Char(6) 约束 Primary key Not null ---- ---- In(’必修课’、’选修课’)、Default(’必修课’)

2、 表之间的联系:

III. 系统维护设计:

一、 安全性要求:

在这个系统中应该有三种用户:第一种是学生,这部分用户对系统中的数据只有查询的权限,没有任何修改的权限;第二种是教师。这部分用户对系统中的数据不仅有查询的权限,对有关其所涉及的课程的学生成绩还具有添加、修改、删除的功能;第三种用户是系统的管理员。他具有最高权限,可以对系统中的任何数据作任何操作。一般由学院的特定的人专门承担此任务。

二、 使用方式要求:

用户在可视化的环境中使用该系统,通过用户名和口令对用户的访问(及权限)进行限制。此系统平均应该能满足500人同时访问系统中的数据库,最高峰应能达到平均访问量得两倍。查询响应时间不应该对于3秒。

三、 可扩充性要求:

系统中的数据库可以随学院规模的变化进行动态的扩充或缩减。功能根据学院不同时期的不同要求做出适当的增删。

IV. SQL查询

一、 所有来自北京的男生: Select sname From student

Where ssex=’男’ and splace=’北京’;

二、 所有成绩>90的同学 Select Student.sno,sname From Student,Grade

Where Student.sno=Grade.sno And Grade.Gmark>90;

三、 教授数据库的老师 Select Teacher.Tno,Tname From Teacher,TC,Course Where Teacher.Tno=TC.Tno And TC.Cno=Course.Cno And Course.Cname=’DB’;

四、 03班年龄最大的5名同学

五、 某年以后出生的男同学

六、 选修某课程的学生及其成绩 七、 没有授课的教师 八、 某学生所选课程的总学分 九、 教授某学生必修课程的老师情况 十、 某学生选修了哪些系的课程 十一、 某系学生所学的所有课程

十二、 按总学分找出某系学习最好的5名同学 十三、 按总学分积找出某系学习最好的5名同学 十四、 可以毕业的学生

V. 参考文献

《数据库系统概论》高等教育出版社 王珊

《SQL Server 2000 上机实验指导》清华大学出版社 及其它相关参考书

本文来源:https://www.bwwdw.com/article/uf36.html

Top