教务管理系统数据库设计_第1页
教务管理系统数据库设计_第2页
教务管理系统数据库设计_第3页
教务管理系统数据库设计_第4页
教务管理系统数据库设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、共享知识分享快乐 盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 教务管理 数据库系统课程设计 卑微如蝼蚁、坚强似大象 目录 1、需求分析 2 1 1 信息要求: 2 1 2 处理要求: 2 1 3 安全性与完整性要求: 2 1 4 系统功能的设计和划分 2 第一部分:用户管理部分 3 第二部分:管理员管理部分 3 2、概念设计 3 2.1 概念模型( E-R 图): 3 2.2 数据字典: 5 a、数据项5 b、数据结构5 c、数据流5 d、数据存储6 e 、处理过程 6 2.3 数据流图 7 3、逻辑结构设计 7 3.1 E-R 图向关系模型的转换(关系的码用下横线表出) 7 3.2 设

2、计用户子模式 8 4、物理设计 8 41选择存取方法 8 42确定数据库的存储结构 8 43评价物理结构 9 5、系统实施 9 6、运行维护 10 1、需求分析 1 1 信息要求: 教务管理系统涉及的实体有: 教师工作证号、姓名、职称、电话等; 学生学号、姓名、性别、出生年月等; 班级班号、最低总学分等; 系系代号、系名和系办公室电话等; 课程课序号、课名、学分、上课时间及名额等。 这些实体之间的联系如下: 每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。 每个班的班主任都由一名教师担任。 一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同

3、的(课序号是唯一的) 。 一名同学可以选多门课,一门课可被若干同学选中。 一名同学选中的课若已学完,应该记录有相应成绩。 本单位学生、教师都有重名,工作证号、学号可以作为标识。 1 2 处理要求: 教学系统主要提供数据维护、 选课和信息查询。 其中常见的查询有: 系统中各对象的基本信息查询。 查 询指定班、系的学生信息(名单、人数等) 。查询学生的成绩、学分情况。查询教师授课情况和学生选课情 况。 1 3 安全性与完整性要求: 安全性要求: 1. 系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码, 保证用户身份不被 盗用; 2. 系统应对不同的数据设置不同的访问级别,限制

4、访问用户可查询和处理数据的类别和内容; 3. 系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。 完整性要求: 1. 各种信息记录的完整性,关键信息记录内容不能为空; 2. 各种数据间相互的联系的正确性; 3. 相同的数据在不同记录中的一致性。 1 4 系统功能的设计和划分 根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分: 第一部分:用户管理部分 1、处理用户注册 2、处理用户登录 3、用户可以查询学生信息。 4、用户可以查询快件信息。 5、用户可以提交与查询报修信息。 6、用户可以插入与删除用户自己的离返校信息。 7、用户可以修改用户自己密码。 第

