1、数据库原理课程设计报告题目名称: 高校教材管理系统 专 业: 信息管理与信息系统 班 级: 信管 班 学 号: 学生姓名: * * 指导教师: * 完成日期 2016.7.41.题目要求实现出版社、教材类型等的管理;实现教材的订购管理;实现教材的入库管理;创建触发器,实现教材入库和出库时自动修改库存数量;创建存储过程统计各种教材的订购、到货和发放数量;建立数据库相关表之间的参照完整性约束。2.设计基本要求(1)结构设计,包括概念结构设计,逻辑结构设计和物理结构设计与高校教材管理相结合;(2)列出实体、联系及实体和联系的属性;(3)画出 E-R 图;E-R 图转换成关系模式,并注明主码和外码;(
2、4)建立直观的数据字典;(5)创建数据库,正确的 SQL 语句;(6)根据题目的要求写查询、存储过程、触发器等。3.设计过程3.1 问题的描述高校教材管理系统: 实现教材基本信息的管理; 实现教材的订购管理; 实现教材的入库管理; 实现教材的领用管理。 3.2 需求分析开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出来以提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。因此系统主要是实现教材管理信息的输入包括入库、出库、需求信息的输入等。教材管理各种信息的查询、修改以及各系各部门的
3、教材需求管理等。3.3 系统功能模块图(1)高校教材管理系统:高校管理系统出版社表信息管理学校表信息管理订购表信息管理教材表信息管理订购发货货发货数量订购数量入库教材号订单3.4 结构流程图(1)学校订购流程图开始订购出版社教材库存量订购量YN是否成功Y缴纳费用结束N(2)出版社订单流程图开始出版社发布教材信息订单是否接收Y发货结束N4 逻辑结构设计4.1 局部 E-R 图(1) 学校 E_R 图学校学校号 学校名(2) 教材 E_R 图教材教材号 教材名教材教材号(3) 出版社 E_R 图出版社出版社号 出版社名出版社出版社号4.2 全局 E-R 图根据表格绘制 E-R 图如下:学校学校名出
4、版社是否应聘成功订购 生产教材名Nmpq订购数量领用数量4.3 数据字典数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型,长度及其他约束条件。经分析可知其对应的关系模式:(1)出版社(出版社号、教材号、出版社名、库存量)(2)订购表(教材号、学校号、出版社号、订购数量、到货数量,领用数量)(3)教材(教材号、教材名)(4)学校(学校号、学校名)教材出版社号 出版社名教材号学校号到货数量涉及的表如下:(1)出版社表(以出版社号、教材号为主键)名称 数据类型 是否为空出版社号 int 否教材号 in
5、t 否出版社名库存量nchar(10)int否是(2)订购表(教材号、学校号、出版社号为主键)名称 数据类型 是否为空教材号 Int 否出版社号学校号订购数量领用数量到货数量IntIntIntIntInt否否否是是(3)学校表(学校号为主键)名称 数据类型 是否为空学校号 Int 否学校名 nchar(10) 否(4) 教材表(教材号为主键)名称 数据类型 是否为空教材号 Int 否教材名 nchar(10) 否4.4 关系图5 物理结构设计物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用 SQL 语句创建出来。5.1 创建存储过程(1)创建存储过程查询输入
6、学校号,输出该学校的到货情况-创建存储过程-输入学校号,输出该学校的到货情况use 高校教材管理if exists(select name from sysobjects where name=pro_1 and TYPE=p)drop procedure pro_1goCreate procedure pro_1学校号_in intAsSelect *From 订购表where 学校号 =学校号_in -验证exec pro_1 1015.2 创建触发器-创建触发器-(1)订购教材时,订购数量要小于库存量,并且修改库存量use 高校教材管理if exists(select name from
7、 sysobjects where name=tri_1 and TYPE=tr)drop trigger tri_1goCreate trigger tri_1 on 订购表For update,insertAs if (select 订购数量 from inserted) (select 库存量 from 出版社表 where 出版社号=( select 出版社号 from inserted ) and 教材号=( select 教材号 from inserted )beginprint 库存数量不足 rollback transaction endelseprint 订购成功update
8、 出版社表 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
9、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 zyjsto disk =D:2014508122 武杰备份 with initgo-数据库恢复use 高校教材管理 -(或更改为master)restore database zyjsfrom disk = D:2014508122 武杰 备份 wi
10、th recoverygo5.4 SQL 语句1- 新建一个表-学校表use 高校教材管理gocreate table 学校表 (学校号 int not null,学校名 nchar(10) not null)2- 创建视图-创建订购表视图use 高校教材管理gocreate view view_订购as select *from 订购表3.-添加记录-向订购表添加一条记录insert into 订购表 values(11,101,2,100,0,0)4.-修改记录-把订购表的教材号为,学校号为 ,出版社号为的到货数量改为Update 订购表 set 到货数量= 20 where 教材号= 1
11、1 and 学校号=100 and 出版社号=15.-删除记录-删除出版社表出版社号=1 并且教材号=13 的记录Delete from 出版社表 where 出版社号= 1 and 教材号=136.-查询记录-查询到货数量=0的学校名select 学校名from 学校表where 学校号 =(select 学校号 from 订购表 where 到货数量=0 )7.-创建索引-为用人单位表在单位编号上按降序建立聚簇索引ind_单位编号use 高校教材管理 go create clustered index ind_学校号 on 订购表(学校号 desc)6、总结在完成高校教材管理的课程设计针对
12、系统进行了需求分析、逻辑结构设计、物理设计、加载数据、功能设计(事物设计) ,程序设计、据库分析与设计;然后画出 E-R 图并利用 T-SQL 语句完成相关的操作。在 SQl 的语句编写实现的操作中认识到能掌握 SQL 的标准语句是极为重要的,在企业管理器和查询分析器中实现相同效果的不同操作。此课程设计高校教材管理系统以高校教材管理功能为基础,涵盖了出版社管理、教材管理、订购管理、库存管理多个方面,是高校教材实现的基本数据库的实现,但对于复杂的高校教材问题我的设计仅是冰山一角,希望在以后的学习中能完善!通过此次课程设计更深入的理解了 SQL Server 2008 中的有关基本操作。例如:表、
13、视图的创建、信息的插入、修改、删除,存储过程、触发器的相关操作等。同时对课本知识有了一个比较整体的掌握。同样的,在此次课程设计的学习实践中出现了许多问题,是我很苦恼,但是通过自我学习实践与请教老师同学,收获了很多,包括思路与技术问题。经过老师指导,我修改后自我感觉比之前有了进步,但是,针对于此教材管理系统的设计,还欠缺很多,由于时间与能力有限,关于学校教师与学生的教材的情况未能体现出,今后还须更加努力。参考文献1.王珊 陈红著数据库系统原理教程.北京:清华大学出版社.1998.72.王珊.陈红.文继荣著.数据库与数据库管理系统.北京:电子工业出版社.19953.王珊,萨师煊. 数据库系统概论.北京:高等教育出版社,20064.施伯乐,丁宝康 .数据库系统教程.北京:高等教育出版社,2006