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)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行

定义。

作为一种应用,数据库必须在动手的基础上才能更好的学习,更有效的学习。正是在一次次的

上机以及作业当中,我体会到了数据库作为一种应用所带给我们的种种便利。感谢老师的悉心教

导以及同学的帮助,我才能较快速的完成作业。

本文标签: 数据库学生成绩信息