资源描述
成 绩
10信计-(一)
《数据库原理及应用》课程设计
设计题目 选修课管理系统
设计时间 .12.31---.1.4
学生姓名
学生学号 04022
所在班级 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 运行环境
Windows xp / 7操作系统下,安装并配置软件microsoft SQL server数据库管理系统。
2.2 数据需求
2.2.1 数据流图(DFD)
2.2.2 数据字典(DD)
“学生信息表”存放结构以下:
数据存放:学生信息表;
说明:学生基础情况;
组成:以学号为关键;
数据量:学生人数;
存放方法:随机存放;
“选课表”存放结构以下:
数据存放:选课表;
说明:学生选课情况;
组成:以学号和课程号为关键;
数据量:学生人数;
存放方法:随机存放;
“开课课程表”存放结构以下:
数据存放:开课课程表;
说明:全部开设课程情况;
组成:以课程号为关键;
数据量:课程数目;
存放方法:随机存放;
“成绩表”存放结构以下:
数据存放:成绩表;
说明:选修各门课程成绩;
组成:以学号和课程号为关键;
数据量:很多;
存放方法:随机存放;
2.3 一致性需求
在选修课管理系统中相关表中,有较强相关性,为何实现一致性需求,我们在各个表之间建立起了一致性约束。
2.4 完整性需求
依据选修课管理系统要求,为保持数据完整性,采取了数据库事务机制,预防出现操作故障。
三、概要设计
3.1接口设计
3.1.2外部接口
经过一定计算机硬件,建立服务器系统,管理员经过管理服务器系统,和用户进行交互,从而达成资源共享目标,实现选修课管理系统。
3.1.2 内部接口
程序内部需要共同数据定义和描述,此系统是智能办公化管理系统一个子系统,必需和这个系统其它子系统统一数据定义等,才能使该系统性能达成最好,而且要尽可能消除和其它子系统模块之间存在数据冗余,才能使整个智能办公系统做到高效,方便。
3.2 E—R图
四、逻辑设计
4.1关系模式转化
学生(学号,姓名,性别,年纪,籍贯);
课程(课程号,课程名,课时,性质);
选修(学号,课程号,成绩);
五、 数据库实现
5.1 创建数据库
Optional数据库创建SQL 语句:
create database optional
on
(
name=optional
filename='c:\\optional.mdf',
size=100MB,
maxsize=200MB,
filegrowth=2MB
)
log on
(
name=optional_log,
filename='c:\\optional.ldf',
size=20MB,
maxsize=80MB,
filegrowth=1MB
)
截图:
5.2 在数据库中创建表
SQL语句以下:
create table student
(
sno int primary key,
sname nvarchar(5),
sex nchar,
class int
)
create table course
(
cno int primary key,
cname nvarchar(15),
cnumber int
)
create table score
(
sno int,
cno int,
degree int,
primary key(sno,cno)
foreign key(sno)references student(sno),
foreign key(cno)references course(cno)
)
所创建表以下:
向各表中插入数据以下:
Student表:
Course表:
Score表:
5.2 建立查询
查询结果以下:
Student:
Course:
Score:
5.3 创建视图
创建视图SQL语句以下:
create view student_view
as
select sno as'学号',sname as'姓名',sex as'性别',class as'班级'
from student
create view course_view
as
select cno as'课程号',cname as'课程名',cnumber as'人数'
from course
create view score_view
as
select sno as'学号',cno as'课程号',degree as'成绩'
from score
以下:
依据student创建视图:
依据course 创建视图:
依据score 创建视图:
5.4 创建存放过程
5.4.1用于查看全部学生存放过程,SQL语句以下:
create procedure all_students
as
select * from student
5.4.2用于查看全部课程存放过程,SQL语句以下:
create procedure all_courses
as
select * from course
5.4.3 用于查看全部学生所选课程成绩,SQL语句以下:
create procedure all_score
as
select * from score
5.5 创建触发器
5.5.1 创建一个名为“trig_1”触发器,当向学生表添加统计时,该触发器自动显示学生表全部信息。
create trigger trig_1 on student
for insert
as
select * from student
5.5.2 创建一个名为“trig_2”触发器,当试图向course表添加、修改或删除统计时,该触发器自动显示以下信息:“对不起,你无权进行更新操作!”。
create trigger trig_2 on course
instead of insert,update,delete
as
print'对不起,你无权进行更新操作!'
5.5.3 创建“trig_3”触发器,当向score修改统计时,该触发器自动显示修改前和修改后统计。
Create trigger trig_3
on score
for update
as
select * from deleted ------过去删除,即修改前数据;
select * from inserted -------插入 ,即修改后数据;
六、测试
测试良好,运行稳定。
七、课程设计总结
经过此次数据库课程设计,真正达成了学和用结合,增强了对数据库方面应用了解,对自己以后参与开发数据库系统积累了不少经验,在试验过程中,从建立数据开始,对数据库设计理念及思想上有更高认识,从需求分析,到概念设计和逻辑设计,E-R图表示,数据字典创建,知道了不少相关数据库开发过程中知识,在试验中建表,及其关系模式,关系代数建立及了解,将SQL语言查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言灵活性,其中包含,插入、删除、修改、查询,牵涉表和表之间联络,主键和外主键定义,约束项设置,使逻辑更严密。
在学习过程中,我也上网查了不少资料,也看了部分她人设计小型超市信息系统设计汇报,学以致用,自我创新,独立完成了这份自己汇报,从中从学到用,从用又到学,不停修改,系统更新。即使不能达成完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助,知识是无限,我以后还会在这个领域不停进行探索,掌握更多知识。
八、参考文件
1. 数据库原理及应用使用教程 姜代红 蒋秀莲 主编
3. 网上资源 网友 提供
4. 图书馆数据库相关资料 学校 提供
九、附件
相关SQL 语句及数据库文件见压缩文件中。
展开阅读全文