好文档 - 专业文书写作范文服务资料分享网站

教务管理系统数据库设计

天下 分享 时间: 加入收藏 我要投稿 点赞

2.2数据字典: a.数据项

编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 属性名 学号 姓名 性别 出生年月 班号 最低总学分 工作证号 教师姓名 职称 电话 系代号 系名 系办公室电话 课序号 课名 学分 上课时间 名额 成绩 存储代码 Sno Sname Ssex Sbirth Class TotalCredit Tno Tname Title Tel Dno Department Dphone Cno Cname Credit Ctime Cnum Grade 类型 char char char date char 浮点数 char char char char char char char char char 浮点数 datetime Int Int 长度 11 20 2 6 4 6 20 8 11 3 10 11 6 20 2 学生编号 学生的姓名,任意合法字符 学生的性别 出生时间间接表示年龄 班级编号 必须修足的学分总数 教师的编号 教师的姓名,任意合法的字符 教师的职位称号 教师的联系电话 院系的编号 院系的名称 院系办公室的工作电话 可区分不同老师教授的同一课程 课程的名称 课程的学分 上课的时间 课容量 选课学生某门课的成绩 备 注 b、数据结构

编号 1 2 3 4 5 6 数据结构名 学生 教师 班级 系 课程 选课记录 组 成 学号、姓名、性别、出生年月、所属班级班号 工作证号、教师姓名、职称、电话、所在系的系号 班号、最低总学分、班主任的工作证号、所属系的系号 系代号、系名、系办公室电话 课序号、课名、学分、上课地点、名额、授课教师的工作证号 课序号、学号、成绩 c、数据流

编号 1 2 3 4 数 据 流 名 变更学生信息 查询学生信息 变更教师信息 查询教师信息 变更信息 学号 变更信息 工作证号 输 入 输 出 学生信息 学生信息 教师信息 教师信息

5 6 7 8 9 10 11 12 13 变更班级信息 查询班级信息 变更系信息 查询系信息 变更课程信息 查询课程信息 选课 查询选课信息 查询授课信息 变更信息 班号 变更信息 系代号 变更信息 课序号 选课表变更信息 学号或课序号 工作证号 班级信息 班级信息 系信息 系信息 课程信息 课程信息 选课信息 选课信息 授课信息 d、数据存储

数据存储名 学生信息表 教师信息表 课程信息表 选课表 班级信息表 系信息表 输入数据流 修改学生信息 修改教师 所有开设课程信息 学生所有的选课记录 所有班级信息 所设系的信息 输出数据流 学生信息 某课程的学生信息 授课教师信息 班主任信息 学生选择的课程信息 教师任教的课程信息 学生的选课表 班级基本信息 系的基本信息 随机存取 记录学生本学期所选课程信息 说 明 部 分 e、处理过程

处理过程名 选课 登记成绩 修改学生信息 修改教师信息 数据维护 选课信息 成绩信息 更改学生信息 更改教师信息 各信息表的修改信息 输入数据流 输 出 数 据 流 选定课信息 学生所选课程成绩信息 修改后的学生信息 修改后的教师信息 修改后各信息表

2.3 数据流图

课程信息 课程信息表 课程信息 查询 查询 课程成绩信息 信息 教师 学生选课信息信 息 查询学生信息 修改教师信息 教师信息 系信息 课程选课信息 信息 学生 学生信息 选课信息 修改学教师信息 生信息 查询教师信息 选课信息 选课 已选课信息 成绩信息 选课表 登记成绩 成绩信息 查询 选课信息 选课信息 查询 系信息 班级信息 学生信息 学生信息表 教师信息 教师信息表 学生信息 教师信息 班级信息 班级信息 查询 系信息 班级信息表 系信息表 总 数 据 流 图

班级信息 查询 系信息

3、逻辑结构设计

3.1 E-R图向关系模型的转换(关系的码用下横线表出)

教师(工作证号,姓名,职称,电话,系代号) 代码表示:Teacher ( Tno, Tname, Title, Tel, Dno )

此为“教师”实体对应的关系模式。其中1:n联系“工作”与此关系模式合并,Dno为外码。存在的函数依赖为Tno → (Tname,Title,Tel,Dno),且不存在多值依赖,所以满足4NF。

学生(学号,姓名,性别,出生年月,班号) 代码表示:Student ( Sno, Sname, Ssex, Sbirth, Class )

此为“学生”实体对应的关系模式。其中1:n联系“属于”与此关系模式合并,Class为外码。存在的函数依赖为Sno → (Sname,Ssex,Sbirth,Class),且不存在多值依赖,所以满足4NF。

