数据库课程设计学生选修课系统Word文档格式.docx
《数据库课程设计学生选修课系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选修课系统Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
![数据库课程设计学生选修课系统Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/20af9adb-c88b-4e20-9e69-030af8331c57/20af9adb-c88b-4e20-9e69-030af8331c571.gif)
2.1.2目标设计学生选课录入系统及学生选课查询界面。
设计课程输入界面和学生选课表及课程选修情况查询界面。
根据学生库和课程库,输出学生课程表。
2.1.3运行环境
Windowsxp/7操作系统下,安装并配置软件microsoftSQLserver2000数据库管理系统。
2.2数据需求
2.2.1数据流图(DFD)
2.2.2数据字典(DD)
“学生信息表”的存储结构如下:
数据存储:
学生信息表;
说
明:
学生的基本情况;
组成:
以学号为关键;
数据量:
学
生的人数;
存储方式:
随机存储;
“选课表”的存储结构如下:
数据存储:
选课表;
说明:
学生选课的情况;
组成:
以学号和课程号为关键;
数据量:
学生的人数;
“开课课程表”的存储结构如下:
数
据存储:
开课课程表;
说明:
所有开设的课程的情况;
组成:
以课程号为关键;
课
程的数目;
随机存储;
“成绩表”的存储结构如下:
成绩表;
选修各门课程的成绩;
很多;
存储方式:
2.3一致性需求
在选修课管理系统中的相关的表中,有较强的相关性,为什么实现一致性的需求,我们在各个表之间建立起了一致性约束。
2.4完整性需求
根据选修课管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
三、概要设计
3.1接口设计
3.1.2外部接口
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现选修课管理系统。
3.1.2内部接口
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效,方便。
3.2E—R图
f
四、逻辑设计
4.1关系模式转化
学生(学号,姓名,性别,年龄,籍贯);
课程(课程号,课程名,学时,性质);
选修(学号,课程号,成绩);
五、数据库的实现
5.1创建数据库
Optional数据库创建的SQL语句:
createdatabaseoptional
on
(
name=optional
filename='
c:
\\optional.mdf,size=100MB,maxsize=200MB,filegrowth=2MB
)
logon
name=optional_log,filename='
\\optional.ldf.size=20MB,maxsize=80MB,filegrowth=1MB
截图:
—[|JMierosoftSQLS<
r^ers
=ifj|:
SQLServ*jf
OLxikl)(VixlAows
*iJ«
ap«
ri
*U
*U*«
d«
l
+U
+u
*.Qp^ibr
*(J
+參爵转按服昜
*_JbS
*_J+_J蚕殳性
±
_J袁蒔服簣
+_BitSarvic»
e
5.2在数据库中创建表
SQL语句如下:
createtablestudent
snointprimarykey,snamenvarchar(5),sexnchar,classint
createtablecourse
enointprimarykey,cnamenvarchar(15),enumberint
createtablescore
snoint,
enoint,
degreeint,
primarykey(sno,cno)
foreignkey(sno)referencesstudent(sno),foreignkey(cno)referencescourse(cno)
所创建的表如下:
-_|用尸裘
*2J业aeourse♦二JdbfiSf
*二]血。
*£
诃《11
*_J系塀饗*」視国
+_|百储过程
*_r函数
+」用尸钗的数据
向各表中插入数据如下:
Student表:
snosname
C14E£
1
12009040016^
勇
9001
?
200904002张新
9002
3
200904003张红
S
9003
h
S00904004Mtv
男
9004
5
200904005张榷昂
券
3005
s
200904006負天
死比
200504007聲畫肅
文
9007
20090^008张憩
女
9UDE
Course表:
Score表:
1・,
表^ficore"
中的敷裁,
位畫昱*&
ptiaMl"
f
■B.4
164
I
2M90400L
100】
T9
20C904002
1001
34
2U*J9OW0i
1005
39
£
0(1904004
1006
90
00904006
T3
OTW0Q7
1VK
5.2建立查询
查询结果如下:
Student:
selectsnajueas'
姓名*,class9『班级'
:
remstui^iAwheresno"
200904001
旺老班第
_J王洽9001
Course:
selecteno课程号"
”・cnameas"
澤程名**emunb&
ras'
课时
fromCQurse|
whereeno1001
ih(Kn障義电常主术赏析曲a
Score:
selectsnoas学号enoasi果琨号'
degreeas'
成绩'
fromscore
ordorbydegree
<
|„
惮号谍程号jSffl
200904002
2
200904005
73
200904007
1002
79
4)
200WO02
S9
6
200304G04
1906
5.3创建视图
创建视图的SQL语句如下:
createviewstudent_view
as
selectsnoas'
学号'
snameas姓名'
sexas'
性性别'
classas'
班级'
fromstudent
createviewcourse_view
selectcnoas课程号'
cnameas课程名'
cnumberas'
人数'
fromcourse
createviewscore_view
cnoas'
课程号[degreeas'
成绩'
fromscore
如下:
根据student创建的视图:
FT开表一TEUBAV—2B5363DD-optional.dbo_student_?
ie・〔只读
](s)工具①囱口址m®
toftSMIioI®
-I►■go一[暫酉E
学号姓昌
2009I340Q2张新
200904003琳红
200904004MSV
2009(X005戟桂昂
9005
200904006黄天
90D6
200904007誓廳壽
立
200904008张萍
90D8
4
7
8
根据course创建的视图:
[打开表一TRHUH-^2B5363DD_optioiLQl-dbo,coii£
se_uie・(只渎)]
恥)
工具①
蔺口d)帮眈QD
&
r耐
in1FpnIl
I■」
JI智GQl
课程号课程名
Aft
100L
[战类电第龙术冇析
150
100
1003
1004
交眸心理準
W0B
3G
50
100?
法律當识
80
1008
潦行苦龙赏祈
9
1009
病理学分析
10
1
1010
电影的艺#
1Q0
根据score创建的视图:
5.4创建存储过程
541用于查看所有学生的存储过程,SQL语句如下:
createprocedureall_students
select*fromstudent
5.4.2用于查看所有课程的存储过程,SQL语句如下:
createprocedureall_courses
select*fromcourse
5.4.3用于查看所有学生所选课程的成绩,SQL语句如下:
createprocedureall_score
select*fromscore
5.5创建触发器
5.5.1创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。
createtriggertrig_1onstudent
forinsert
select*fromstudent
5.5.2创建一个名为“trig_2”的触发器,当试图向course表添加、修改或删除记录时,该触发器自动显示如下信息:
“对不起,你无权进行更新操作!
”。
createtriggertrig_2oncourseinsteadofinsert,update,delete
print'
对不起,你无权进行更新操作!
'
5.5.3创建“trig_3”的触发器,当向score修改记录时,该触发器自动显示修改前和修改后的记录。
Createtriggertrig_3
onscore
forupdate
select*fromdeleted过去删除的,即修改前的数据;
select*frominserted插入的,即修改后的数据;
六、测试
测试良好,运行稳定
七、课程设计总结
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。
在学习过程中,我也上网查了不少资料,也看了一些别人设计的小型超市信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从
中从学到用,从用又到学,不断修改,系统更新。
虽然不能达到完善系统,但
也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的,
我以后还会在这个领域不断的进行探索,掌握更多的知识。
姜代红蒋秀莲主编网友提供
学校提供
八、参考文献
1.数据库原理及应用使用教程
3.网上资源
4.图书馆数据库相关资料
九、附件
相关SQL语句及数据库文件见压缩文件中