资源描述
教材征订系统的数据库设计和数据操作
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
课程设计
设计说明书
教材征订系统的数据库
设计和数据操作
学生姓名
张丹
学号
1118033021
班级
计专1101
成绩
指导教师
数学与计算机科学技术学院
2013年12月23日
课程设计 课程设计评阅书
题 目
教材征订系统的数据库设计和数据操作
学生姓名
张丹
学号
1118033021
指导教师评语及成绩
指导教师签名:
年 月 日
答辩评语及成绩
答辩教师签名:
年 月 日
教研室意见
总成绩:
室主任签名:
年 月 日
课程设计任务书
2013—2014学年第1学期
专业: 计算机应用 学号: 1118033021 姓名:
课程设计名称: 课程设计
设计题目: 教材征订系统的数据库设计和数据操作
完成期限:自 2013 年 12 月 18 日至 2014 年 1月 1 日共 2 周
设计依据、要求及主要内容(可另加附页):
教材征订系统用于征订教材,要求具有教材征订、查询、统计、打印教材征订单和后台维护功能.教材征订功能实现按课程征订教材。查询功能可以按课程名查询所征订的教材,也可以按教材名查询所征订的教材,也可以按班级查询该班级所征订的教材,还可以按系部查询该系部所征订的教材,对于所查询的结果要求能将查询结果打印出来。统计功能要求能按教材类别统计,也能按班级统计所有班级教材征订费.打印教材征订单功能要求按系部打印教材征订单.后台维护功能要求管理课程信息、教材信息、开课学期、院系、班级和专业等。根据以上要求完成下列题目:
①针对以上的需求运用数据流图和数据字典进行需求分析.
②设计数据库的概念结构.
③设计数据库的逻辑结构。
④设计数据库的物理结构
⑤在SQL SERVER中建立数据库。
⑥根据查询和统计的需要,建立数据库中的视图.
⑦根据数据操作需要,建立数据库中的存储过程。
⑧建立数据库的备份作业,要求在每天2:00备份数据库。
⑨根据题目的需求,写出完成各个功能操作的SQL语句。
指导教师(签字): 教研室主任(签字):
批准日期: 年 月 日
摘 要
教材征订系统的设计目的是为了方便学校资料员对教材征订工作进行计算机管理,本系统以学校的教材征订为研究对象,以实现教材征订网络化管理、提高工作效率、减少教材征订中的错误为目标而设计的教材征订管理系统.
该系统用于学校的教材征订,采用SQL Server 2000作为数据库系统,要求具有教材征订、查询、统计、打印教材征订单和后台维护功能。教材征订系统有着很好的应用前景,用它来代替传统的手工征订,实现教材征订工作的网络化管理是一个必然的趋势。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。
关键词: 教材征订管理系统;SQL Server 2000;数据库系统
目 录
1 课题描述 1
2 数据库设计 2
2。1 需求分析 2
2。2 概念结构设计 3
2。3 逻辑结构设计 4
2。4 物理结构设计 4
3 创建数据库 6
3.1 数据库表创建 6
3.2 数据库视图创建 8
3。3 数据库触发器创建 9
3.4 数据库备份创建 10
4 数据库操作 11
4。1 教材征订统计 11
4.2 教材征订查询 13
4.3 教材征订存储 14
总 结 15
参考文献 16
1 课题描述
教材征订管理系统是教学管理中的重要组成部分,一般情况下,高校教材管理主要是由教材计划制定、采购、入库、发放、记账、结算等一系列工作所组成,该工作各院校都设有专门机构负责。由于学校中专业设置门类多,各专业每期开设课程种类多其业务不仅涉及出版部门,而且要面对全校各系、部的授课教师,各班级的学生,涉及人员广,工作量大,使教材管理工作更加繁重不堪.
为了更好的适应当前学校管理的需求,学校教材管理人员目前迫切需要一套方便、高效的计算机化的管理信息系统来代替繁琐、低效的传统手工管理方式,开发教材征订管理系统,可以实现对教材统计、征订的管理,并最终实现教材管理的全面自动化
开发工具:SQL Server 2000
2 数据库设计
2。1 需求分析
根据对目前教材征订情况的分析和对目前教材征订系统的了解,我们所要开发的教材征订系统需要具有教材征订、查询、统计、打印教材征订单和后台维护等功能。教材征订管理系统对于教学管理具有重要作用,一套方便、高效的计算机化的信息系统对于推进学校教材征订管理的自动化具有其积极的意义。
(1)数据流程图
图2.1教材征订系统流程图
(2)数据字典
数据字典如下:
数据流名称:班级情况
位置:班级→P1
定义:班级 = 班级号 + 班级名 + 所属专业 + 所属系 + 人数
说明:纪录各个班级的具体信息,且查看各班信息是否完好,是否与专业、系相符
数据流名称:专业情况
位置:专业→P1
定义:专业 = 专业号 + 专业名 + 所属系
说明:纪录各个专业的具体信息,且查看各专业息是否完好,是否已与系相符
数据流名称:系情况
位置:系→P1
定义:系 = 系号 + 系名
说明:纪录各个系的具体信息,且查看各系信息是否完好
数据流名称:课程情况
位置:课程→P2
定义:课程 = 课程号 + 课程名
说明:纪录学校开设课程的具体信息
数据流名称:教材信息
位置:教材→P3
定义:教材 = 教材号 + 书名 + 出版社 + 作者 + 版次 + 单价
说明:教材纪录包含教材的所有具体信息
数据流名称:管理员情况
位置:管理员→P4
定义:管理员 = 用户名 + 口令
说明:通过管理员的用户名和口令鉴别用户身份
数据存储编号:D1
数据结构:教材订购 = 班级号 + 课程号 + 订购日期
说明:一个班选择多门课程教材订购,一门课程教材被多个班订购
数据存储编号:D2
数据结构:用户登记 = 用户名 + 密码
说明:用户通过用户名和密码登陆
2.2 概念结构设计
概念模型的设计思想是根据需求分析的内容,用E—R图表示各个实体及其属性以及用各实体之间的联系。各实体的属性及实体之间的联系如图2.2所示。
图2。2教材征订系统E—R图
2。3 逻辑结构设计
将教材征订系统的E—R图转换为关系数据库的数据模型,其关系模式为:
班级(班级号、班级名、所属专业、所属系、人数)
专业(专业号、专业名、所属系)
系(系号、系名)
课程(课程号、课程名)
教材表(教材号、书名、出版社、作者、版次、单价)
征订(系号、班级号、教材号、课程号)
2.4 物理结构设计
物理结构设计如下表2.3所示.
表2.3 属性设计表
表名
属性名
数据类型
长度
允许空
主码
其他
班级
班级号
Char
5
Not
主码
索引
班级名
Char
40
Not
所属专业
Char
5
Not
所属系
Char
5
Not
人数
Char
4
Not
专业
所属系
Char
5
Not
专业号
Char
10
Not
主码
索引
专业名
Char
35
Not
系
系号
Char
5
Not
主码
索引
系名
Char
30
Not
课程
课程号
Char
10
Not
主码
索引
课程名
Char
40
Not
教材
出版社
Char
40
Not
版次
Char
10
Not
作者
Char
10
Not
教材号
Char
10
Not
主码
索引
书名
Char
50
Not
单价
Money
8
Not
征订
教材号
Char
10
Not
主码
索引
系号
Char
10
Not
主码
索引
班级号
Char
10
Not
主码
索引
课程号
Char
10
Not
主码
索引
3 创建数据库
3。1 数据库表创建
(1)创建数据库
在企业管理器中创建数据库,创建过程如图3。1所示。
图3。1 创建数据库图
(2)创建表
根据数据库物理设计,在SQL Server 2000中建立数据库对应的数据表.
① 专业表
专业表的建立如图3.2所示.
图3。2 创建专业表截图
② 征订表
征订表的建立如图3。3所示。
图3。3 创建征订表截图
③ 教材表
教材表的建立如图3。4所示。
图3。4创建教材表截图
④ 班级表
班级表的建立如图3.5所示.
图3。5创建班级表截图
⑤ 系表
系表的建立如图3。6所示。
图3.6创建系表截图
⑥ 课程表
课程表的建立如图3。7所示。
图3。7创建课程表
3.2 数据库视图创建
根据查询和统计的需要,在查询分析器中建立教材征订视图,方便管理人员对教材征订信息的具体查找,SQL语句如下:
create view 教材征订(教材号,教材名,班级号,班级名,课程名,单价,人数)
as select 征订.教材号,教材表.书名,班级。班级号,班级.班级名,课程。课程名,单价,人数
from 课程,班级,教材表,征订
where 征订.班级号=班级.班级号 and 征订.课程号=课程.课程号 and 征订.教材号=教材表.教材号
3.3 数据库触发器创建
根据数据操作需要,建立数据库中的存储过程和各表触发器
①“系—专业”触发器:删除系记录时将所属该系的专业记录删除
create trigger a1 on 系
for delete
as delete 专业
from 专业,deleted
where 专业.所属系=deleted。系号
②“系—班级”触发器:删除系记录时将所属该系的班级记录删除
create trigger a2 on 系
for delete
as delete 班级
from 班级,deleted
where 班级。所属系=deleted。系号
③“专业—班级"触发器:删除专业记录时将所属该专业的班级记录删除
create trigger a3 on 专业
for delete
as delete 班级
from 班级,deleted
where 班级.所属专业=deleted.专业号
④“班级-征订”触发器:删除班级记录时将所属该班级的征订记录删除
create trigger a4 on 班级
for delete
as delete 征订
from 征订,deleted
where 征订。班级号=deleted.班级号
⑤“课程—征订”触发器:删除课程记录时将所属该课程的征订记录删除
create trigger a5 on 课程
for delete
as delete 征订
from 征订,deleted
where 征订.课程号=deleted。课程号
⑥“教材表-征订”触发器:删除教材记录时将所属该教材的征订记录删除
create trigger a6 on 教材表
for delete
as delete 征订
from 征订,deleted
where 征订.教材号=deleted。教材号
3。4 数据库备份创建
建立数据库的备份作业,要求在每天2:00备份数据库
在企业管理器中建立备份信息,操作如图3。8所示.
图3.9 数据库备份图
图3。8 数据库备份图
4 数据库操作
4.1 教材征订统计
(1) 按课程统计征订教材信息
查找“信息学”课程的征订信息
SQL 语句为:select *
from 教材征订
where 课程名 =’信息学'
语句执行结果如图4.1所示。
图4。1教材征订查询表
(2) 按教材名统计征订教材信息
查找“专业英语”教材的征订信息
SQL 语句为:select *
from 教材征订
where 书名='专业英语’
语句执行结果如图4.2所示。
图4.2 教材征订查询表
(3) 按班级统计征订教材信息
查找班级号为“B00010”的教材的征订信息
SQL 语句为:select *
from 教材征订
where 班级号='00010'
语句执行结果如图4.3所示。
图4.3 教材征订查询表
(4) 按系统计征订教材信息
查找 “数计学院"的教材的征订信息
SQL 语句为:select 教材号,书名,教材征订。班级号,单价,人数
from 教材征订,系,班级
where 教材征订。班级号=班级.班级号 and 班级。所属系=系.系名 and 系.系名='数计学院’
语句执行结果如图4.4所示。
图4。4 教材征订查询表
(5) 按各教材号统计征订教材信息
查找各班各类教材的征订信息
SQL 语句为:select 教材征订。教材号,书名,班级号,教材.单价,人数
from 教材征订,教材表
where 教材征订.教材号=教材表。教材号
语句执行结果如图4。5所示。
图4。5教材征订查询表
(6) 按班级统计费用
统计班级号为“B00004”的班级征订教材的人数和费用
SQL 语句为:select 班级号,班级名,教材名,单价,人数
from 教材征订
where 班级号=’B00004’
语句执行结果如图4。6所示。
图4。6 教材征订查询表
4。2 教材征订查询
总数查询
查询各教材的订购总人数和总金额
SQL 语句为:select 教材号,人数=sum(人数),总金额=sum(人数*单价)
from 教材征订
group by 教材号
语句执行结果如图4.7所示。
图4.7 教材征订查询表
4。3.教材征订存储
教材存储
存储所有教材
SQL语句为:create procedure 全部教材
as select *
from 教材
go
exec 全部教材
语句执行结果如图4。8所示。
总 结
这次数据库课程设计是需要我们开发一款能够使用于教材征订的系统软件,通过两个星期的努力,开发出了能够初步实现教材征订系统数据库的一些基本的管理系统功能的系统,这些功能能够满足管理者对一般教材的管理需求。
数据库开发的内容是从数据表的创建和修改开始的,数据表的建立关系数据库的基本结构,它是用来存储数据具有自己的属性,在数据表的操作中有:查看表的信息、查看表的属性、修改表中的数据、删除表当中的数据以及修改、删除表的操作,从课程的学习和实验当中我了解到,表是数据库中最重要的一个数据对象,表建立的好坏直接关系到数据库的实际使用效果,表当中的内容越具体对表越有利,同时对数据库的各种应用也有着各种各样的便利,我们不仅可以视同视图简化数据库操作还可以使用索引加快查询速度,在查询的同时还可以修改、删除、更新表中的内容,能有效的提高数据库的可用性和安全性。
本次课程设计的难点在于要对所设计的系统有一定的了解,而且为满足用户的要求需要对所要设计的系统画出草图加以认真的分析,并且对所有分类进行功能模块化设计,然后画出数据流图和E-R图,这样才能在进行详细设计时能够得心应手。
在实验过程中,由于各种因素的限制,系统仅能实现最简单最基本的功能,同时数据库也有可能存在一些不合理的地方,以至于影响到整个系统的功能以及性能,在往后,通过对自己知识的不断完善,来弥补在这次实验中所发现的自己知识的不足,后期将会开发出更加全面的系统。
参考文献
[1] 苗雪兰,宋歌,刘瑞新,等.数据库系统原理及应用教程[M]。机械工业出版社.2010
[2] 冯建华,周主柱,宋歌,等.数据库系统设计与原理[M].清华大学出版社.2006
[3] 萨师煊,王珊。数据库系统概论(第四版) [M]. 北京:高等教育出版社。2000
[4] 李德奇。ASP.NET程序设计[M]。人民邮电出版社 明日科技。2007
15
展开阅读全文