sql学生成绩管理系统课程设计数据库.docx

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

sql学生成绩管理系统课程设计数据库.docx

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

sql学生成绩管理系统课程设计数据库.docx

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

 

学生成绩管理系统数据库

1需求分析

1.1需求分析

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

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

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

1.1.1数据需求

能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。

1.1.2功能描述

具体功能应包括:

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

1.2数据字典

1)课程信息(classinformation):

|课程号(cno)char(10)primarykey定义为主键

|课程名cname)char(10)非空

|教师号(teano)char(10)非空

|学分(credit)char(4)非空

2学生信息(studentinformation):

|学号(sno)char(10)primarykey定义主键

|姓名(sname)char(10)非空

|性别(ssex)char

(2)非空

|年龄(sage)char

(2)非空

|专业(major)char(10)非空

|系别(depart)char(10)非空

3)成绩信息(scoreinformation):

|学号(sno)char(10)primarykey定义主键

|课程号(cno)char(10)非空

|成绩(degree)char(10)非空

|课程名(cname)char(10)非空

1.3数据流图

顶层图:

 

总数据流图:

2概念模型设计

2.1E-R模型

2.1.1数据库的局部E-R图

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

课程信息图:

 

 

成绩表:

 

学生信息表:

 

2.1.2数据库完整E-R图

 

3逻辑模型设计

3.1逻辑结构设计阶段

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

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

课程信息表:

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

此为联系“课程信息表”所对应的关系模式。

课程名为该关系的候选码。

学生信息表:

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

此为联系“学生信息表”所对应的关系模式。

学号为该关系的候选码。

成绩表:

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

此为联系“输入”所对应的关系模式。

题目编号、管理号为该关系的候选码。

数据库中包含3个表,即课程信息(classinformation),学生信息(studentinformation),成绩信息(scoreinformation)。

3.2数据模型的规范化

1.)课程信息图

2.)学生信息图

3.)学分信息图

4数据库的物理设计

4.1系统结构设计

4.1.1系统功能模块

 

 

5数据库的实施

5.1创建数据库

createdatabasestuDB

5.1.1创建表

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

创建数据库后,为stuDB数据库添加数据表,步骤如下:

(1)新建查询窗口

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

