学生成绩管理系统数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统数据库
班级
一、需求分析阶段
1.信息需求
学生成绩管理系统是应对学生人数增多,信息量增大的问题,实现管理的现代化,网络化,逐步摆脱学生成绩管理的人工管理方式。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
2.功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
3. 安全性与完整性要求
(1)系统应该设置访问用户的标志以鉴别是否是合法用户,要求合法用户设置密码,保证用户身份的安全性。
(2)系统对不同用户设置不同权限,区分不同用户,如学生,教师。
(3)各种信息记录的完整性,不能为空。
(4)各种数据相互联系的正确性。
二、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计学生成绩管理数据库包括学生、成绩、课程、教师四个关系。
E-R图如下
学生部分E-R图
课程部分E-R图
教师部分E-R图
成绩部分E-R图基本E-R图
三、逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系
模式中对每个实体定义的属性如下(其中码用下横线标出):
课程信息表:
课程(课程号,课程名,课程类型,学分,学时)
学生信息表:
学生(学号,姓名,性别,年龄,专业,学院)
成绩表:
成绩(学号,课程名,成绩)
教师表:
教师(教师号,姓名,性别,学院,电话)
选课表:
选课(学号,课程号,成绩)
授课表:
授课(课程号,教师号)
四、物理设计阶段
数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。
1、课程信息表(class)
2、学生信息表(student)
3.教师表(teacher)
4.成绩表(grade)
5.选课关系表(class_choice)
6. 授课关系表(teach_class)
五、数据库实现
1、创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表
主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。
在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。
创建数据库后,为student_system数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
create table Class( //创建课程信息表
cno char(10) primary key, //课程号
cname char(10) not null, //课程名
ctype char(10) Not null //课程类型
credit char(4), Not null //学分
ctime char(50), Not null //学时
)
执行上述SQL语句即可创建课程信息表相关表格
create table student( //创建学生信息表
sno char(10) primary key, //学号
sname char(10) not null, //姓名
ssex char(2) not null, //性别
Sage char(2) not null, //年龄
Major char(10) not null, //专业
Depart char(10) not null, / /系别
)
执行上述SQL语句即可创建学生信息表相关表格
create table teacher1( //创建教师信息表
tno char(10) primary key, //教师号
tname char(50) not null, //教师名
tsex char(2), //教师性别
tdepart char(50) //教师系别
)
执行上述SQL语句即可创建教师信息表相关表格
create table grade( //创建成绩表
sno char(10), //学号
cno char(10), //课程号
执行上述SQL语句即可创建成绩信息表相关表格
create table grade(