系(系代号,系名,系办公室电话) 代码表示:Department ( Dno, Dname, Dphone )

此为“系”实体对应的关系模式。存在的函数依赖为Dno → (Dname,Dphone),且不存在多值依赖,

所以满足4NF。

课程(课序号,课名,学分,上课时间,名额,工作证号) 代码表示:Course ( Cno, Cname, Credit, Ctime, Cnum, Tno )

此为“课程”实体对应的关系模式。其中1:n联系“授课”与此关系模式合并,Tno为外码。存在的函数依赖为Cno → (Cname,Credit,Ctime,Cnum,Tno),且不存在多值依赖,所以满足4NF。

选课(学号,课序号,成绩) 代码表示:SC ( Sno, Cno, Grade ) 此为m:n联系“选修”所对应的关系模式。Sno和Cno均为外部码。存在的函数依赖为完全函数依赖(Sno,Cno) → Grade,且不存在多值依赖,所以满足4NF。

班级(班号,最低总学分,工作证号,系代号) 代码表示:Class ( Class, TotalCredit, Tno, Dno )

此为“班级”实体对应的关系模式。其中1:n联系“属于”和1:1联系“负责”与此关系模式合并

Tno和Dno为外码。该关系模式中存在传递函数依赖:Class → Tno, (Tno \\ Class),Tno → Dno,可得Class → Dno,故Class 不属于3NF。解决方法是将其模式分解为:Class ( Class, TotalCredit, Tno )和T-D( Tno, Dno),分解后的关系模式满足4NF,并且T-D与Teacher的码相同,可合并为同一模式。但是考虑到系统要经常进行系的学生信息查询,此时就不得不对Student、Class和Teacher三个表进行连接查询,而连接是影响查询效率的主要原因,所以取消对Class的模式分解。此时Class关系模式满足2NF。

3.2 设计用户子模式

为了方便程序查询,建立了如下用户视图:

1、某系的学生信息视图(学号,姓名,性别,出生年月,班号)

2、某系的教师信息视图(工作证号,教师姓名,职称,电话,负责班级) 3、某课程的学生成绩单(学号,姓名,班级,成绩)

4、教师授课信息表(工作证号,教师姓名,职称,教授课程,学分,上课时间) 5、学生已选课表(课序号,课名,学分,授课教师,上课时间,名额)

4、物理设计

4.1 选择存取方法

1、数据库管理系统自动在每个表的主码上建立索引,通常为B + 树索引。

2、在Student表Sname列上建立Stu_name索引,因为查询操作很多都使通过学生姓名进行的。 3、在Teacher表Tname列上建立Tea_name索引,因为查询操作很多都使通过教师姓名进行的。

4.2 确定数据库的存储结构

1、为了提高系统性能,根据具体情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。

2、DBMS产品一般都提供了一些系统配置变量、存储分配参数,根据应用环境确定这些参数值,并且在系统运行时还要根据系统实际运行情况进行调整,以使系统性能最佳。

4.3 评价物理结构

根据所选用的DBMS,如SQL Server 2000,从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择一个较优的合理的物理结构。

5、系统实施

编写关系模式,载入数据。分期分批地组织数据入库,先输入小批量数据做调试用,待试运行基本合格后,再大批量输入数据,逐步增加数据量,逐步完成运行评价。需要注意的是,要首先调试运行DBMS的恢复功能,做好数据库的转储和恢复工作。

基本SQL语言代码如下:

CREATE SCHEMA \

CREATE TABLE Department

(Dno CHAR(3) PRIMARY KEY, /*列级完整性约束条件,Dno是主码*/ Dept CHAR(20) UNIQUE NOT NULL, Dphone CHAR(11), );

CREATE TABLE Teacher

(Tno CHAR(6) PRIMARY KEY, /*列级完整性约束条件,Tno是主码*/ Tname CHAR(20) NOT 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), /*表级完整性约束条件,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是外码*/ );

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,

Grade SMALLINT CHECK(Grade>=0 AND Grade<=100),

PRIMARY KEY (Sno, Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno) /*表级完整性约束条件,Sno是外码*/

ON DELETE CASCADE /* 当删除Student表中的元组时,级连删除SC表中相应的元组*/

教务管理系统数据库设计

2.2数据字典:a.数据项编号12345678910111213141516171819属性名学号姓名性别出生年月班号最低总学分工作证号教师姓名职称电话系代号系名系办公室电话课序号课名学分上课时间名额成绩存储代码SnoSnameSsexSbirthClassTotal
推荐度:
点击下载文档文档为doc格式
7oour2dn2n4mu7526k929d31q9p63i00ecv
领取福利

微信扫码领取福利

微信扫码分享