学生成绩管理系统数据库设计.doc
《学生成绩管理系统数据库设计.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库设计.doc(8页珍藏版)》请在冰点文库上搜索。
数据库设计
一.确定实体、联系集和属性集
根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理
流程,找出与系统有关的各个实体及其相互联系如下:
①标识实体集
管理员、教师、学生、班级、课程、成绩
②标示联系集
管理员和学生:
一个管理员管理多个学生信息,能够对学生的个人信息进行增加、查看、修改、删除,能够按照特定要求(比如学号、姓名等)查找学生;
存在“管理”关系:
1:
N
管理员和班级:
一个管理员管理多个班级信息,能够对班级的信息进行增加、查看、修改、删除,能够按照特定要求(比如班级编号、班级名称等)查找班级;
存在“管理”关系:
1:
N
管理员和课程:
一个管理员管理多门课程信息,能够对课程信息进行增加、查看、修改、删除,能够按照特定要求(比如课程编号、课程名称等)查找课程;
存在“管理”关系:
1:
N
管理员和录入的学生的成绩:
能够对录入学生的成绩、查看学生的成绩、修改学生的成绩、导出学生的成绩为Exls表,并且按照特定要求查询(比如以班级为单位,以课程为单位)学生的成绩;
存在“管理”关系:
1:
N
管理员和教师:
能够对教师信息进行增加、查看、修改、删除,能够按照特定要求(比如工号、姓名等)查找课程;
存在“管理”关系:
1:
N
教师和学生:
能够对学生的个人信息进行增加、查看、修改、删除,能够按照特定要求(比如学号、姓名等)查找学生;
存在“管理”关系:
1:
N
教师和班级:
能够对班级信息进行增加、查看、修改、删除,能够按照特定要求(比如班级编号、班级名称等)查找班级;
存在“管理”关系:
1:
N
教师和课程:
能够对课程信息进行增加、查看、修改、删除,能够按照特定要求(比如课程编号、课程名称等)查找课程;
存在“管理”关系:
1:
N
教师和成绩:
能够对录入学生的成绩、查看学生的成绩、修改学生的成绩、导出学生的成绩为Exls表,并且按照特定要求查询(比如以班级为单位,以课程为单位)学生的成绩,该教师仅能录入自己所带课程的学生成绩;
存在“管理”关系:
1:
N
学生和班级:
一个班由多个学生组成,一个学生只能归属于某个班;
存在“归属”的关系:
N:
1
学生和课程、成绩:
一个学生可以选修多门课程,一门课程提供给多个学生选修,一个学生选修一门课程产生一个成绩;
存在“选修”的关系:
N:
M:
1
③标示属性集
管理员(管理员编号、姓名)
教师(工号、姓名、岗位、专业)
学生(学号、姓名、性别、年龄、入学时间、毕业时间、班级编号)
班级(班级编号、班级名称、班级类型、班级状态、班级信息、说明)
课程(课程编号、课程名、课时、课程说明)
成绩(学号,课程号,学期,成绩)
二.确定关联画出ER图
2.1管理员实体集的ER图
2.2教师实体集的ER图
2.3学生实体集的ER图
2.4班级实体集的ER图
2.5课程实体集的ER图
2.6成绩实体集的ER图
三.画出总ER图
3.1部分ER图
3.2部分ER图
四.逻辑数据库设计
逻辑结构是独立于任何一种数据模型的信息结构。
逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为
关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩、班级、管理员六个关系,其关系模式中对每个实体定义的属性如下:
课程信息表:
Course(课程编号、课程名、课时、课程说明)
字段名
描述
字段类型
字段限制
courseId
课程编号
number(10,0)
primarykey
courseName
课程名
varchar2(255)
courseHour
课时
varchar2(255)
coursecredit
课程说明
varchar2(255)
学生信息表
Student(学号、姓名、性别、年龄、入学时间、毕业时间、班级编号)
字段名
描述
字段类型
字段限制
stuId
学号
number(10,0)
primarykey
stuName
姓名
varchar2(255)
sex
性别
varchar2(255)
age
年龄
number(10,0)
startTime
入学时间
varchar2(255)
finishTime
毕业时间
varchar2(255)
fk_s_g
班级编号
number(10,0)
教师信息表
Teacher(工号、姓名、岗位、专业)
字段名
描述
字段类型
字段限制
teacherId
工号
number(10,0)
primarykey
teacherName
姓名
varchar2(255)
profession
专业
varchar2(255)
station
岗位
varchar2(255)
成绩信息表
Score(学号,课程号,学期,成绩)
字段名
描述
字段类型
字段限制
StuId
学号
number(10,0)
primarykey
courseId
课程号
number(10,0)
primarykey
score
成绩
varchar2(255)
term
学期
varchar2(255)
班级信息表
Grade(班级编号、班级名称、班级类型、班级状态、班级信息)
字段名
描述
字段类型
字段限制
gradeId
班级编号
number(10,0)
primarykey
gradeName
班级名称
varchar2(255)
gradeState
班级状态
varchar2(255)
gradeType
班级类型
varchar2(255)
remark
班级信息
varchar2(255)
管理员信息表
User(管理员编号、姓名、密码)
字段名
描述
字段类型
字段限制
userId
管理员编号
number(10,0)
primarykey
password
密码
varchar2(255)
userName
姓名
varchar2(255)