工厂数据库管理系统

上传人:仙*** 文档编号:43735754 上传时间:2021-12-04 格式:DOC 页数:31 大小:707.51KB
收藏 版权申诉 举报 下载
工厂数据库管理系统_第1页
第1页 / 共31页
工厂数据库管理系统_第2页
第2页 / 共31页
工厂数据库管理系统_第3页
第3页 / 共31页
资源描述:

《工厂数据库管理系统》由会员分享,可在线阅读,更多相关《工厂数据库管理系统(31页珍藏版)》请在装配图网上搜索。

1、一、课程设计的目的掌握数据库的基础知识、基本理论、原理和实现技术。二、设计题目:工厂数据库管理系统已知技术参数和设计要求:需求说明及要求题目:工厂数据库管理系统某工厂需建立一个管理数据库存储以下信息:1、 工厂包括厂名和厂长名。2、 一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。3、 一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。4、 一个车间生产多种产品,产品有产品号、产品名称和价格。5、 一个车间生产多种零件,一个零件也可能为多个车间制造。零件有零件号、重量和价格。6、 一个产品由多种零件组成,一种零件也可装配出多种产品。7、 产品与零件均存入仓库中。8、

2、 厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。各阶段具体要求:1、需求分析阶段l 定义数据项的含义和取值l 定义目标系统的数据流2、概念结构设计阶段l 画出实体模型E-R图3、逻辑结构设计阶段l 将实体模型转化为关系模型l 给出每个关系的主关键字和函数依赖集l 分析你所设计的关系数据库模式是否属于3NF4、物理设计阶段l 确定所有字段的名称、类型、宽度、小数位数及完整性约束 l 确定数据库及表的名称及其组成 l 确定索引文件和索引关键字5、数据库安全及维护设计阶段l 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)l 为了实现复杂的数据完整性约束,设计适当的触发器l 设计一个

3、适合的数据库备份策略6、实施阶段l 要求所有操作必须在查询分析器中用SQL语句或系统存储过程完成。三、设计内容1将概念模型转化为关系模型从E-R图中可以看到有6个实体,所以我建立了6个实体关系表,并且把实体键作为表的关键字,4个一对多的联系表,在建立关系模型的过程中,我是把一这边的实体键放到多这边做为外键,4个多对多的联系,所以我建立了4个联系表,并把相互联系的两实体的实体键,分别作为联系表的外键。在处理仓库与零件多对多的联系和仓库与产品多对多的联系过程中有以下两种方法:(1) 建立两个存储表,仓库零件存储表和仓库产品存储表,并把仓库号,零件号和仓库号,产品号分别作为这两个联系表的外键,这样就

4、保持了参照完整性的约束条件,而且建立两个联系表清晰明了,更容易使人明白。(2) 建立一个存储表,仓库物品存储表,它包含仓库号,物品号(零件号和产品号),库存量3个属性,建立一个存储表更简洁,但是在建表的过程中丢失的参照完整性。综合考虑以上两种方法,我觉得第(1)中更好。四、设计步骤4.1需求分析阶段(1)定义数据项的含义和取值数据项名含义 类型 宽度 小数位数FacName工厂名Char 10FacMName厂长名 Char 8CNo车间主任编号 Char 8WorkNo车间号Char 4WorkAddress车间地址 Char 12Workphone车间电话 Char 5WorkerNo职工

5、号 Char 5WorkerName职工名 Char 8WoerkerAge职工年龄 Int 4WorkerSex性别 Char 2WorkerType工种 Char 10ProductNo产品号 Char 5ProductName产品名称 Char 12ProductPrice产品价格 Numeric 5 1ComNo零件号 Char 5ComWeight零件重量 Int 4Comprice零件价格 Numeric 51WareNo仓库号 Char 5WNo仓库主任编号 Char 8Warephone仓库电话 Char 12(2)定义数据结构数据结构含义组成工厂 工厂情况表FacName+F

6、acMName车间车间情况表WorkName+CNo+ WorkNo+WorkAddress+ Workphone+FacName 职工 职工情况表WorkerNo+WorkerName+WorkerSex+ WorkerType+WorkerAge+WorkNo 产品 产品情况表 ProductNo+ProductName+ ProductPrice+Snum1 零件零件情况表 ComNo+ComWeight+Comprice+Snum2 仓库仓库情况表WareNo+WNo+Warephone+FacName(3)定义数据流数据流名 含义 组成 Factory 工厂情况表 FacName+F

