数据库管理信息系统设计学生成绩管理信息系统.docx

上传人:b****4 文档编号:3779468 上传时间:2022-11-25 格式:DOCX 页数:20 大小:113.81KB
下载 相关 举报
数据库管理信息系统设计学生成绩管理信息系统.docx_第1页
第1页 / 共20页
数据库管理信息系统设计学生成绩管理信息系统.docx_第2页
第2页 / 共20页
数据库管理信息系统设计学生成绩管理信息系统.docx_第3页
第3页 / 共20页
数据库管理信息系统设计学生成绩管理信息系统.docx_第4页
第4页 / 共20页
数据库管理信息系统设计学生成绩管理信息系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库管理信息系统设计学生成绩管理信息系统.docx

《数据库管理信息系统设计学生成绩管理信息系统.docx》由会员分享,可在线阅读,更多相关《数据库管理信息系统设计学生成绩管理信息系统.docx(20页珍藏版)》请在冰豆网上搜索。

数据库管理信息系统设计学生成绩管理信息系统.docx

数据库管理信息系统设计学生成绩管理信息系统

数据库原理及应用

课程设计

 

设计题目:

学生成绩管理数据库系统设计

 

学生学生

学生学生

学生学生

专业信息管理与信息系统

班级-

西安理工大学高科学院

2012年第学期

目录

一、本小组人员分工2

二、需求分析阶段3

1、信息要求3

2、功能需求3

3.、安全性与完整性的要求3

三、概述4

1.1目的与要求4

1.2设计环境4

四、、概念结构设计阶段4

五、逻辑结构设计阶段6

1、课程信息表(class)6

2、学生信息表(student1)7

3.教师表(teacher1)7

4.成绩表7

六、物理设计阶段8

七、数据库实现8

1、创建数据库8

2、创建数据表8

3学生信息相关表格10

4.课程信息相关表格10

5.成绩信息表11

6.教师信息表11

八、数据库运行和维护阶段12

1、数据定义12

2、数据操作12

3、数据库更新操作15

4、为数据库建立索引16

5、视图的操作:

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

6、数据库的安全性18

7、数据库的完整性19

 

一、本小组人员分工

 

题目

学生成绩管理系统

同组队员信息

学号

姓名

专业

课题负责部分

学生1(组长)

数据库实现

学生2

总结、排版、物理设计

学生3

监测与维护

学生4

逻辑结构设计、概述

学生5

需求分析

学生6

概念设计(E-R)图

二、需求分析阶段

 

1、信息要求

 

学生成绩管理系统是对学生人数增多,信息量增大的问题,实现管理现代化,网络化,逐步摆脱学生成绩管理的人工管理方式,学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理系统的自动化,不仅把广大教师从繁重的成绩管理工作中解救出来,而且把学校从传统的管理成绩模式中解放出来,而且对学生成绩的判断和整理更合理,更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。

 

2、功能需求

 

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

具体功能应包括:

系统应该提供课程安排数据库的插入、删除、更新、查询;成绩的添加、修改、删除、查询、学生及职工基本信息的查询功能。

 

3.、安全性与完整性的要求

 

(1)系统应该设置访问用户的标志以鉴别是否是合法的用户,要求合法用户设置密码,保证用户的安全性。

(2)系统对不同用户设置不同权限,区分不同用户,如学生,教师。

(3)各种信息记录的完整性,不能为空。

(4)各种数据相互联系的正确性。

三、概述

 

1.1目的与要求

随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。

几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。

该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。

要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

 

1.2设计环境

 

①  MicrosoftSQLServer2005

②    MicrosoftVisualC++6.0

 

四、、概念结构设计阶段

 

概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

设计教室管理数据库包括班级、教室、课程、教师四个关系。

E-R图如下

 

E-R图说明:

四个实体,教师信息表的实体属性是教师号、教师名、教师姓别、教室系别;学生信息表的实体属性是系别、专业、性别、年龄、姓名、学号;成绩的书实体属性是学号,课程号、成绩;课程信息的实体属性是学时、学分、教室号、课程名、课程号

 

学生和课程课程实体之间有“选修”关系,(n;m,分数、属性)

教师和课程号实体之间有“任课”联系,(1:

n;任课时间、教材属性)

 

五、逻辑结构设计阶段

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

逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:

 

课程信息表

Class:

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

学生信息表

Student1:

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

成绩表

Score:

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

教师表

Teacher1:

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

 

1、课程信息表(class)

 

字段名

描述

数据类型

字段限制

cno

课程号

char(10)

Primarykey

cname

课程名

char(10)

Notnull

teano

教师号

char(10)

