sql学生成绩管理整理.docx
- 文档编号:29141690
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:15
- 大小:101.48KB
sql学生成绩管理整理.docx
《sql学生成绩管理整理.docx》由会员分享,可在线阅读,更多相关《sql学生成绩管理整理.docx(15页珍藏版)》请在冰豆网上搜索。
sql学生成绩管理整理
目录
CHAP1需求分析2
1.1需求分析2
1.1.1数据需求2
1.1.2功能描述2
1.2数据字典2
1.3数据流图6
CHAP2概念模型设计8
2.1E-R模型8
2.1.1数据库的局部E-R图8
2.1.2数据库完整E-R图9
CHAP3逻辑模型设计10
3.1E-R图向关系模型的转换10
3.2数据模型的规范化11
CHAP4数据库的物理设计13
4.1系统结构设计13
4.1.1系统功能模块13
4.1.2管理员功能模块13
4.1.3用户功能模块15
CHAP5数据库的实施16
5.1创建数据库16
5.1.1创建表16
5.1.2创建索引17
5.1.3创建触发器18
5.2组织数据入库19
CHAP6数据库的运行于维护21
设计心得22
参考文献23
学生成绩管理系统数据库
CHAP1需求分析
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数据流图
顶层图
请求回应
操作请求
请求回应
操作请求
管理员信息数据流图
总数据流图
CHAP2概念模型设计
2.1E-R模型
2.1.1数据库的局部E-R图
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计教室管理数据库包括班级、教室、课程、三个关系。
E-R图如下
课程信息图
成绩图
学生信息表
2.1.2数据库完整E-R图
CHAP3逻辑模型设计
逻辑结构设计阶段
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教成绩三个关系,其关系模式中对每个实体定义的属性如下:
课程信息表:
(课程号,课程名,教师号,学分)
此为联系“课程信息表”所对应的关系模式。
课程名为该关系的候选码。
学生信息表:
(学号,姓名,性别,年龄,专业,系别)
此为联系“学生信息表”所对应的关系模式。
学号为该关系的候选码。
成绩表:
(学号,课程号,课程名,成绩)
此为联系“输入”所对应的关系模式。
题目编号、管理号为该关系的候选码
数据库中包含3个表,即课程信息(classinformation),学生信息(studentinformation),成绩信息(scoreinformation)。
3.2数据模型的规范化
1.)课程信息图
2.)学生信息图
3.)学分信息图
CHAP4数据库的物理设计
4.1系统结构设计
4.1.1系统功能模块
CHAP5数据库的实施
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组织数据入库
课程信息表
学生信息表
成绩信息表
CHAP6数据库的运行于维护
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为09901学生的sname
selectsname
fromstudent
wheresno='0901'
结果:
(2)查询ssex为’女’并且sdepart为’金融系’的sname
selectsname
fromstudent
wheressex='女'and
sdepart='金融系'
结果:
(3)查询所有学生的姓名和系别。
selectsname,Depart
fromstudent
结果:
(4)查询Depart为计算机系的sname。
selectsname
fromstudent
whereDepart='计算机系'
结果:
(5)查询所有学生所在院系名称
selectdistinctDepart
fromstudent
结果:
(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别
selectsname,Depart
fromstudent
wheresage>21orsage<21
结果:
B.嵌套查询
查询选修了0304这门课的所有学生的学号、姓名、年龄、院系
Selectsno,sname,sage,Depart
Fromstudent
Wheresnoin
(selectsno
Fromscore
Wherecno=’0304’)
查询结果
3、数据库更新操作
A.插入数据
向Student表中添加一项记录:
姓名:
杨昇昇,学号:
0907,性别:
男,年龄:
22专业:
信息管理,系别:
金融系
Insert
Into
Student1(Sno,Sname,Ssex,sage,major,depart)
Values('0907','杨昇昇','男','22','信息管理','金融系')
B.修改数据
修改的学号为0908:
UpdateStudent
SetSno=’0908’
WhereSname=’陈波’。
C.删除数据
删除所有金融学生的记录
Delete
fromstudent
Where(depart=’金融系’)。
4、视图的操作:
数据库视图的定义(创建和删除)、查询和更新
A.查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩
createviewscore1
as
selectstudent.sno'学号',student.sname'学生名',o'课程号',ame'课程名',score.degree'成绩'
fromstudent,class,score
wherestudent.sno=score.snoando=o
Go
查询结果
B.更新视图:
(1)修改信息:
将宋丹丹的名字改为宋丹
Updatescore1
set学生名='宋丹丹'
where学生名='宋丹'
(2)删除信息:
删除视图score1中王恒文的记录
delete
fromscore
where学生名='王恒文'
七、总结
设计心得
经过这一周半的课程设计,我对数据库的理解又加深了一步,从简单的理论到实际上机操作中间的种种困难,都必须自己去克服和摸索,这对我来说,是一个巨大的挑战。
而当完成了以后,我发现自己基本能将书本上的章节都融会贯通,从而也达到了复习的效果。
在整个设计过程中,我也着实遇到了很多麻烦,这些以前容易忽视掉的问题,有时候在上机的时候就显的尤为重要。
比如说书本上代码基于的版本和实际运行的环境存在不兼容性,这就使得我在整个代码编写的过程中要不断的查阅资料,不断进行调试。
虽然比较浪费时间,但在这同时,也提高了我自学的能力,养成了良好的学习习惯。
此外,在设计整体和局部E-R图时,实体和属性的选择,以及实体于实体间的联系,都是经过几次修改,不断的研究系统性能的情况下才完成的。
而这每一次的修改,又牵动了后续的进行,经过这样反复的修改和思考,才使得系统的模型基于成熟,然后再考虑代码的时候就比较得心应手了。
当然在整个过程中还不得不强调团队意识,在思考问题的过程中,一个人的力量显然是不够的,需要多方的配合才能最终完成任务。
印象最深的是需求部分和概念模型的设计,都是依靠大家共同讨论来完成的。
当然还有老师的参与,在此应该表示感谢,感觉整个模型大部分都是你给分析出来的嘛。
最后,此次的课程设计确实让我受益匪浅。
起码在已有的水平上,我的理论与实践都有了长足的进步。
这对以后的设计也是一笔宝贵的财富。
参考文献
1.王珊《数据库系统概论》(第四版)。
高等教育出版社,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 学生 成绩 管理 整理