createtableClass(//创建课程信息表

cnochar(10)primarykey,//课程号

cnamechar(10)notnull,//课程名

teanochar(10)Notnull//教师号

creditchar(4),Notnull//学分

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

createtablestudent1(//创建学生信息表

snochar(10)primarykey,//学号

snamechar(10)notnull,//姓名

ssexchar

(2)notnull,//性别

Sagechar

(2)notnull,//年龄

Majorchar(10)notnull,//专业

Departchar(10)notnull,//系别

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

createtablescore(//创建成绩表

snochar(10),//学号

cnochar(10),//课程号

cdegreechar(10),//学分

cnamechar(10),//课程名

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

学生信息相关表格

Sno

sname

ssex

sage

major

depart

0901

薛克强

22

软件

计算机系

0902

陈波

23

通信

计算机系

0903

宋丹丹

20

会计

金融系

0904

王恒文

22

园林

土木系

0905

沈网中

20

软件

计算机系

课程信息相关表格

Cno

cname

tname

credit

0301

C语言

王月敏

2

0302

信号与系统

杜鹃

2.5

0303

微积分

王可

2.5

0304

高等数学

刘甸宝

4

成绩信息表

Sno

Cno

cdegree

cname

0901

0303

90

微积分

0902

0304

84

高等数学

0902

0301

81

C语言

0903

0302

79

信号与系统

0903

0304

85

高等数学

0904

0304

94

高等数学

5.1.2创建索引

创建索引:

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

CreateindexclassrnameONclass(cno)

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

Createuniqueindexstudent1noONStudent1(sno)

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

Createindexstudent1noONstudent1(snoASC)

5.2组织数据入库

课程信息表

学生信息表

成绩信息表

6数据库的运行于维护

1、数据定义:

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

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

createtablestudents(

snochar(10)primarykey,

snamevarchar(40)notnull,

ssexchar

(2)notnull,

sagechar(10)notnull,

smajorchar(10)notnull,

sdepartchar(10)notnull,

(2)基本表的删除

droptablestudents

2、数据操作

数据库查询操作

A.单表查询:

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

selectsnamefromstudentswheresno='0901'

结果:

(2)查询ssex为’女’并且sdepart为’金融系’的sname

selectsnamefromstudentswheressex='女'andsdepart='金融系'

结果:

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

selectsname,Departfromstudents

结果:

(4)查询Depart为计算机系的sname。

selectsnamefromstudentswhereDepart='计算机系'

结果:

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

selectdistinctDepartfromstudents

结果:

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

selectsname,Departfromstudentswheresage>21orsage<21

结果:

B.嵌套查询

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

selectsno,sname,sage,Departfromstudentswheresnoin(selectsno

fromscorewherecno=’0304’)

查询结果:

3、数据库更新操作

A.插入数据

向Students表中添加一项记录:

姓名:

杨昇昇,学号:

0907,性别:

男,年龄:

22专业:

信息管理,系别:

金融系

insertintoStudents(Sno,Sname,Ssex,sage,major,depart)values('0907','杨昇昇','男','22','信息管理','金融系')

B.修改数据

修改的学号为0908:

updateStudentssetSno=’0908’whereSname=’陈波’;

C.删除数据

删除所有金融学生的记录

delete*fromstudentswheredepart=’金融系’;

4、视图的操作:

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

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

selectstudent.sno'学号',student.sname'学生名',o'课程号',ame'课程名',score.degree'成绩'fromstudent,class,scorewherestudent.sno=score.snoando=o

查询结果:

B.更新视图:

(1)修改信息:

将宋丹丹的名字改为宋丹

updatescore1set学生名='宋丹丹'where学生名='宋丹'

(2)删除信息:

删除视图score1中王恒文的记录

deletefromscorewhere学生名='王恒文'

七、总结

经过这一周半的课程设计,我对数据库的理解又加深了一步,从简单的理论到实际上机操作中的种种困难,都必须自己去克服和摸索,这对我来说,是一个巨大的挑战。

而当完成了以后,我发现自己基本能将书本上的章节融汇贯通,从而也达到了复习的效果。

课程设计第一个内容是数据库、数据表的创建开始的,表是建立关系数据库的基本结构,用来定义数据的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。

表是重要的,表的创建好坏直接关系到数数据库的好坏。

课程设计的另一个内容是数据库查询与修改。

了解到查询语句的基本结构,和简单SELECT语句的使用。

在整个设计过程中,我也遇到了很多麻烦,这些以前容易忽视掉的问题,有时候在上机的时候就显的尤为重要。

比如说书本上代码基于的版本和实际运行的环境存在不兼容性,这就使得我在整个代码编写的过程中要不断的查阅资料,不断进行调试。

虽然比较浪费时间,但在这同时,也提高了我自学的能力,养成了良好的学习习惯。

此外,在设计整体和局部E-R图时,实体和属性的选择,以及实体于实体间的联系,都是经过几次修改,不断的研究系统性能的情况下才完成的。

而这每一次的修改,又牵动了后续的进行,经过这样反复的修改和思考,才使得系统的模型基于成熟,然后再考虑代码的时候就比较得心应手了。

最后,此次的课程设计确实让我受益匪浅。

起码在已有的水平上,我的理论与实践都有了长足的进步。

这对以后的设计也是一笔宝贵的财富。

参考文献

1.王珊《数据库系统概论》(第四版)。

高等教育出版社,2009

 

湖南商学院课程设计评审表

姓名

贺尹红

专业班级

信管1101班

题目:

学生成绩数据库设计

 

 

 

评审项目

成绩

立题或选题(10%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

获取信息能力(10%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

方案的新颖性(10%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

方案的综合性(20%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

方案的内容(40%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

文档的格式(10%)

A:

优秀B:

良好C:

中等D:

及格E:

不及格

总评100%

成绩

指导教师签名

评审时间:

2013年月日

 

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

当前位置:首页 > 人文社科 > 文学研究

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

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