7、acMName Workshop 车间情况表WorkNo+CName+WorkAddress+ Workphone+FacName WorkerQK职工情况表WorkerNo+ WorkerName+ WorkerSex+ WorkerType ProductQK产品情况表ProductNo+ ProductName+ ProductPrice+WorkNo CompentsQK零件情况表ComNo + ComWeight+ CompriceWareQK仓库情况表WareNo+WName+Warephone+FacName4.2概念结构设计阶段画出实体模型E-R图仓库工厂产品车间零件工人仓库主

8、任编号仓库号电话工厂名厂长名车间主任编号地址电话工种车间号姓名年龄性别职工号产品号产品名称价格数量零件号重量价格有存入存入组装拥有有有有有生产库存量库存量生产数量生产日期4.3逻辑结构设计阶段(1)将实体模型转化为关系模型实体转化成关系表FactoryFacNameFacMNameWorkshop WorkNoCNoWorkAddressWorkphoneFacNameWorkerWorkerNoWorkerTypeWorkerSexWorkerNameWorkerAgeProductProductNOProductNameProductPriceWorkNoCompoentsComNOCom

9、WeightCompriceWarehouse WareNoWNoWarephoneFacName多对多的联系转化成实体表W-C(生产)WorkNoComNoComNum1P-C(组装)ProductNOComNOProNumComNum2WaC(仓库-零件)存储WareNoComNoSnum2WaP(仓库-产品)存储WareNoProductNoSnum1(2)每个关系的主关键字和函数依赖集Factory(FacName,FacMName)FacName FacMNameWorkshop(WorkNo,CNo,WorkAddress,Workphone,FacName)WorkNoWorkA

10、ddress, WorkNoCNo,WorkNoWorkphone, WorkNoFacNameWorker(WorkerNo,WorkerType,WorkerSex,WorkerName,WorkerAge,WorkNo)WorkerNoWorkerType, WorkerNoWorkerSex, WorkerNoWorkerNameWorkerNoWorkerAge, WorkerNoWorkNoProduct(ProductNo,ProductName,ProductPrice,WorkNo)ProductNo ProductName, ProductNo ProductPrice,

11、ProductNo WorkNoComponents(ComNO,ComWeight,Comprice)ComNOComWeight, ComNOCompriceWarehouse(WareNo,FacName,Warephone,WNo)WareNo FacName, WareNo Warephone, WareNo WNoWC(ComNo,WorkNo, ComNum1)(ComNo,WorkNo)ComNum1PC(ProductNO,ComNO,ProNum,ComNum2)(ProductNO,ComNO)ProNum, (ProductNO,ComNO)ComNum2WaC(Com

12、No,WareNo,Sum2)(ComNo,WareNo)Sum2WaP(WareNo,ProductNo,Sum1)(WareNo,ProductNo)Sum1以上的10个关系模式没有非主属性对主关键字的部分依赖和传递依赖,也不存在属于主属性对主关键字的部分依赖和传递依赖,所以以上的10个关系模式都属于3NF4.4物理设计阶段(1)确定所有字段的名称、类型、宽度、小数位数及完整性约束数据项名含义 类型 宽度 小数位数 完整性要求FacName工厂名Varchar 30Primary keyFacMName厂长名 Char 8Not NullCNo车间主任编号 Varchar 8参照职工号Wo

13、rkNo车间号Varchar 10Primary keyWorkAddress车间地址 Varchar 20Workphone车间电话 Varchar 12WorkerNo职工号 Char 5Primary keyWorkerName职工名 Char 8WoerkerAge职工年龄 Int 4WorkerSex性别 Char 2(男,女)WorkerType工种 Char 10ProductNo产品号 Char 5Primary keyProductName产品名称 Char 12ProductPrice产品价格 numeric 51 =0ComNo零件号 Char 5Primary keyC

