数据库原理与应用课程设计报告样例new

数据库原理与应用课程设计报告样例new

ID:18939590

大小:56.50 KB

页数:5页

时间:2018-09-26

数据库原理与应用课程设计报告样例new_第1页
数据库原理与应用课程设计报告样例new_第2页
数据库原理与应用课程设计报告样例new_第3页
数据库原理与应用课程设计报告样例new_第4页
数据库原理与应用课程设计报告样例new_第5页
资源描述:

《数据库原理与应用课程设计报告样例new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据库系统原理》课程设计报告学号:姓名:班级:1.需求分析(业务规则)生产管理系统的业务规则如下:(1)一件产品可以由多个零件组成,一个零件可以组装多件不同的产品。(2)一件产品可以使用多种材料,一种材料可以用于多件不同的产品。(3)一个零件可以消耗多种材料,一种材料可以用于多个不同的零件。(4)一个仓库可以存放多种材料,一种材料可以存放在多个仓库中。2.概念结构设计(E-R图)(1)实体集:工程、零件、供应商。(2)联系集:产品实体与零件实体之间是多对多联系“组装”,产品实体与材料实体之间是多对多联系“使用”,零件实体与材料实体之间是多对多联系“消耗”,仓库实体与材

2、料实体之间是一对多联系“存储”。(3)局部E-R图产品产品号产品名价格零件零件号零件名价格材料材料号材料名价格仓库仓库号仓库名地址产品零件材料组装mn消耗mn产品材料仓库使用mn存储mn(4)全局E-R图产品与材料之间的使用联系可由产品与零件之间的组装联系以及零件与材料之间的消耗联系推导出来,属于冗余联系,消除后得到全局E-R图。产品零件组装mn材料仓库存储mn存储量零件数消耗mn消耗量3.逻辑结构设计(关系模式)(1)实体集转换为关系模式产品(产品号,产品名,价格)零件(零件号,零件名,价格)材料(材料号,材料名,价格)仓库(仓库号,仓库名,地址)(2)联系集转换为关

3、系模式组装(产品号,零件号,零件数)消耗(零件号,材料号,消耗量)存储(材料号,仓库号,存储量)4.规范化设计(3NF)上述7个关系中均不存在非主属性对候选码的部分函数依赖和传递函数依赖,因此均已达到3NF要求,不需要进一步分解。5.创建数据库(SQL脚本)CREATEDATABASE生产管理GOUSE生产管理CREATETABLE产品(产品号INT,产品名CHAR(10),价格INT,PRIMARYKEY(产品号))CREATETABLE零件(零件号INT,零件名CHAR(10),价格INT,PRIMARYKEY(零件号))CREATETABLE材料(材料号INT,材

4、料名CHAR(10),价格INT,PRIMARYKEY(材料号))CREATETABLE仓库(仓库号INT,仓库名CHAR(10),地址CHAR(10),PRIMARYKEY(仓库号))CREATETABLE组装(产品号INT,零件号INT,零件数INT,PRIMARYKEY(产品号,零件号),FOREIGNKEY(产品号)REFERENCES产品(产品号),FOREIGNKEY(零件号)REFERENCES零件(零件号))CREATETABLE消耗(零件号INT,材料号INT,消耗量INT,PRIMARYKEY(零件号,材料号),FOREIGNKEY(零件号)REFE

5、RENCES零件(零件号),FOREIGNKEY(材料号)REFERENCES材料(材料号))CREATETABLE存储(材料号INT,仓库号INT,存储量INT,PRIMARYKEY(材料号,仓库号),FOREIGNKEY(材料号)REFERENCES材料(材料号),FOREIGNKEY(仓库号)REFERENCES仓库(仓库号))GO6.SQL编程(1)存储过程功能:根据指定仓库号和材料号查询指定仓库中指定材料的数量。USE生产管理GOCREATEPROCEDURESTORE@sidINT,@midINTASIFEXISTS(SELECT仓库号FROM仓库WHERE

6、仓库号=@sid)ANDEXISTS(SELECT材料号FROM材料WHERE材料号=@mid)BEGINDECLARE@sINTSELECT@s=存储量FROM存储WHERE仓库号=@sidAND材料号=@midRETURN@sENDELSERETURN-1GO测试脚本:USE生产管理GOINSERTINTO产品VALUES(1,'自行车',300)INSERTINTO零件VALUES(1,'链条',20)INSERTINTO材料VALUES(1,'钢',3000)INSERTINTO仓库VALUES(1,'原料库','一分厂')INSERTINTO组装VALUES(

7、1,1,1)INSERTINTO消耗VALUES(1,1,1)INSERTINTO存储VALUES(1,1,1)GODECLARE@rINTEXECUTE@r=STORE1,1PRINT@rEXECUTE@r=STORE1,2PRINT@rEXECUTE@r=STORE2,1PRINT@rGO(2)触发器USE生产管理GOCREATETRIGGERSON存储FORUPDATEASIF0>ANY(SELECT存储量FROMinserted)BEGINDECLARESCCURSORFORSELECT仓库号,材料号FROMinsertedWHE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。