数据库系统:学生信息数据库
一、学生信息数据库主要有如下功能
1、用户能存储学生个人情况的有关信息。
2、用户能存储学生学习情况的有关信息。
3、用户能存储学生老师情况的有关信息。
4、用户能存储学生班级情况的有关信息。
5、用户能对上述信息进行录入、修改、删除等操作。
6、用户能通过多种方式对上述信息进行查询和统计。
7、用户能对查询和统计记过进行报表输出。
二、数据库的逻辑结构
数据库的E-R图如下所示:
1、E-R图向关系模型转换
在如上E-R图中1:1的关系有1个;1:n的关系有1个;n:m的关系有2个。共4个。
实体关系:
学生(学号,姓名,出生日期,所在系,年级,平均成绩)
教师(职工号,姓名,性别,职称,是否优秀班主任)
课程(课程号,课程名,学分)
班级(班级号,学生人数)
联系关系:
对于1:1联系“管理”,可在教师模式中加入班级号。
教师(职工号,班级号,姓名,性别,职称,是否优秀班主任)
对于1:n联系“组成”,可在学生模式中加入班级号。
学生(学号,班级号,姓名,出生日期,所在系,年级,平均成绩)
对于n:m联系“教学”,生成一个新的关系模式。
教学(学号,职工号)
对于n:m联系“选修”,生成一个新的关系模式。
选修(学号,课程号,成绩)
整合关系模式如下:
学生(学号,班级号,姓名,出生日期,所在系,年级,平均成绩)
教师(职工号,班级号,姓名,性别,职称,是否优秀班主任)
教学(学号,职工号)
选修(学号,课程号,成绩)
课程(课程号,课程名,学分)
班级(班级号,学生人数)
2、数据模型优化
数据依赖:
课程关系模式存在下列数据依赖:
课程号 课程名
课程号 学分
选修关系模式存在下列数据依赖:
(学号,课程号) 成绩
学生关系模式存在下列数据依赖:
(学号,班级号) 姓名
(学号,班级号) 出生日期
(学号,班级号) 所在系
(学号,班级号) 年级
(学号,班级号) 平均成绩
教师关系模式存在下列数据依赖:
(职工号,班级号) 姓名
(职工号,班级号) 性别
(职工号,班级号) 职称
(职工号,班级号) 是否优秀班主任
班级关系模式存在下列数据依赖:
班级号 学生人数
学生关系模式的学号与选修关系模式的学号存在下列数据依赖:
学生.学号 选修.学号
规范化程度:
经过分析可知,学生关系存在如下决定:
(学号,班级号) 姓名,出生日期,所在系,年级,平均成绩
这个数据库表不满足第二范式,因为也存在如下决定:
班级号 (所在系,年级)
经过分析可知,教师关系属于第三范式。
经过分析可知,教学关系属于第一范式。
经过分析可知,选修关系属于第三范式。
经过分析可知,课程关系属于第二范式。
经过分析可知,班级关系属于第二范式。
确定是否分解:
在学生关系中,虽然所在系和年级可以从班级号属性中推出,但如果应用中要经常查询学生的所在系和年级,为了提高效率,可以保留数据的冗余,对关系模式不再进行进一步分解。
3、设计用户子模式
在教师关系模式中定义两个外模式:
教师_学籍管理(职工号,姓名,性别,职称)
教师_课程管理(职工号,姓名,性别,班级号,是否优秀班主任)
授权学籍管理应用只能访问教师_学籍管理视图;
授权课程管理应用只能访问教师_课程管理视图;
授权教师管理应用可以访问教师表。
在学生关系模式中定义两个外模式:
学生_学籍管理(学号,姓名,性别,出生日期,所在系。班级号)
学生_课程管理(学号,姓名,性别,所在系,班级号,平均成绩)、
授权学籍管理应用只能访问学生_学籍管理视图;
授权课程管理应用只能访问学生_课程管理视图;
授权教师管理应用可以访问学生表。
在选修关系中定义一个外模式:
选修_课程选修(学号,课程号)
授权课程选修只能访问选修_课程选修视图;
授权选修管理应用可以访问选修表。