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

上传人:飞****2 文档编号:56203587 上传时间:2022-11-01 格式:DOC 页数:5 大小:33KB
返回 下载 相关 举报
数据库原理与应用课程设计报告样例.doc_第1页
第1页 / 共5页
数据库原理与应用课程设计报告样例.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《数据库原理与应用课程设计报告样例.doc》由会员分享,可在线阅读,更多相关《数据库原理与应用课程设计报告样例.doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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脚本)CREATE DATABASE 生产管理GOUSE 生产管理CREATE TABLE 产品( 产品号 INT, 产品名 CHAR(10), 价格 INT, PRIMARY KEY(产品号)CREATE TABLE 零件( 零件号 INT, 零件名 CHAR(10), 价格 INT, PRIMARY KEY(零件号)CREATE TABLE 材料( 材料号 INT, 材料名 CHAR(10), 价格

4、INT, PRIMARY KEY(材料号)CREATE TABLE 仓库( 仓库号 INT, 仓库名 CHAR(10), 地址 CHAR(10), PRIMARY KEY(仓库号)CREATE TABLE 组装( 产品号 INT, 零件号 INT, 零件数 INT, PRIMARY KEY (产品号,零件号), FOREIGN KEY (产品号) REFERENCES 产品(产品号), FOREIGN KEY (零件号) REFERENCES 零件(零件号)CREATE TABLE 消耗( 零件号 INT, 材料号 INT, 消耗量 INT, PRIMARY KEY (零件号,材料号), FO

5、REIGN KEY (零件号) REFERENCES 零件(零件号), FOREIGN KEY (材料号) REFERENCES 材料(材料号)CREATE TABLE 存储( 材料号 INT, 仓库号 INT, 存储量 INT, PRIMARY KEY (材料号,仓库号), FOREIGN KEY (材料号) REFERENCES 材料(材料号), FOREIGN KEY (仓库号) REFERENCES 仓库(仓库号)GO6SQL编程(1)存储过程功能:根据指定仓库号和材料号查询指定仓库中指定材料的数量。USE 生产管理GOCREATE PROCEDURE STORE sid INT,mi

6、d INTAS IF EXISTS(SELECT 仓库号 FROM 仓库 WHERE 仓库号=sid) AND EXISTS(SELECT 材料号 FROM 材料 WHERE 材料号=mid) BEGIN DECLARE s INT SELECT s=存储量 FROM 存储 WHERE 仓库号=sid AND 材料号=mid RETURN s END ELSE RETURN -1GO测试脚本:USE 生产管理GOINSERT INTO 产品 VALUES(1,自行车,300)INSERT INTO 零件 VALUES(1,链条,20)INSERT INTO 材料 VALUES(1,钢,3000

7、)INSERT INTO 仓库 VALUES(1,原料库,一分厂)INSERT INTO 组装 VALUES(1,1,1)INSERT INTO 消耗 VALUES(1,1,1)INSERT INTO 存储 VALUES(1,1,1)GODECLARE r INTEXECUTE r=STORE 1,1PRINT rEXECUTE r=STORE 1,2PRINT rEXECUTE r=STORE 2,1PRINT rGO(2)触发器USE 生产管理GOCREATE TRIGGER S ON 存储 FOR UPDATEAS IF 0ANY(SELECT 存储量 FROM inserted) BE

8、GIN DECLARE SC CURSOR FOR SELECT 仓库号,材料号 FROM inserted WHERE 存储量0 DECLARE sid INT,mid INT,s INT OPEN SC FETCH NEXT FROM SC INTO sid,mid WHILE FETCH_STATUS=0 BEGIN SELECT s=存储量 FROM deleted WHERE 仓库号=sid AND 材料号=mid UPDATE 存储 SET 存储量=s WHERE 仓库号=sid AND 材料号=mid PRINT STR(sid,3)+号仓库+STR(mid,3)+号材料库存不足! FETCH NEXT FROM SC INTO sid,mid END CLOSE SC DEALLOCATE SC ENDGO测试脚本:USE 生产管理GOINSERT INTO 材料 VALUES(2,铜,5000)INSERT INTO 材料 VALUES(3,煤,1000)INSERT INTO 存储 VALUES(2,1,1)INSERT INTO 存储 VALUES(3,1,1)GOUPDATE 存储 SET 存储量=存储量-10GOSELECT * FROM 存储GO7前台设计(JSP、ASP、VB)(1)连接(2)查询(3)插入、修改、删除

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com