高校教材管理数据库课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理课程设计报告
题目名称:高校教材管理系统
专业:信息管理与信息系统
班级:信管班
学号:
学生姓名: * **
指导教师: **
完成日期2016.7.4
1.题目要求
● 实现出版社、教材类型等的管理;
● 实现教材的订购管理;
● 实现教材的入库管理;
● 创建触发器,实现教材入库和出库时自动修改库存数量;
● 创建存储过程统计各种教材的订购、到货和发放数量;
● 建立数据库相关表之间的参照完整性约束。
2.设计基本要求
(1)结构设计,包括概念结构设计,逻辑结构设计和物理结构设计与高校教材管理相结合;
(2)列出实体、联系及实体和联系的属性;
(3)画出E-R图;E-R图转换成关系模式,并注明主码和外码;
(4)建立直观的数据字典;
(5)创建数据库,正确的SQL语句;
(6)根据题目的要求写查询、存储过程、触发器等。
3.设计过程
3.1问题的描述
高校教材管理系统:实现教材基本信息的管理;实现教材的订购管理;实现教材的入库管理;实现教材的领用管理。
3.2需求分析
开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出来以提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。因此系统主要是实现教材管理信息的输入包括入库、出库、需求信息的输入等。教材管理各种信息的查询、修改以及各系各部门的教材需求管理等。
3.3系统功能模块图
(1)高校教材管理系统:
3.4结构流程图(1)学校订购流程图
(2)出版社订单流程图
4逻辑结构设计
4.1局部E-R图
(1) 学校 E_R图
(2) 教材 E_R图
(3) 出版社E_R图
4.2 全局E-R图
根据表格绘制E-R图如下:
4.3 数据字典
数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型,长度及其他约束条件。
经分析可知其对应的关系模式:
(1)出版社(出版社号、教材号、出版社名、库存量)
(2)订购表(教材号、学校号、出版社号、订购数量、到货数量,领用数量)
(3)教材(教材号、教材名)
(4)学校(学校号、学校名)
涉及的表如下:
(1)出版社表(以出版社号、教材号为主键)
(2)订购表(教材号、学校号、出版社号为主键)
(3)学校表(学校号为主键)
(4) 教材表(教材号为主键)
4.4关系图
5 物理结构设计
物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用SQL语句创建出来。
5.1 创建存储过程
(1)创建存储过程查询输入学校号,输出该学校的到货情况
--创建存储过程
--输入学校号,输出该学校的到货情况
use高校教材管理
if exists(select name from sysobjects
where name='pro_1'and TYPE='p')
drop procedure pro_1
go
Create procedure pro_1
@学校号_in int
As
Select*
From订购表
where学校号=@学校号_in
--验证
exec pro_1'101'
5.2创建触发器
--创建触发器
--(1)订购教材时,订购数量要小于库存量,并且修改库存量
use高校教材管理
if exists(select name from sysobjects
where name='tri_1'and TYPE='tr')
drop trigger tri_1
go
Create trigger tri_1
on订购表
For update,insert
As
if (select订购数量from inserted)>(select库存量
from出版社表
where出版社号=(select出版社号from inserted)
and教材号=(select教材号from inserted)
)
begin
print'库存数量不足'
rollback transaction
end
else
print'订购成功'
update出版社表set库存量=库存量-(select订购数量from inserted) where出版社号=(select出版社号from inserted)
and教材号=(select教材号from inserted)
select库存量from出版社表where出版社号=(select出版社号from inserted)
and教材号=(select教材号from inserted)
go
--验证修改不成功案例
update订购表set订购数量=300 where出版社号=2 and教材号=11
--验证插入不成功
insert into订购表values(12,102,3,300,0,0)
--修改成功
update订购表set订购数量=10 where出版社号=2 and教材号=11
--插入成功
insert into订购表values(12,102,3,10,0,0)
5.3数据库备份与恢复
--数据库备份
use高校教材管理
backup database zyjs
to disk='D:\2014508122 武杰\备份'
with init
go
--数据库恢复
use高校教材管理--(或更改为master)
restore database zyjs
from disk='D:\2014508122 武杰\备份'
with recovery