数据库课程设计学生选修课系统.docx
- 文档编号:12285555
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:12
- 大小:576.09KB
数据库课程设计学生选修课系统.docx
《数据库课程设计学生选修课系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选修课系统.docx(12页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生选修课系统
成
绩
10信计2012-2013
(一)
《数据库原理及应用》课程设计
设计题目
设计时间
学生姓名
学生学号
所在班级
指导教师
选修课管理系统
2012.12.31---2013.1.4
200904022
10信计
(2)
1、可行性研究…………………………………………….3
2、需求分析……………………………………………….4
3、概要设计………………………………………………..5
4、逻辑设计……………………………………………….6
5、数据库实现……………………………………………..7
6、测试……………………………………………………11
7、课程设计总结………………………………………...12
8、参考文献….…………………………………………...13
7、附录………………………………………………….…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图
四、逻辑设计
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
)
截图:
5.2在数据库中创建表SQL语句如下:
createtablestudent
(
snointprimarykey,
snamenvarchar(5),
sexnchar,
classint
)
createtablecourse
(
cnointprimarykey,
cnamenvarchar(15),
cnumberint
)
createtablescore
(
snoint,
cnoint,
degreeint,
primarykey(sno,cno)
foreignkey(sno)referencesstudent(sno),
foreignkey(cno)referencescourse(cno)
)
所创建的表如下:
向各表中插入数据如下:
Student表:
Course表:
Score表:
5.2建立查询
查询结果如下:
Student:
Course:
Score:
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创建的视图:
根据course创建的视图:
根据score创建的视图:
5.4创建存储过程
5.4.1用于查看所有学生的存储过程,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_2oncourse
insteadofinsert,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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 选修课 系统