Notnull

credit

学分

char(4)

Notnull

ctime

学时

char(50)

Notnull

2、学生信息表(student1)

字段名

描述

数据类型

字段权限

sno

学号

char(10)

Primarykey

sname

姓名

char(10)

Notnull

ssex

性别

char

(2)

Notnull

sage

年龄

char

(2)

Notnull

major

专业

char(10)

Notnull

depart

系别

char(10)

Notnull

3.教师表(teacher1)

 

字段名

属性

数据类型

字段权限

teano

教师号

char(10)

Primarykey

tname

教师名

char(10)

Notnull

Tsex

教师性别

char

(2)

Notnull

Tdepart

教室系别

char(10)

Notnull

4.成绩表

 

字段名

属性

数据类型

字段权限

sno

学号

char(10)

Primarykey

cno

课程名

char(10)

Notnull

degree

成绩

char(10)

Notnull

六、物理设计阶段

数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。

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

七、数据库实现

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

1、创建数据库

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

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

createdatabaseScoreSystem

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

2、创建数据表

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

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

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

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

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

(1)新建查询窗口

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

createtableClass(//创建课程信息表

cnochar(10)primarykey,//课程号

cnamechar(10)notnull,//课程名

teanochar(10)Notnull//教师号

creditchar(4),Notnull//学分

ctimechar(50),Notnull//学时

执行上述SQL语句即可创建课程信息表相关表格

createtablestudent1(//创建学生信息表

snochar(10)primarykey,//学号

snamechar(10)notnull,//姓名

ssexchar

(2)notnull,//性别

Sagechar

(2)notnull,//年龄

Majorchar(10)notnull,//专业

Departchar(10)notnull,//系别

执行上述SQL语句即可创建学生信息表相关表格

createtableteacher1(//创建教师信息表

tnochar(10)primarykey,//教师号

tnamevarchar(50)notnull,//教师名

tsexchar

(2),//教师性别

tdepartvarchar(50)//教师系别

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

createtablescore(//创建成绩表

snochar(10),//学号

cnochar(10),//课程号

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

3学生信息相关表格

Sno

sname

ssex

sage

major

depart

0811080101

陈琦

22

信息

工商

0811080102

崔雪娇

23

信息

工商

0811080103

董朝阳

22

数学教育

数学系

0811080104

杜鹃

22

计算机应用

计算机系

0811080105

方卉

20

汉语言

文法系

4.课程信息相关表格

Cno

cname

tno

credit

ctime

0301

财务管理

001

2

24

0302

供应链管理

002

2.2

18

0303

生产与运作管理

003

2.4

36

0304

统计学

004

2.6

32

0305

网页制作

005

2.8

30

0306

操作系统原理

006

3.0

32

0307

数据库原理

007

3.2

30

0308

项目管理

008

3.4

45

0309

web程序设计

009

3.5

35

5.成绩信息表

Sno

Cno

Degree

0811080101

0306

85

0811080101

0303

90

0811080101

0305

86

0811080102

0306

82

0811080102

0304

84

0811080102

0301

81

0811080103

0306

93

0811080103

0302

79

0811080103

0304

85

0811080104

0306

94

0811080104

0308

74

0811080104

0307

86

 

6.教师信息表

tno

tname

tsex

tdepart

001

卢亚君

财经

002

李昌明

财经

003

张富强

财经

004

刘翠杰

数信

005

王庆石

数信

006

黄立明

数信

007

王纲

计算机

008

徐伟丽

计算机

009

刘书霞

计算机

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

1、数据定义:

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

 

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

createtablestudents(

stunochar(10)primarykey,

stunamevarchar(40)notnull,

stusexchar

(2)notnull,

stuagechar(10)notnull,

stumajorchar(10)notnull,

studepartchar(10)notnull,

(2)基本表的删除

droptablestudents

2、数据操作

数据库查询操作

A.单表查询:

(1)查询sno为0811080101学生的sname

selectsname

fromstudent1

wheresno='0811080101'

结果:

 

(2)查询ssex为’女’并且sdepart为’工商’的sname

selectsname

fromstudent1

wheressex='女'and

sdepart='工商'

结果:

 

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

selectsname,depart

fromstudent1

结果:

 

(4)查询depart为数学系的sname。

selectsname

fromstudent1

wheredepart='数学系'

结果:

 

(5)查询所有学生所在院系名称

selectdistinctdepart

fromstudent

结果:

 

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

selectsname,depart

fromstudent1

wheresage>21orsage<21

结果:

 

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

selectavg(sage)as平均年龄

fromStudent1

结果:

B.连接查询

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

Selectstudent1.sno,student1.sname,o,ame,score.degree,teacher1.tname

fromstudent,class,score,teacher1

Wherestudent1.sno=score.snoando=oandteacher1.tno=class.tno

结果:

 

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

selectteacher1.tname

fromclass,teacher1

Whereclass.tno=teacher1.tnoandame='数据库原理'

结果:

C.操作结果集查询

查询0811080102号同学和0811080103号同学共同选修的课程

Selectcno

Fromscore

Wheresno='0811080102'

Intersect

Selectcno

Fromscore

Wheresno='0811080103'

查询结果

 

D.嵌套查询

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

Selectsno,sname,sage,depart

Fromstudent1

Wheresnoin

(selectsno

Fromscore

Wherecno=’0306’)

查询结果

 

3、数据库更新操作

A.插入数据

向Student1表中添加一项记录:

姓名:

叶问,学号:

0811080201,性别:

男,年龄:

36专业:

信息管理,系别:

工商

Insert

Into

Student1(Sno,Sname,Ssex,sage,major,depart)

Values('0811080201','叶问','男','36','信息管理','工商')

B.修改数据

修改陈琦的学号为081108023:

UpdateStudent1

SetSno=’0811080203’

WhereSname=’陈琦’;

C.删除数据

删除所有工商学生的记录

Delete

fromstudent1

Where(depart=’工商’);

 

4、为数据库建立索引

 

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

第一,通过创建唯一性索引,可以保证每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是所以的最主要原因。

第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。

第四,在使用ORDERBY和GROUPBY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。

 

A.创建索引:

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

CreateindexclassrnameONclass(cno)

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

Createuniqueindexstudent1noONStudent1(sno)

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

Createindexstudent1noONstudent1(snoASC)

B删除索引:

 

(1)删除student1表中的student1no索引。

Dropindexstudent1no

 

5、视图的操作:

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

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

createviewscore3

as

selects.sno'学号',sname'学生名',o'课程号',cname'课程名',sc.degree'成绩'

fromstudent1s,classc,scoresc

wheres.sno=sc.snoando=o

go

查询结果

 

B.更新视图:

(1)修改信息:

将陈琦的名字改为陈琪琪

Updatescore3

set学生名='陈琪琪'

where学生名='陈琦

(2)删除信息:

删除视图score3中陈琪琪的记录

delete

fromscore

where学生名='陈琪琪'

删除视图:

删除前面的score3视图。

dropviewscore3

 

6、数据库的安全性

创建SQLServer身份验证的登录账户陈琦、崔雪娇、董朝阳、杜鹃

EXECsp_addlogin‘陈琦’,’000’,’AAA’

EXECsp_addlogin‘崔雪娇’,’000’,’AAA’

EXECsp_addlogin‘董朝阳’,000’,’AAA’

EXECsp_addlogin‘杜鹃’,’000’,’AAA’

创建数据库用户

EXECsp_adduser‘陈琦’

EXECsp_adduser’崔雪娇’

EXECsp_adduser’董朝阳’

EXECsp_adduser’杜鹃’,’杜鹃’,’managers’

建立数据库角色

EXECsp_addrole‘managers’

删除SQLServer身份验证的登录账户’杜鹃’

EXECsp_droplogin‘杜鹃’

从当前数据库中删除用户’杜鹃’

EXECsp_dropuser‘杜鹃’

授权操作

(1)把对表student的insert权限授予用户董朝阳,并允许他再将此权限授予其他用户。

grantinsert

ontableGoods

to董朝阳

withgrantoption

(2)把查询表Goods和修改nowprice属性的权限授给用户陈琦。

grantselect,update(nowprice)

ontableGoods

to陈琦

(3)把用户陈琦查询表Goods权限收回。

revokeselect

ontableGoods

from陈琦cascade

 

7、数据库的完整性

对于class表:

class(cno,cname,tno,credit,ctime),cno的值应该在0和20之间:

createtableClass(//创建课程信息表

cnochar(10)primarykey,//课程号

cnamechar(10)notnull,//课程名

teanochar(10)Notnull//教师号

creditchar(4),Notnull//学分

ctimechar(50),Notnull//学时

check(cno>0andcno<=20)

九、总结

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

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

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

(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才可以对另一个表进行引用。

(2)在设计表时应注意使用正确的字段类型。

(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。

总之,作为一种应用,数据库必须在动手的基础上才能更好的学习,更有效地学习,正是在一次次的上机以及作业当中,我们体会到了数据库作为一种应用所带给我们的种种便利。

感谢老师的细心教导以及同学的帮助,我们才能快速的完成作业。

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1