课程设计报告《学生成绩管理系统》.docx

上传人:b****3 文档编号:3883099 上传时间:2023-05-06 格式:DOCX 页数:26 大小:27.66KB
下载 相关 举报
课程设计报告《学生成绩管理系统》.docx_第1页
第1页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第2页
第2页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第3页
第3页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第4页
第4页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第5页
第5页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第6页
第6页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第7页
第7页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第8页
第8页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第9页
第9页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第10页
第10页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第11页
第11页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第12页
第12页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第13页
第13页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第14页
第14页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第15页
第15页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第16页
第16页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第17页
第17页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第18页
第18页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第19页
第19页 / 共26页
课程设计报告《学生成绩管理系统》.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课程设计报告《学生成绩管理系统》.docx

《课程设计报告《学生成绩管理系统》.docx》由会员分享,可在线阅读,更多相关《课程设计报告《学生成绩管理系统》.docx(26页珍藏版)》请在冰点文库上搜索。

课程设计报告《学生成绩管理系统》.docx

课程设计报告《学生成绩管理系统》

 

数据库课程设计

实验报告

学生成绩管理系统

 

姓名:

学号:

班级:

专业:

 信息管理与信息系统

2011 年 11 月 09

一、需求分析阶段

1.信息需求

高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

学生成绩管理系

统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理

的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅

把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式

中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供

了一个准确、清晰、轻松的成绩管理环境。

2.功能需求

能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处

理的相应时间要短。

具体功能应包括:

系统应该提供课程安排数据的插入、删除、更新、查询;

成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

 

二、概念结构设计阶段

概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、

归纳与抽象,形成一个独立于具体 DBMS 的概念模型。

设计教室管理数据库包括学生、课程、教师三个关系。

经分析本系统的 E-R 图如下:

 

学生信息表

 

姓名姓名姓名

姓名

姓名

 

 

课程名课程号

课程信息表

 

教师号                 学时

 

教师信息表

 

教师名

教师性别     教师年龄

教师号

教师系别

 

成绩表

 

学号课程号成绩

各实体间的 E-R 图如下:

 

学分教师号

学时

 

课程号      课程名

 

教师名

教师性别

课程信息表教课

 

教师信息表

 

学号

教师年龄

教师号

 

教师系别

 

姓名

 

性别

选课

 

学生信息表

 

年龄

 

学号      专业

课程号

 

成绩

 

系别

 

关系图:

 

三、逻辑结构设计阶段

逻辑结构是独立于任何一种数据模型的信息结构。

逻辑结构的任务是把概

念结构设计阶段设计好的基本 E-R 图转化为宜选用的 DBMS 所支持的数据模型

相符合的逻辑结构,并对其进行优化。

E-R 图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化

为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关

系模式中对每个实体定义的属性如下:

课程信息表

字段名

描述

数据类型

字段权限

sno

学号

char(10)

Primary key

sname

姓名

char(10)

Not null

ssex

性别

char

(2)

Not null

sage

年龄

Int

Not null

major

专业

char(10)

Not null

sdept

系别

char(10)

Not null

字段名

描述

数据类型

字段限制

cno

课程号

char(10)

Primary key

cname

课程名

char(10)

Not null

tno

教师号

char(10)

Not null

credit

学分

char(4)

Not null

ctime

学时

char(50)

Not null

Class:

(课程号,课程名,教师号,学分,学时)

学生信息表

Student1:

(学号,姓名,性别,年龄,专业,系别)

成绩表

Score:

(学号号,课程名,成绩)

教师表

Teacher1:

(教师号,教师名,教师年龄,教师性别,教师系别)

 

 

1、课程信息表(class)

2、学生信息表(student)

 

3.教师表(teacher)

 

字段名属 性数据类型字段权限

tno

教师号

char(10)

Primary key

tname

教师名

char(10)

Not null

tsex

教师性别

char

(2)

Not null

tage

教师年龄

Int

Not null

tdept

教室系别

char(10)

Not null

字段名

属 性

数据类型

字段权限

sno

学号

char(10)

Primary key

cno

课程名

char(10)

Not null

grade

成绩

Int

Not null

 

 

4.成绩表(score)

四、物理设计阶段

数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻

辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数

据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存

储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存

储模式。

数据库物理设计内容包括记录存储结构的设计,存储路径的设计。

五、数据库实现

数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进

行试运行。

1、创建数据库

(1) 打开 SQL 工具“查询分析器”

(2) 在查询窗口中键入下列 SQL 语句

Create database ScoreSystem

执行上述 SQL 语句即可新建一名为 Score System 的数据库

2、创建数据表

一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数

据库。

数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被

称为字段。

创建数据表的过程其实就是定义字段的过程。

在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教

师信息表和成绩表。

创建数据库后,为 Score System 数据库添加数据表,步骤如下。

(1)新建查询窗口

(2)a.在查询窗口中键入下列 SQL 语句

