学生成绩管理系统数据库设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统数据库
课题: 雇员信息管理系统
姓名:
学号:
同组姓名:
专业班级:
指导教师:
设计时间:2012年6月4号----2012年6月10日
一、需求分析阶段
1.信息需求
对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。
2.功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
3. 安全性与完整性要求
对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。
二、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计成绩管理数据库包括学生、成绩、课程、教师四个关系。
E-R图如下
三、详细设计阶段
详细结构是独立于任何一种数据模型的信息结构。详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:
课程信息表
Class:(课程号,课程名,教师号,学分,学时)学生信息表
Student1:(学号,姓名,性别,年龄,专业,系别)成绩表
Score:(学号号,课程名,成绩)
教师表
Teacher1:(教师号,教师名,教师性别,教师系别)
2、学生信息表(student1)
四、数据库实现
数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。
在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。
1.创建课程-班级表:
create table Class( //创建课程信息表
cno char(10) primary key, //课程号
cname char(10) not null, //课程名
teano char(10) Not null //教师号
credit char(4), Not null //学分
ctime char(50), Not null //学时
)
2.创建课程信息-学生表:
create table student1( //创建学生信息表
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, / /系别
)
3. 创建课程信息-教师表
create table teacher1( //创建教师信息表
tno char(10) primary key, //教师号
tname varchar(50) not null, //教师名
tsex char(2), //教师性别
tdepart varchar(50) //教师系别
)
4.创建课程信息-成绩表
create table score( //创建成绩表
sno char(10), //学号
cno char(10), //课程号
)
学生信息相关表格
课程信息相关表格
成绩信息表
教师信息表
五、数据库运行代码
1、数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除(1)基本表的创建,建表语句
create table students(
stuno char(10) primary key,
stuname varchar(40) not null,
stusex char(2) not null,
stuage char(10) not null,
stumajor char(10) not null,
studepart char(10) not null,
)
(2)基本表的删除
drop table students
2、数据操作
数据库查询操作
A.单表查询:
(1)查询sno为08081111学生的sname
select sname
from student1
where sno='08081111'
(2)查询ssex为’女’并且sdepart为’计算机’的sname
select sname
from student1
where ssex ='女' and
sdepart ='计算机'
(3)查询所有学生的姓名和系别。
select sname,depart
from student1
(4)查询depart为计算机的sname。
select sname
from student1
where depart ='计算机'
(5)查询所有学生所在院系名称
select distinct depart
from student
(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别select sname,depart