sql学生成绩管理系统课程设计数据库.docx
- 文档编号:9463639
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:14
- 大小:335.58KB
sql学生成绩管理系统课程设计数据库.docx
《sql学生成绩管理系统课程设计数据库.docx》由会员分享,可在线阅读,更多相关《sql学生成绩管理系统课程设计数据库.docx(14页珍藏版)》请在冰点文库上搜索。
sql学生成绩管理系统课程设计数据库
sql学生成绩管理系统课程设计数据库(总15页)
学生成绩管理系统数据库
CHAP1需求分析
需求分析
高校学生的成绩管理工作量大、繁杂,人工处理非常困难。
学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
数据需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。
功能描述
具体功能应包括:
系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生基本信息查询的功能。
数据字典
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)非空
数据流图
顶层图
管理员信息数据流图
总数据流图
CHAP2概念模型设计
E-R模型
数据库的局部E-R图
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
设计教室管理数据库包括班级、教室、课程、三个关系。
E-R图如下
课程信息图
成绩图
学生信息表
数据库完整E-R图
CHAP3逻辑模型设计
逻辑结构设计阶段
E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计学生成绩管理数据库,包括课程、学生、教成绩三个关系,其关系模式中对每个实体定义的属性如下:
课程信息表:
(课程号,课程名,教师号,学分)
此为联系“课程信息表”所对应的关系模式。
课程名为该关系的候选码。
学生信息表:
(学号,姓名,性别,年龄,专业,系别)
此为联系“学生信息表”所对应的关系模式。
学号为该关系的候选码。
成绩表:
(学号,课程号,课程名,成绩)
此为联系“输入”所对应的关系模式。
题目编号、管理号为该关系的候选码
数据库中包含3个表,即课程信息(classinformation),学生信息(studentinformation),成绩信息(scoreinformation)。
数据模型的规范化
1.)课程信息图
2.)学生信息图
3.)学分信息图
CHAP4数据库的物理设计
系统结构设计
系统功能模块
CHAP5数据库的实施
创建数据库
createdatabasestuDB
创建表
在此学生成绩管理系统中需要创建三个表,即课程信息表、学生信息表和成绩表。
创建数据库后,为stuDB数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
createtableClass(
表查询:
(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
select'学号','学生名','课程号','课程名','成绩'
fromstudent,class,score
where=and=
Go
查询结果
B.更新视图:
(1)修改信息:
将宋丹丹的名字改为宋丹
Updatescore1
set学生名='宋丹丹'
where学生名='宋丹'
(2)删除信息:
删除视图score1中王恒文的记录
delete
fromscore
where学生名='王恒文'
七、总结
设计心得
经过这一周半的课程设计,我对数据库的理解又加深了一步,从简单的理论到实际上机操作中间的种种困难,都必须自己去克服和摸索,这对我来说,是一个巨大的挑战。
而当完成了以后,我发现自己基本能将书本上的章节都融会贯通,从而也达到了复习的效果。
在整个设计过程中,我也着实遇到了很多麻烦,这些以前容易忽视掉的问题,有时候在上机的时候就显的尤为重要。
比如说书本上代码基于的版本和实际运行的环境存在不兼容性,这就使得我在整个代码编写的过程中要不断的查阅资料,不断进行调试。
虽然比较浪费时间,但在这同时,也提高了我自学的能力,养成了良好的学习习惯。
此外,在设计整体和局部E-R图时,实体和属性的选择,以及实体于实体间的联系,都是经过几次修改,不断的研究系统性能的情况下才完成的。
而这每一次的修改,又牵动了后续的进行,经过这样反复的修改和思考,才使得系统的模型基于成熟,然后再考虑代码的时候就比较得心应手了。
当然在整个过程中还不得不强调团队意识,在思考问题的过程中,一个人的力量显然是不够的,需要多方的配合才能最终完成任务。
印象最深的是需求部分和概念模型的设计,都是依靠大家共同讨论来完成的。
当然还有老师的参与,在此应该表示感谢,感觉整个模型大部分都是你给分析出来的嘛。
最后,此次的课程设计确实让我受益匪浅。
起码在已有的水平上,我的理论与实践都有了长足的进步。
这对以后的设计也是一笔宝贵的财富。
参考文献
1.王珊《数据库系统概论》(第四版)。
高等教育出版社,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 学生 成绩管理系统 课程设计 数据库
![提示](https://static.bingdoc.com/images/bang_tan.gif)