14、omWeight零件重量 Int 4 =0Comprice零件价格 numeric 51=0Number数量int 4 =0WareNo仓库号 Varchar 10Primary keyWNo仓库主任编号 Varchar 8参照职工号Warephone仓库电话 Varchar 12Snum1仓库存储产品数量 Int 4 =0Snum2仓库存储零件数量Int 4 =0(2)确定数据库及表的名称及其组成 关系名Table数据结构含义组成字段工厂Factory工厂基本信息FacName,FMName车间Workshop车间基本信息WorkNo,WorkAddress,Workphone,CNo,Fa

15、cName职工Worker工人基本信息WorkerNo,WorkerName,WorkerSex,WorkerType, WorkAge,WorkNo产品Product产品基本信息ProductNo,ProductName, ProductPrice,WorkNo零件Compents零件基本信息ComNo,ComWeight, Comprice仓库Warehous仓库基本信息WareNo,WName,Warephone,FacName生产WC零件与车间的联系WorkNo ,ComNo , comNum1组装PC零件与产品的联系ProductNO,ComNo,comNum2 仓库-零件WAC零件

16、与仓库的联系WareNo,ComNo,Snum2仓库-产品WAP产品与仓库的联系WareNo,ProductNo,Snum1工厂表 列名数据类型能否空值默认值键/索引说明FacNamevarchar(30)否主键、索引厂名FMNamevarchar(8)否厂长名车间表 列名数据类型能否空值默认值键/索引说明WorkNO varchar(10)否主键、索引 车间号CNo varchar(8)否车间主任编号WorkAddress varchar(20)否 车间地址WorkphoneVarchar(12)否 电话FcaNameVarchar(30)否工厂名零件表 列名数据类型能否空值默认值键/索引说

17、明ComNo varchar(10)否主键、索引零件号ComWeight int否重量ComPricenumeric(5,1) 否价格职工表 列名数据类型能否空值默认值键/索引说明WorkerNO varchar(10)否主键、索引 职工号WorkerName varchar(8)否 姓名WorkerAge int否年龄WorkerSex varchar(2)否性别WorkerType varchar(20)否 工种 WorkNOVarchar(10)否 车间号产品表 列名数据类型能否空值默认值键/索引 说明ProductNo varchar(10)否主键、索引产品号ProductName v

18、archar(20)否产品名称ProductPricenumeric(5,1) 否价格WorkNoVarchar(10)否车间号仓库表 列名数据类型能否空值默认值键/索引说明WareNo varchar(10)否主键、索引仓库号WName varchar(8)否仓库主任姓名WarephoneVarchar(12)否仓库电话FacNameVarchar(30)否工厂名生产表 列名数据类型能否空值默认值键/索引说明WorkNovarchar(10)否主键车间号 ComNovarchar(10)否主键零件号 comNum1Int否生产零件数组装表 列名数据类型能否空值默认值键/索引说明 Produc

19、tNovarchar(10)否主键产品号 ComNo varchar(10)否主键零件号 Comnum2int否组装零件数 proNumInt否组装产品数产品存储表 列名数据类型能否空值默认值键/索引说明 WareNovarchar(10)否主键仓库号 ProductNovarchar(10)否主键产品号 Snum2int否产品存放量零件存储表 列名数据类型能否空值默认值键/索引说明 WareNovarchar(10)否主键仓库号 ComNovarchar(10)否主键零件号 Snum1Int否零件存放量创建数据库和关系表1.创建factory数据库2创建factory(工厂)表3创建work

20、shop(车间)表4创建worker(职工)表5创建product(产品)表6创建component(零件)表7创建warehouse(仓库)表8创建WC(生产)表9创建PC(组装)表10创建WaP(存储表1)仓库-产品11创建Wac(存储表2)仓库-零件(3)确定索引文件和索引关键字Table索引文件索引关键字FactoryFactory_IDXFacNoWorkshopWorkshop_IDXWorkNoWorkerWorker_IDXWorkerNoProductProduct_IDXProductNoCompoentCompents_IDXComNoWarehouseWarehouse