Create table Class(//创建课程信息表

cno char(10),//课程号

cname char(10)Not null,//课程名

tno char(10)Not null ,//教师号

credit char(4)Not null,//学分

ctime char(50)Not null//学时

 

执行上述 SQL 语句即可

 

b.创建课程信息表相关表格执行下述 SQL 语句即可创建学生信息表相

关表格

 

create table student (//

sno char(10)primary key,//学号

sname char(10)not null,//姓名

ssex char

(2)not null,//性别

Sage intnot null,//年龄

Major char(10)not null,//专业

Sdeptchar(10)not null/ /系别

 

c.执行下述 SQL 语句即可创建教师信息表相关表格

 

create table teacher (//创建教师信息表

tnochar(10)primary key,//教师号

tnamechar(10) not null,//教师名

tage int ,//教师年龄

tsexchar

(2),//教师性别

tdeptchar(10)//教师系别

 

d.执行下述 SQL 语句即可创建成绩表相关表格

create table score (//创建成绩

sno char(10),//学号

cno char(10)//课程号

cno

cname

tno

credit

ctime

1001

线性代数

004

3.5

45

1002

C 语言

007

3.1

32

1003

程序设计

002

3.3

48

1004

大学语文

006

2.5

31

1005

商务英语

005

4

60

1006

大学体育

009

2

20

1007

中国影视

008

2.5

30

1008

高等数学

003

4

60

sno

sname

ssex

sage

major

sdept

1021030301

李娜

18

商务英语

外国语

1021030302

林俊杰

19

信息管理

理学院

1021030303

周杰

18

计算机

软件

1021030304

孙颖

20

数学

理学院

1021030305

齐婷

19

影视

艺术学院

1021030306

张恒

20

经济管理

工商

学生信息相关表格

课程信息相关表格

 

 

Sno

cno

grade

1021030301

1006

85

1021030301

1003

90

1021030301

1005

86

1021030302

1006

82

1021030302

1004

84

1021030302

1001

81

1021030303

1006

93

1021030303

1002

79

1021030303

1004

85

1021030304

1006

94

1021030304

1008

74

1021030304

1007

86

1021030305

1002

94

1021030305

1006

78

1021030305

1008

83

tno

tname

tage

tsex

tdept

001

肖俊芳

35

理学院

002

黄国辉

41

软件

003

何杰

35

理学院

004

李水平

31

理学院

005

廖丽丽

29

外国语

006

秦磊毅

49

理学院

成绩信息表

教师信息表

1009数据库原理001350

 

 

007

吴志强

32

软件

008

张微微

25

影视

009

谢俊

29

工商

 

添加记录:

学生信息表:

Insert

into student

values('1021030301','李娜','女',18,'商务英语','外国语')

Insert

into student

values('1021030302','林俊杰','男',19,'信息管理','理学院')

Insert

into student

values('1021030303','周杰','男',18,'计算机','软件')

Insert

into student

values('1021030304','孙颖','女', 20,'数学','理学院')

Insert

into student

values('1021030305','齐婷','女',20','影视','艺术学院')

Insert

into student

values('1021030306','张恒','男',20,'经济管理','工商')

 

课程信息表:

Insert

into class

values('1001','线性代数','004','3.5','45')

Insert

into class

values('1002','C 语言','007','3.1','32')

Insert

into class

values('1003','程序设计','002','3.3','48')

Insert

into class

values('1004','大学语文','006','2.5','31')

Insert

into class

values('1005','商务英语','005','4','60')

Insert

into class

values('1006','大学体育','009','2','20')

Insert

into class

values('1007','中国影视','008','2.5','30')

Insert

into class

values('1008','高等数学','003','4','60')

Insert

into class

values('1009','数据库原理','001','3','50')

 

成绩信息表:

Insert

into score

values('1021030301','1006',85)

Insert

into score

values('1021030301','1003',90)

Insert

into score

values('1021030301','1005',86)

Insert

into score

values('1021030302','1006',82)

Insert

into score

values('1021030302','1004',84)

Insert

into score

values('1021030302','1001',81)

Insert

into score

values('1021030303','1006',93)

Insert

into score

values('1021030303','1002',79)

Insert

into score

values('1021030303','1004',85)

Insert

into score

values('1021030304','1006',94)

Insert

into score

values('1021030304','1008',74)

Insert

into score

values('1021030304','1007',86)

Insert

into score

values('1021030305','1002',94)

Insert

into score

values('1021030305','1006',78)

Insert

into score

values('1021030305','1008',83)

 

老师信息表:

Insert

into teacher

values('001','肖俊芳',35,'男','理学院')

Insert

into teacher

values('002','黄国辉',41,'男','软件')

Insert

into teacher

values('003','何杰',35,'男','理学院')

Insert

into teacher

values('004','李水平',31,'男','理学院')

Insert

into teacher

values('005','廖丽丽',29,'女','外国语')

Insert

into teacher

values('006' , '秦磊毅',49,'男','理学院')

Insert

into teacher

values('007','吴志强',32,'男','软件')

 

Insert

into teacher

values('008','张薇薇',25,'女','影视')

Insert

into teacher

values('009','谢俊',29,'男','工商')

 

六、数据库运行和维护阶段

1、数据定义:

基本表的创建、修改及删除;索引的创建和删除;视图的创建

和删除

(1)基本表的创建,建表语句

create table students(

sno char(10) primary key,

sname char(10)not null,

ssex char

(2)not null,

sage char(10) not null,

major char(10) not null,

sdept char(10) not null

 

(2)基本表的删除

drop table student

2、数据操作

数据库查询操作

A.单表查询:

(1)查询 sno 为 1021030303 学生的 sname,sage,major,sdept,ssex

select sname,sage,major,sdept,ssex

from student

where sno=' 1021030303'

 

(2)查询 ssex 为’女’并且 sdept 为’艺术学院’的 sname,sage

Select sname,sage

Fromstudent

Where ssex=’女’ and sdept=’艺术学院’

 

(3)查询所有学生的姓名和系别。

select sname,sdept

from student

 

(4) 查询学生信息表中年龄小于 20 和年龄大于 17 的学生的姓名和系别

selectsname,sdept

fromstudent

wheresage between 19 and20

 

(3)查询所有学生的平均年龄

selectavg(sage) as 平均年龄

fromStudent

 

(5)查询所有学生所选课程的平均分:

selectavg(sage) as 平均分,student.sname as 姓名,student.sno

as 学号

fromStudent ,score,class

where student.sno=class.sno and o=o

 

B.连接查询

(1) 学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名

Selectstudent.sno,student.sname,o,ame

score.grade, teacher.tname

Fromstudent ,class ,score ,teacher

Wherestudent.sno=score.snoando=oand

teacher.tno=class.tno

 

(2)找出教授数据库原理的老师的教师名

selectteacher1.tname

from class,teacher1

Where class.tno=teacher1.tno and ame='数据库原理'

 

C. 嵌套查询

查询选修了1006这门课的所有学生的学号、姓名、年龄、院系

Select sno,sname,sage,sdept

From student

Where sno in

(select sno

From score

Where cno='1006')

 

D.嵌套查询

查询选修了1006这门课的所有学生的学号、姓名、年龄、院系

Select sno,sname,sage,depart

From student1

Where sno in

(select sno

From score

Where cno=’1006’)

 

3、数据库更新操作

A.插入数据

向 Student1 表中添加一项记录:

姓名:

景甜,学号:

1021030201,性别:

女,年龄:

20 专业:

外交英语,系别:

外国语

 

B.修改数据

修改林俊杰的学号为 1021030307:

Update Student

Set Sno='1021030307'

Where Sname='林俊杰';

 

C.删除数据

删除所有理学院学生的记录

Delete

from student

Where sdept=’理学院’

 

4、为数据库建立索引

创建索引可以大大提高系统的性能。

第一,通过创建唯一性索引,可以保

证每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是所以的

最主要原因。

第三,可以加速表与表之间的连接,特别是实现数据的参考完整

性方面特有意义。

第四,在使用 ORDER BY 和 GROUP BY 子句进行数据检索时,

同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查

询过程中,使用优化隐藏器,提高系统性能。

A.创建索引:

(1) 在 class 表的 cno 列上创建非聚集索引。

Create index classrnameONclass (cno)

(2) 在 student1 表的 sno 列上创建非聚集索引。

Create unique index 学号_snoONStudent (sno)

(3) 在 Student1 表的 sno 列创建一个非聚集索引,要求索引键值按 sno 升序排

列。

Create index 学号 ONstudent(sno ASC)

B.删除索引:

(1)删除 student 表中的 studentno 索引。

Drop index student.学号_sno

 

5、视图的操作:

数据库视图的定义(创建和删除)、查询和更新

A.查询所有学生成绩的信息,包括学号、课程号、成绩

create view score4

as

selectstudent.sno'学号',sname'学生名',o'课程号',cname'课程

名',score.grade'成绩'

from student ,class ,score

where student.sno=score.sno and o=o

 

B.更新视图:

(1)修改信息:

将周杰的名字改为周杰伦

Update score4

set 学生名='周杰伦'

where 学生名='周杰’

 

(2)删除信息:

删除视图 score4 中周杰伦的记录

delete

from score4

where 学生名='周杰伦'

删除视图:

删除前面的 score4 视图

dropview score4

5.存储过程

①创建存储过程

create proc proc_ST

as

select sno,sname,sage

from student

wheressex='女';

②存储过程的查询

execproc_ST;

 

③存储过程的修改

alter proc proc_ST

as

select sno,sname,ssex

from student

where sdept='外国语'

 

七、总结

本学生成绩查询系统主要参照课本,相对来说比较简单。

但是由于主要以

课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。

设计

过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2