数据库课程设计学生选修课系统.docx
- 文档编号:17415303
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:14
- 大小:101.29KB
数据库课程设计学生选修课系统.docx
《数据库课程设计学生选修课系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选修课系统.docx(14页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生选修课系统
成
绩
10信计2012-2013
(一)
《数据库原理及应用》课程设计
设计题目选修课管理系统
设计时间
学生姓名
学生学号200904022
所在班级10信计
(2)指导教师
一、可行性研究.3
二、需求分析.4
三、概要设计..5
四、逻辑设计.6
五、数据库实现..7
六、测试11
七、课程设计总结...12
八、参考文献…...13
七、附录…13
、可行性研究
1.1系统开发背景
数据库是从60年代初发展起来的计算机技术。
经过四十来年的发展,数据库技术己经趋于成熟。
Web数据库在新的Internet环境中发生了很大的变化。
就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。
同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。
例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。
1.2系统设计目标
在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。
在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:
两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。
利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。
在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。
运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。
二、需求分析
2.1任务概述
2.1.1内容调查学习教务处,设计用于管理全校学生选修课活动的系统。
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='c:
\\optional.ldf.size=20MB,maxsize=80MB,filegrowth=1MB
)
截图:
—[|JMierosoftSQLS =ifj|: SQLServ*jf OLxikl)(VixlAows *iJ«ap«ri *U *U*«d«l +U +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 1001 T3 OTW0Q7 1VK T3 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 1 200904002 1001 34 2 200904005 1001 73 3 200904007 1002 79 4) 200904001 1001 79 5 200WO02 1005 S9 6 200304G04 1906 ? 0 5.3创建视图 创建视图的SQL语句如下: createviewstudent_view as selectsnoas'学号',snameas姓名',sexas'性性别',classas'班级'fromstudent createviewcourse_view as selectcnoas课程号',cnameas课程名',cnumberas'人数'fromcourse createviewscore_view as selectsnoas'学号',cnoas'课程号[degreeas'成绩' fromscore 如下: 根据student创建的视图: FT开表一TEUBAV—2B5363DD-optional.dbo_student_? ie・〔只读 ](s)工具①囱口址m®) toftSMIioI®-I►■go一[暫酉E 学号姓昌 男 9001 2009I340Q2张新 男 9002 200904003琳红 9003 200904004MSV 男 9004 2009(X005戟桂昂 男 9005 200904006黄天 男 90D6 200904007誓廳壽 立 9007 200904008张萍 女 90D8 4 5 6 7 8 根据course创建的视图: [打开表一TRHUH-^2B5363DD_optioiLQl-dbo,coii£se_uie・(只渎)] 恥) 工具① 蔺口d)帮眈QD &3 r耐 in1FpnIl I■」 JI智GQl 课程号课程名 Aft 1 100L [战类电第龙术冇析 150 2 1002 100 3 1003 150 4 1004 交眸心理準 90 5 W0B 3G 6 1006 50 7 100? 法律當识 80 3 1008 潦行苦龙赏祈 150 9 1009 病理学分析 50 10 1 1010 电影的艺# 1Q0 根据score创建的视图: 5.4创建存储过程 541用于查看所有学生的存储过程,SQL语句如下: createprocedureall_students as select*fromstudent 5.4.2用于查看所有课程的存储过程,SQL语句如下: createprocedureall_courses as select*fromcourse 5.4.3用于查看所有学生所选课程的成绩,SQL语句如下: createprocedureall_score as select*fromscore 5.5创建触发器 5.5.1创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。 createtriggertrig_1onstudent forinsert as select*fromstudent 5.5.2创建一个名为“trig_2”的触发器,当试图向course表添加、修改或删除记录时,该触发器自动显示如下信息: “对不起,你无权进行更新操作! ”。 createtriggertrig_2oncourseinsteadofinsert,update,delete as print'对不起,你无权进行更新操作! ' 5.5.3创建“trig_3”的触发器,当向score修改记录时,该触发器自动显示修改前和修改后的记录。 Createtriggertrig_3 onscore forupdate as select*fromdeleted过去删除的,即修改前的数据; select*frominserted插入的,即修改后的数据; 六、测试 测试良好,运行稳定 七、课程设计总结 通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密。 在学习过程中,我也上网查了不少资料,也看了一些别人设计的小型超市信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从 中从学到用,从用又到学,不断修改,系统更新。 虽然不能达到完善系统,但 也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限的, 我以后还会在这个领域不断的进行探索,掌握更多的知识。 姜代红蒋秀莲主编网友提供 学校提供 八、参考文献 1.数据库原理及应用使用教程 3.网上资源 4.图书馆数据库相关资料 九、附件 相关SQL语句及数据库文件见压缩文件中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 选修课 系统