admin管理员组文章数量:1546502
2024年6月2日发(作者:)
学生成绩管理系统数据库
课 题: 雇员信息管理系统
姓 名:
学 号:
同组姓名:
专业班级:
指导教师:
设计时间:2012年6月4号----2012年6月10日
一、需求分析阶段
1.信息需求
对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成
绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能
力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的
管理环境。
2.功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能。
具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、
查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。
3. 安全性与完整性要求
对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本
人以及所教老师及教务处知道,因此做好数据安全性是重中之重。另外,要求所
有在校学生的信息都要录入其中,并且要设计好个别情况。
二、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、
归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计成绩管理数据库包括学生、成绩、课程、教师四个关系。
E-R图如下
教师号
学分
课程名
课程号
教师号
教师名
学时
课程信息表
教课
教师信息表
教师性别
教师系别
学号
选课
成
绩
课程号
成绩
系别
专业
性别
年龄 学号
学生信息表
姓名
三、详细设计阶段
详细结构是独立于任何一种数据模型的信息结构。详细结构的任务是把概
念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相
符合的逻辑结构,并对其进行优化。
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化
为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系
模式中对每个实体定义的属性如下:
课程信息表
Class
:(课程号,课程名,教师号,学分,学时)
学生信息表
Student1:(学号,姓名,性别,年龄,专业,系别)
成绩表
Score:(学号号,课程名,成绩)
教师表
Teacher1
:(
教师号,教师名,教师性别,教师系别
)
1、课程信息表(class)
字段名 描述 数据类型
cno
cname
teano
credit
ctime
课程号
课程名
教师号
学分
学时
char(10)
char(10)
char(10)
char(4)
char(50)
字段限制
Primarykey
Not null
Not null
Not null
Not null
2、学生信息表(student1)
字段名
sno
sname
ssex
sage
major
depart
描述
学号
姓名
性别
年龄
专业
系别
数据类型
char(10)
char(10)
char(2)
char(2)
char(10)
char(10)
字段权限
Primarykey
Not null
Not null
Not null
Not null
Not null
3.教师表(teacher1)
字段名
teano
tname
Tsex
Tdepart
属 性
教师号
教师名
教师性别
教室系别
数据类型
char(10)
char(10)
char(2)
char(10)
字段权限
Primarykey
Not null
Not null
Not null
4.成绩表
字段名
sno
cno
degree
属 性
学号
课程名
成绩
数据类型
char(10)
char(10)
char(10)
字段权限
Primarykey
Not null
Not null
四、数据库实现
数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。
创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表
主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过
程其实就是定义字段的过程。
在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和
成绩表。
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), //课程号
)
学生信息相关表格
Sno
08081101
08082111
08083111
=08081122
08081121
课程信息相关表格
Cno
0301
0302
0303
0304
0305
0306
0307
0308
0309
cname
数据库
网络
系统结构
tno
001
002
003
credit
2
2.2
2.4
2.6
2.8
3.0
3.2
3.4
3.5
ctime
24
18
36
32
30
32
30
45
35
sname
张三
王四
李五
刘六
赵七
ssex
男
女
男
女
女
sage
22
23
22
22
20
major
计算机
软件
通信
计算机
计算机
depart
计算机系
计算机系
计算机系
计算机系
计算机系
计算机组成原理 004
数据结构
操作系统原理
数据库原理
英语
高数
005
006
007
008
009
成绩信息表
Sno
08081111
08081111
08081111
08081222
08081222
08081222
08081313
08081313
08081313
08081412
08081412
08081412
教师信息表
tno
001
002
003
004
005
006
007
008
009
tname
王大
李大
张大
刘大
黄大
黄大
王大
徐大
刘大
tsex
女
男
男
女
男
男
男
女
女
tdepart
计算机
计算机
计算机
计算机
计算机
计算机
计算机
计算机
计算机
Cno
0306
0303
0305
0306
0304
0301
0306
0302
0304
0306
0308
0307
Degree
85
90
86
82
84
81
93
79
85
94
74
86
五、数据库运行代码
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
from student1
where sage>21 or sage<21
(7)查询
所有学生的平均年龄
select avg(sage) as 平均年龄
from Student1
结果:
B.连接查询
(1)学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名
Select
,,,,
from student,class,score,teacher1
Where = and =
=
(2)找出教授数据库原理的老师的教师名
select
from class,teacher1
Where = and ='数据库原理'
C.操作结果集查询
查询08081222号同学和08081312号同学共同选修的课程
Select cno
From score
Where sno='08081222'
Intersect
Select cno
From score
Where sno='08081312'
3、数据库更新操作
A.插入数据
向Student1表中添加一项记录:
姓名:秦二,学号:08081131,性别:男,年龄:22专业:计算机,系别:计算机
Insert
Into
Student1(Sno,Sname, Ssex,sage,major,depart)
Values ('08081131','
秦二
', '男',' 22',' 计算机','计算机')
B.修改数据
修改陈琦的学号为08081331:
,
and
Update Student1
Set Sno=’08081331’
Where Sname=’陈三’;
C.删除数据
删除所有计算机学生的记录
Delete
from student1
Where(depart=’计算机’);
七、总结
本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所以
整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其
他同学请教的过程中我收获了很多。
(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才可以对另
一个表进行引用。
(2)在设计表时应注意使用正确的字段类型。
(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行
定义。
作为一种应用,数据库必须在动手的基础上才能更好的学习,更有效的学习。正是在一次次的
上机以及作业当中,我体会到了数据库作为一种应用所带给我们的种种便利。感谢老师的悉心教
导以及同学的帮助,我才能较快速的完成作业。
版权声明:本文标题:学生成绩管理系统数据库设计实验报告 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1717297324a556266.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论