5、二部分:管理员管理部分 各部分完成的功能如下: 1、处理管理员登录 2、管理员可以查询学生信息。 3、管理员可以发布与更新快件信息。 4、管理员可以插入、修改与查询报修信息。 5、管理员可以插入与查询学生夜归信息。 6、管理员可以查询在校与离校学生信息。 7、管理员可以修改管理员密码。 2、概念设计 2.1概念模型(E-R图): 岀生年月 (最低总学分)(班号) c工作证号 % 姓名)(职称 姓名 学生 性别 属于 班级 教师 -电话 隶属关系的分E-R图 属于 n 工作 系 系代号 系名系办公室电话; 选修联系的分 E-R图 负责联系的分 E-R 课序号课名 学分 教师 授课 工作证号姓名

6、职称 电话” 授课联系的分 E-R 上课时间 课程 姓名 岀生年月 学生 选修 属于 1 班级 n 课序号 i课名 X 学分 上课时间 课程 授课 !最低总学分 属于 工作 1工作证号!姓名职称;电话 系代号 系名;系办公室电话: 教师 教务管理系统的总 E-R图 2.2数据字典: a. 数据项 编号 属性名 存储代码 类型 长度 备注 1 学号 Sno char 11 学生编号 2 姓名 Sn ame char 20 学生的姓名,任意合法字符 3 性别 Ssex char 2 学生的性别 4 :出生年月 Sbirth date 出生时间间接表示年龄 5 :班号 Class char 6 班级

7、编号 6 最低总学分 TotalCredit 浮点数 4 必须修足的学分总数 7 工作证号 Tno char 6 教师的编号 8 教师姓名 Tn ame char 20 教师的姓名,任意合法的字符 9 :职称 Title char 8 教师的职位称号 10 电话 Tel char 11 教师的联系电话 11 系代号 Dno char 3 院系的编号 12 :系名 Departme nt char 10 院系的名称 13 系办公室电话 Dphone char 11 院系办公室的工作电话 14 课序号 Cno char 6 可区分不同老师教授的同一课程 15 :课名 Cn ame char 20

8、课程的名称 16 学分 Credit 浮点数 2 课程的学分 17 ;上课时间 Ctime datetime 上课的时间 18 名额 Cnum Int 课容量 19 成绩 Grade Int 选课学生某门课的成绩 b、数据结构 编号 数据结构名 组成 1 学生 学号、姓名、性别、出生年月、所属班级班号 2 教师 工作证号、教师姓名、职称、电话、所在系的系号 3 班级 班号、最低总学分、班主任的工作证号、所属系的系号 4 系 系代号、系名、系办公室电话 5 课程 课序号、课名、学分、上课地点、名额、授课教师的工作证号 6 选课记录 课序号、学号、成绩 c、数据流 编号 数 据流 名 输 入 输

9、出 1 变更学生信息 变更信息 学生信息 2 查询学生信息 学号 学生信息 3 变更教师信息 变更信息 教师信息 4 查询教师信息 工作证号 教师信息 5 变更班级信息 变更信息 班级信息 6 查询班级信息 班号 班级信息 7 变更系信息 变更信息 系信息 8 查询系信息 系代号 系信息 9 变更课程信息 变更信息 课程信息 10 查询课程信息 课序号 课程信息 11 选课 选课表变更信息 选课信息 12 查询选课信息 学号或课序号 选课信息 13 查询授课信息 工作证号 授课信息 d、数据存储 数据存储名 输入数据流 输出数据流 说明部分 学生信息表 修改学生信息 学生信息 某课程的学生信息

10、 教师信息表 修改教师 授课教师信息 班主任信息 课程信息表 所有开设课程信息 学生选择的课程信息 教师任教的课程信息 选课表 学生所有的选课记录 学生的选课表 随机存取记录学生本学期所 选课程信息 班级信息表 所有班级信息 班级基本信息 系信息表 所设系的信息 系的基本信息 e、处理过程 处理过程名 输入数据流 输出数据流 选课 选课信息 选定课信息 登记成绩 成绩信息 学生所选课程成绩信息 修改学生信息 更改学生信息 修改后的学生信息 修改教师信息 更改教师信息 修改后的教师信息 数据维护 各信息表的修改信息 修改后各信息表 2.3数据流图 课程信息 选课信息 选课信息 成绩信息 学生 选

11、课 登讣”成绩信息 成绩丿 课程信息 教师 卓学生信息 教师信息 系信息 班级信息 查询 选课信息 选课信息 修改学 学生信息 选 课 信 自 r、1、 生信息 选课信息 查询 选课信息 学生信息 绩 信 息1 F 学生信息表 查询学 生信息 教师信息 学生信息 教师信息 系信息 班级信息 查询教 师信息 总数据流图 3、逻辑结构设计 3.1 E-R图向关系模型的转换(关系的码用下横线表出) 教师(工作证号,姓名,职称,电话,系代号) 代码表示: Teacher ( Tno, Tn ame. Title, Tel, Dno ) 此为“教师”实体对应的关系模式。其中1: n联系“工作”与此关系模

12、式合并,Dno为外码。存在的 函数依赖为Tno t (Tname, Title , Tel , Dno),且不存在多值依赖,所以满足4NF。 学生(学号,姓名,性别,出生年月,班号) 代码表示:Stude nt ( Sno, Sn ame, Ssex, Sbirth, Class ) 此为“学生”实体对应的关系模式。其中1: n联系“属于”与此关系模式合并,Class为外码。存在的 函数依赖为 Sno t ( Sname Ssex, Sbirth , Class ),且不存在多值依赖,所以满足4NF。 系(系代号,系名,系办公室电话)| 代码表示: Department ( Dno, Dnam

13、e, Dphone ) 此为“系”实体对应的关系模式。存在的函数依赖为Dno t (Dname Dphone),且不存在多值依赖, 所以满足4NF 课程(课序号,课名,学分,上课时间,名额,工作证号) 代码表示:Course ( Cno, Cn ame. Credit, Ctime, Cnum, Tno ) 此为“课程”实体对应的关系模式。其中1: n联系“授课”与此关系模式合并,Tno为外码。存在的 函数依赖为 Cno t (Cname Credit , Ctime , Cnum Tno),且不存在多值依赖,所以满足4NF。 选课(学号,课序号,成绩) 代码表示:SC ( Sno, Cno,

14、 Grade ) 此为m: n联系“选修”所对应的关系模式。Sno和Cno均为外部码。存在的函数依赖为完全函数依赖(Sno, Cno) t Grade,且不存在多值依赖,所以满足4NF。 班级(班号,最低总学分,工作证号,系代号) 代码表示:Class ( Class, TotalCredit, Tno, Dno ) 此为“班级”实体对应的关系模式。其中1: n联系“属于”和1:1联系“负责”与此关系模式合并 Tno和Dno为外码。该关系模式中存在传递函数依赖:Class t Tno, (Tno Class),Tno t Dno, 可得Class t Dno,故Class不属于3NF。解决方法

15、是将其模式分解为:Class ( Class, TotalCredit, Tno ) 和T-D( Tno, Dno),分解后的关系模式满足4NF,并且T-D与Teacher的码相同,可合并为同一模式。但 是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接 查询,而连接是影响查询效率的主要原因,所以取消对Class的模式分解。此时 Class关系模式满足2NF。 3.2设计用户子模式 为了方便程序查询,建立了如下用户视图: 1、某系的学生信息视图(学号,姓名,性别,出生年月,班号) 2、某系的教师信息视图(工作证号,教师姓名,职称,电话

16、,负责班级) 3、某课程的学生成绩单(学号,姓名,班级,成绩) 4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间) 5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额) 4、物理设计 4.1选择存取方法 1、 数据库管理系统自动在每个表的主码上建立索引,通常为B +树索引。 2、在Student表Sname列上建立Stu_name索引,因为查询操作很多都使通过学生姓名进行的。 3、在Teacher表Tname列上建立Tea_name索引,因为查询操作很多都使通过教师姓名进行的。 4 . 2确定数据库的存储结构 1、为了提高系统性能,根据具体情况将数据的易变部分