21、_IDXWareNoWCWC_IDXProTime+WorkNo+ComNoPCPC_IDXProductNO+ComNOWACWAC_IDXWareNo+ComNoWAPWAP_IDXWareNo+ProductNo4.5数据库安全及维护设计阶段(1)设计一个适合的数据库安全策略(用户身份认证、访问权限、视图)添加新用户hh (2)添加角色(3)授权1把factory表的所有权限授给hh2把workshop表的所有权限授给hh3把worker表的所有权限授给hh4把product表的所有权限授给hh5把component表的所有权限授给hh6把warehouse表的所有权限授给hh(4)创建

22、索引1为工厂表在工厂名FacName上建立索引2为车间表在车间号WorkNo上建立索引3为职工表在职工编号WorkerNo上建立索引4为产品表在产品号ProductNo上建立索引5为零件表在零件号ComNo上建立索引6为仓库表在仓库号WareNo上建立索引(5)创建视图(6)创建存储过程1在工厂表上创建存储过程2在车间表上创建存储过程3在职工表上创建存储过程4在产品表上创建存储过程5在零件表上创建存储过程6在仓库表上创建存储过程7在生产表上创建存储过程8在组装表上创建存储过程9在零件存储表上创建存储过程10在产品存储表上创建存储过程执行存储过程1向工厂表中插入数据2向车间表中插入数据3向职工表

23、中插入数据4向产品表中插入数据5向零件表中插入数据6向仓库表中插入数据7向生产表中插入数据8向组装表中插入数据9向零件存储表中插入数据 10向产品存储表中插入数据 4.6.2查询存储过程1功能是通过某一职工的姓名查询他的全部信息2功能是通过某一产品的名称查询该产品的基本信息3功能是通过某一零件的名称查询该零件的基本信息4功能是通过某一产品的名称查询该产品所需要的零件种类与数量5通过某一车间号查询改车间的所有信息6通过输入某一日期查询该日生产零件的种类和零件的数目以及生产该零件的车间号4.6.3创建触发器1在生产表上建立触发器,当上生产表中插入一行数据时,零件存储表中零件的库存量就会增加,零件的

24、库存量等于先前的零件库存量加上生产表中生产零件的数量触发前触发后2在产品存储表上建立触发器,当向产品存储表中插入数据,即产品的库存量增加时,零件的库存量就会减少,某种零件的库存量等于先前的库存量减去该种产品所需要的该零件数乘以生产产品的数量五设计一个适合的数据库备份策略创建一个磁盘备份的设备use factorygoExec sp_addumpdevice disk,factory_full,f:haofactory.bakgo完全备份Use factory gobackup database factory to factory_full with initgo1完全备份工厂数据库增量备份U

25、se factory gobackup database factory to disk=f:hufactory_diff.bskwith noinit,differentialgo还原整个university数据库Restore database factory from factory_full还原差异备份Restore database factory from factory_differ with norecovery还原日志备份Restore database log from factory_log with recovery总结这次课程设计加深了我对数据库系统概论相关知识和SQ

26、L SERVER相关功能的理解。虽然课程设计已经结束了。回想着这个学期自己所学的数据库系统概论、以及这次做的课程设计,感触蛮深的。首先,在这次课程设计中,我对建立基本表、视图、索引等,都比以前更加的熟练。并在解决遇到的各种问题的过程中,学到了很多新的知识。比如在删除和更新数据时,由于外键约束的存在,经常会出现错误,这就要注意各个表导入的顺序问题。一般是先导入主键表,后导入外键表,这样可以避免很多的错误。另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作

27、影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我自己觉得我写的语句正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙了才上网查找相关信息。由于我的知识浅薄,经验不足及阅历颇浅,在设计的过程中也存在一些问题。比如需求分析阶段的工作完成的不是很充分,建E-R图时没有充分理解实体和联系的区别,以致在后面处理问题时,遇到了困难,很多功能无法实现。在后面的设计过程中,前后时常会出现矛盾,不一致现象,因此要反复的修改前面的结果,导致整个工作进行的不是很顺利。另外比如功能过少等问题,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。最后,还要感谢老师对我的帮助,给我提供了许多宝贵的意见。参考文献:1 萨师煊,王珊,数据库系统概论(第四版). 北京:高等教育出版社,20082Jeffrey D.Ullman,Jennifer Widom 数据库系统基础教程(第三版).北京机械工业出版社,2009.8

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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