1、. .数据库原理课程设计报告题目名称:高校教材管理系统 专业:信息管理与信息系统班级:信管班学号:学生XX:*指导教师:*完成日期2021.7.41.题目要求l 实现、教材类型等的管理;l 实现教材的订购管理;l 实现教材的入库管理;l 创立触发器,实现教材入库和出库时自动修改库存数量;l 创立存储过程统计各种教材的订购、到货和发放数量;l 建立数据库相关表之间的参照完整性约束。2.设计根本要求1构造设计,包括概念构造设计,逻辑构造设计和物理构造设计与高校教材管理相结合;2列出实体、联系及实体和联系的属性;3画出E-R图;E-R图转换成关系模式,并注明主码和外码;4建立直观的数据字典;5创立数
2、据库,正确的SQL语句;6根据题目的要求写查询、存储过程、触发器等。3.设计过程3.1问题的描述高校教材管理系统:实现教材根本信息的管理; 实现教材的订购管理; 实现教材的入库管理; 实现教材的领用管理。 3.2需求分析开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出来以提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。因此系统主要是实现教材管理信息的输入包括入库、出库、需求信息的输入等。教材管理各种信息的查询、修改以及各系各部门的教材需求管理等。3.3系统功能模块图(1)高校教材
3、管理系统:高校管理系统教材表信息管理订购表信息管理表信息管理学校表信息管理订单教材号入库订购数量发货数量发货货订购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图如下:教材号学校号到货数量教材学校学校名是否应聘成功订购生产教材名Nmpq订购数量领用数量名号4.3 数据字典数据的根本存取单位是存储记录。有了逻辑构造以后,
4、就可以设计存储记录构造,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型,长度及其他约束条件。经分析可知其对应的关系模式:(1)号、教材号、名、库存量(2)订购表教材号、学校号、号、订购数量、到货数量,领用数量(3)教材教材号、教材名(4)学校学校号、学校名涉及的表如下:(1)表(以号、教材号为主键)名称数据类型是否为空号int否教材号int否名库存量nchar(10)int否是(2)订购表教材号、学校号、号为主键名称数据类型是否为空教材号Int 否号学校号订购数量领用数量到货数量IntIntIntIntInt否否否是是(3)学校表学校号为主键 名称数据类型是否为空
5、学校号Int 否学校名nchar(10) 否(4)教材表教材号为主键 名称数据类型是否为空教材号Int 否教材名nchar(10) 否4.4关系图5 物理构造设计 物理构造设计是为逻辑数据模型选取一个最适合应用环境的物理构造,将逻辑构造设计中的表用SQL语句创立出来。5.1 创立存储过程1创立存储过程查询输入学校号,输出该学校的到货情况-创立存储过程-输入学校号,输出该学校的到货情况use高校教材管理ifexists(selectnamefromsysobjectswherename=pro_1andTYPE=p)dropprocedurepro_1goCreateprocedurepro_1
6、学校号_inintAsSelect*From订购表where学校号=学校号_in-验证execpro_11015.2创立触发器-创立触发器-(1)订购教材时,订购数量要小于库存量,并且修改库存量use高校教材管理ifexists(selectnamefromsysobjectswherename=tri_1andTYPE=tr)droptriggertri_1goCreatetriggertri_1on订购表Forupdate,insertAsif (select订购数量frominserted)(select库存量from表where号=(select号frominserted)and教材号
7、=(select教材号frominserted)beginprint库存数量缺乏rollbacktransactionendelseprint订购成功update表set库存量=库存量-(select订购数量frominserted)where号=(select号frominserted)and教材号=(select教材号frominserted)select库存量from表where号=(select号frominserted)and教材号=(select教材号frominserted)go-验证修改不成功案例update订购表set订购数量=300 where号=2 and教材号=11-验
8、证插入不成功insertinto订购表values(12,102,3,300,0,0)-修改成功update订购表set订购数量=10 where号=2 and教材号=11-插入成功insertinto订购表values(12,102,3,10,0,0)5.3数据库备份与恢复-数据库备份use高校教材管理backupdatabasezyjstodisk=D:2021508122 武杰备份withinitgo-数据库恢复use高校教材管理-(或更改为master)restoredatabasezyjsfromdisk=D:2021508122 武杰备份withrecoverygo5.4SQL语句
9、1-新建一个表-学校表use高校教材管理gocreatetable学校表(学校号intnotnull,学校名nchar(10)notnull)2-创立视图-创立订购表视图use高校教材管理gocreateviewview_订购asselect*from订购表3.-添加记录-向订购表添加一条记录insertinto订购表values(11,101,2,100,0,0)4.-修改记录-把订购表的教材号为,学校号为,号为的到货数量改为Update订购表set到货数量=20 where教材号=11 and学校号=100 and号=15.-删除记录-删除表号=1 并且教材号=13 的记录Deletefr
10、om表where号=1 and教材号=136.-查询记录-查询到货数量=0的学校名select学校名from学校表where学校号=(select学校号from订购表where到货数量=0)7.-创立索引-为用人单位表在单位编号上按降序建立聚簇索引ind_单位编号use高校教材管理gocreateclusteredindexind_学校号on订购表(学校号desc)6、总结在完成高校教材管理的课程设计针对系统进展了需求分析、逻辑构造设计、物理设计、加载数据、功能设计事物设计,程序设计、据库分析与设计;然后画出E-R图并利用T-SQL语句完成相关的操作。在SQl的语句编写实现的操作中认识到能掌握
11、SQL的标准语句是极为重要的,在企业管理器和查询分析器中实现一样效果的不同操作。此课程设计高校教材管理系统以高校教材管理功能为根底,涵盖了管理、教材管理、订购管理、库存管理多个方面,是高校教材实现的根本数据库的实现,但对于复杂的高校教材问题我的设计仅是冰山一角,希望在以后的学习中能完善!通过此次课程设计更深入的理解了SQL Server 2021中的有关根本操作。例如:表、视图的创立、信息的插入、修改、删除,存储过程、触发器的相关操作等。同时对课本知识有了一个比拟整体的掌握。同样的,在此次课程设计的学习实践中出现了许多问题,是我很苦恼,但是通过自我学习实践与请教教师同学,收获了很多,包括思路与技术问题。经过教师指导,我修改后自我感觉比之前有了进步,但是,针对于此教材管理系统的设计,还欠缺很多,由于时间与能力有限,关于学校教师与学生的教材的情况未能表达出,今后还须更加努力。参考文献1.王珊 陈红著?数据库系统原理教程?.:清华大学.1998.72.王珊.陈红.文继荣著.?数据库与数据库管理系统?.:电子工业.19953.王珊,萨师煊. ?数据库系统概论?.:高等教育,20064.施伯乐,丁宝康 .?数据库系统教程?.:高等教育,2006. .word.