17、与稳定部分、经常存取部分和存取频率较低部 分分开存放。 2、DBMS产品一般都提供了一些系统配置变量、存储分配参数,根据应用环境确定这些参数值,并且 在系统运行时还要根据系统实际运行情况进行调整,以使系统性能最佳。 4 3 评价物理结构 根据所选用的 DBMS ,如 SQL Server 2000 ,从定量估算各种方案的存储空间、存取时间和维护代价入 手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。 5、系统实施 编写关系模式,载入数据。分期分批地组织数据入库,先输入小批量数据做调试用,待试运行基本合 格后,再大批量输入数据,逐步增加数据量,逐步完成运行评价。需要注意的是,要首先调

18、试运行DBMS勺 恢复功能,做好数据库的转储和恢复工作。 基本SQL语言代码如下: CREATE SCHEMA TeachAffair AUTHORIZATION Gao CREATE TABLE Department (Dno CHAR(3) PRIMARY KEY, /* Dept CHAR(20) UNIQUE NOT NULL, Dphone CHAR(11), ); 列级完整性约束条件, Dno 是主码 */ CREATE TABLE Teacher (Tno CHAR(6) PRIMARY KEY, /* 列级完整性约束条件, Tno是主码*/ Tname CHAR(20) NOT

19、 NULL, Title CHAR(8), Tel CHAR(11), Dno CHAR(3), FOREIGN KEY (Dno) REFERENCES Department(Dno) /* 表级完整性约束条件, Dno 是外码 */ ); CREATE TABLE Class (Class CHAR(6) PRIMARY KEY, /* 列级完整性约束条件, Class 是主码 */ TotalCredit NUMERIC(4,1), Tno CHAR(6), Dno CHAR(3), FOREIGN KEY (Tno) REFERENCES Teacher(Tno), /* 表级完整性约

20、束条件, Tno 是外码 */ FOREIGN KEY (Dno) REFERENCES Department(Dno) /* 表级完整性约束条件, Dno 是外码 */ ); CREATE TABLE Student (Sno CHAR(11) PRIMARY KEY, /* 列级完整性约束条件, Sno 是主码 */ Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sbirth DATETIME, Class CHAR(6), FOREIGN KEY (Class) REFERENCES Class(Class) /*表级完整性约束条件, Class 是外码

21、*/ ); CREATE TABLE Course (Cno CHAR(6) PRIMARY KEY, /* 列级完整性约束条件, Cno 是主码 */ Cname CHAR(20) NOT NULL, Credit NUMERIC(2,1), Ctime DATETIME, Cnum SMALLINT, Tno CHAR(6), FOREIGN KEY (Tno) REFERENCES Teacher(Tno) /* 表级完整性约束条件, Tno 是外码 */ ); CREATE TABLE SC (Sno CHAR(11) NOT NULL, Cno CHAR(6) NOT NULL, G

22、rade SMALLINT CHECK(Grade=0 AND Grade=100), PRIMARY KEY (Sno, Cno),/* 主码由两个属性构成,必须作为表级完整性进行定义 */ FOREIGN KEY (Sno) REFERENCES Student(Sno) /* 表级完整性约束条件, Sno 是外码 */ ON DELETE CASCADE /*当删除 Student 表中的元组时,级连删除 SC 表中相应的元组 */ ON UPDATE CASCADE, /* 当更新 Student 表中的 Sno 时,级连更新 SC 表中相应的元组 */ FOREIGN KEY (Cn

23、o) REFERENCES Course(Cno) /* 表级完整性约束条件, Sno 是外码 */ ON DELETE NO ACTION /* 当删除Course表中的元组造成了与 SC表不一致时,拒绝删除*/ ON UPDATE CASCADE, /* 当更新Course表中的Cno时,级连更新 SC表中相应的元组*/ ); /*DROP TABLE SC;*/ /* 建立索引 */ CREATE UNIQUE INDEX Stu_name ON Student(Sname); CREATE UNIQUE INDEX Tea_name ON Teacher(Tname); CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC); /* 查询某个系(以 GIS 为例)的学生信息 */ CREATE VIEW GIS_Student /*建立某个系(以 GIS为例)的学生信息视图*/ AS SELECT * FROM Student WHERE Class IN (SELECT Class FROM Class WHERE Dname=GIS) WITH CHECK OPTION; SELECT * FROM GIS_Student; SELECT COUNT(*)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论