




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工厂物资管理数据库系统设计报告班级: 11级信班 学号: 31112300510 姓名: 贺媛 目录一、设计任务说明1二、需求分析1三、概念模型设计21.实体E-R图设计22.实体联系描述43.全局概念结构E-R图设计4四、逻辑模型设计5五、物理模型设计61.数据库设计62.数据表描述:63触发器:84.视图:85.存储过程:8六、数据库实施81.创建数据库:82.创建备份文件:93.创建数据表文件93.创建索引124.创建触发器:125.创建视图:136.修改语句14七、总结15八、参考文献16一、设计任务说明1.理解数据库应用与工厂物资管理体系;2.掌握模型设计定义以及如何用数据库实现创建
2、;3.掌握数据库实现管理以及语句、数据上的修改;二、需求分析通过对工厂物资管理工作过程及数据流图的认真分析,得到如下的有用信息: 1. 工厂物资管理设计多种零件的存放。2. 每件零件需要记录零件号码、条形码、类别、价格、出厂日期等基本信息。3. 除此之外,还需要记录零件的其他相关信息,如零件供应商的信息,存放的仓库信息、何种项目需要使用何种零件等。4. 同时需要提供对信息的添加、编辑、删除等操作。5. 供应商(supplier)信息,包括的数据项有:供应商号、姓名、账号、地址、电话号码。 6. 项目(project)信息,包括的数据项有:项目号、预算、开工日期。7. 零件(part)信息,包括
3、的数据项有:零件号、名称、规格、单价、描述。8. 仓库(warehouse )信息,包括的数据项有:仓库号、面积、地址、电话号码。 9. 职工(staff)信息,包括的数据项有:职工号、姓名、性别、年龄、职称三、概念模型设计1.实体E-R图设计(1)供应商:供应商号、姓名、地址、电话号、账号。供应商号账号姓名地址电话号供应商图3.1供应商实体ER图(2)零件:编号、名称、仓库号、描述、单价、规格。零件号单价描述名称规格零件、图3.2零件商实体ER图(3)项目:项目号、预算、开工日期。开工日期预算项目号项目图3.3项目实体ER图(4)仓库:仓库号、面积、电话号、管理号、职工号。面积仓库号电话号仓
4、库图3.4仓库实体ER图(5)职工:姓名、年龄、名称、职工号。职称姓名职工号年龄职工图3.5职工实体ER图2.实体联系描述采购部门与供应商的联系,为多个项目提供多种零件,供应商、项目和零件三者之间具有多对多的联系。仓库管理部门主要记录零件数量情况,一间仓库可以存放多种零件,一种零件可以存放在多建仓库中,因此仓库和零件之间具有多对多的联系,用数量来表示某种零件在某建仓库中的数量。人事部门要安排职工的工作任务,一间仓库有多个职工当仓库保管员,一个职工只能在一间仓库工作,因此仓库和职工之间存在一对多的联系。职工之间具有领导-被领导关系,即仓库主任领导若干保管员,因此直供实体具有一对多的联系。3.全局
5、概念结构E-R图设计供应供应商供应商号账号电话地址姓名供应量项目项目号预算开工日期零件库存名称描述零件号规格单价仓库面积仓库号电话号职工姓名年龄职工号库存量职称领导工作图3.6仓库系统整体ER图四、逻辑模型设计下面是“工厂物资管理”的E-R数据模型转换成关系模型的所有模型(1)根据规则1,5实体对应以下5个关系模式。l 仓库资料(仓库号、面积、电话号码),主键为仓库号。l 零件资料(零件号,名称,规格,单价,描述),主键为零件号。l 供应商资料(供应商号,姓名,地址,电话,账号),主键为供应商号。l 项目资料(项目号,预算,开工日期),主键为项目号。l 职工资料(职工号,姓名,年龄,职称),主
6、键为职工号。(2)根据规则2,仓库与零件之间存在多对多的关系,对应关系模式如下。l 库存量(仓库号,零件号,库存量),主键为仓库库与零件号的组合。(3)根据规则3,仓库与职工实体之间存在一对多的二元联系,对应的关系模式如下。l 工作情况表(职工号、仓库号、工作时间),主键为职工号。(4)根据规则5,供应商、项目与零件三实体之间的三元联系,对应的关系模式如下。l 供应情况表(供应商号、零件号、项目号 供应量),主键为项目号,供应商号与零件号的组合。(5)根据规则7,将职工实体拆分为普通员工和班长两个子集,两子集之间存在一对多的联系,对应的关系模式如下。l 普通员工(职工号,姓名,年龄),主键为职
7、工号。l 班长(工号,姓名,年龄),主键为工号。l 领导(职工号),主键为职工号。五、物理模型设计1.数据库设计(1)逻辑数据库名称:goodsManagment(2)数据文件:goods DAT.MDF,始初大小为3MB,最大空间为20MB,增加量为2MB。(3)日志文件:goods LOG.LDF,始初大小为1MB,最大空间为20MB,增加量为2MB。(4)备份设置名:BACKUP;goodsbackup.dat。2.数据表描述:项目资料表字段类型长度可否为空备注项目号Int否主键预算Int可开工日期datetime否仓库资料表字段类型长度可否为空备注仓库号Int否主键面积Int否电话号码
8、Char15否零件资料表字段类型长度可否为空备注零件号Int否主键名称Varchar30否规格Varchar20否电话号码Char15可描述Text可单价int否职工资料表字段类型长度可否为空备注职工号Int否主键姓名char8否年龄Int可职称char8可供应商资料表字段类型长度可否为空备注供应商号Int否主键姓名char8否地址Varchar20否电话号码char7账号Int库存情况表字段类型长度可否为空备注仓库Int否主键零件Int否库存量int否供应情况表字段类型长度可否为空备注供应商号Int否主键零件号Int否项目号Int否供应量Int工作情况表字段类型长度可否为空备注职工号Int否
9、主键仓库号Int否工作时间datetime否3触发器: (1)要求供应商资料中的供应商号被修改时,供应情况表中的供应商号也被修改。名称:goodsid、(2)要求零件资料中的零件号被修改时,供应情况表与库存情况表中的零件号也被修改。名称:goodsid1、(3)要求项目资料中的项目号被修改时,供应情况表中的项目号也被修改。名称:goodsid2、(4)要求供应商资料中的供应商号只有在供应情况表中的相应供应商号不存在时,方可删除。名称:goodsid3、(5)要求零件商资料中的零件号只有在供应情况表与库存情况表中的相应零件号不存在时,方可删除。名称:goodsid4、(6)要求项目资料中的项目号
10、只有在供应情况表中的相应项目号不存在时,方可删除。名称:goodsid5。4.视图:为用户提供包含供应商姓名、零件号、项目号、和零件总价格的视图。名称: project5.存储过程:根据用户所提交的职工号,为用户提供职工信息。名称 :lookworker。六、数据库实施1.创建数据库:create database goodsManagmenton(name = goosaDAT,filename = 'c:SQLgoodsDAT.MDF',size = 3,maxsize=20,filegrowth = 2)LOG on(name = 物资管理LOG,filename=
11、9;c:SQLgoodsLOG.ldf',size=1,maxsize=20,filegrowth=2)2.创建备份文件:sp_addumpdevice'disk','BACKUP1','D:sqlgoodsbackup1.dat'gobackup database goodsManagment to BACKUP13.创建数据表文件create table 仓库资料(仓库号 int primary key,面积 int,电话号码 char(15)图6.1仓库数据表显示图create table 零件资料(零件号 int primary
12、key,名称 varchar(30),规格 varchar(20),电话号码 char(15),描述 Text,单价 int)图6.2零件数据表显示图create table 项目资料(项目号int primary key,预算int,开工日期datetime)图6.3项目数据显示图create table 职工资料(职工号int primary key,姓名char(8),年龄int,职称char(8)图6.4职工数据显示图create table 供应商资料(供应商号int primary key,姓名char(8),地址varchar(20),电话号码char(7),账号int)图6.5
13、供应商数据显示图create table 库存情况表(仓库号int,零件号int,库存量int)图6.6仓库情况表显示图create table 供应情况表(供应商号int references 供应商资料(供应商号),零件号int references 零件资料(零件号),项目号int references 项目资料(项目号),供应量int)图6.7供应商情况表显示图create table 工作情况表(职工号int references 职工资料(职工号),仓库号int references 仓库资料(仓库号),工作时间datetime)图6.8工作情况表显示图3.创建索引create n
14、onclusteredindex IX_仓库号on 仓库资料(仓库号asc)create nonclusteredindex IX_零件号on 零件资料(零件号asc)create nonclusteredindex IX_项目号on 项目资料(项目号asc)create nonclusteredindex IX_职工号on 职工资料(职工号asc)create nonclusteredindex IX_供应商号on 供应商资料(供应商号asc)create nonclusteredindex IX_仓库号on 库存情况表(仓库号asc)create nonclusteredindex IX_
15、供应商号on 供应情况表(供应商号asc)create nonclusteredindex IX_职工号on 工作情况表(职工号asc)4.创建触发器:(1) create trigger goodid on 供应商资料for updateasbeginif (columns_updated()&01)>0update 供应情况表set 供应情况表.供应商号= (select a.供应商号from inserted a)where 供应情况表.供应商号= (select b.供应商号from deleted b)end(2)create trigger good_1 on 零件资
16、料for updateasbeginif(columns_updated()&01)>0update 供应情况表set 供应情况表.零件号=(select 零件号from inserted)where 供应情况表.零件号=(select 零件号from deleted)update 库存情况表set 库存情况表.零件号=(select 零件号from inserted)where 库存情况表.零件号=(select 零件号from deleted)end(3)create trigger good_2 on 项目资料for update asbeginif(columns_upd
17、ated()&01)>0update 供应情况表set 供应情况表.项目号=(select 项目号from inserted)where 供应情况表.项目号=(select 项目号from deleted)end(4)create trigger good_3 on 供应商资料for delete asif exists(select 供应商号from deleted awhere a.供应商号in(select 供应情况表.供应商号from 供应情况表)beginraiserror('因在供应商资料中存在,不得删除此条记录!',16,1)rollback tra
18、nsactionend(5)create trigger good_5 on 零件资料for delete asif exists(select 零件号from deleted awhere a.零件号in(select 供应情况表.零件号from 供应情况表) or a.零件号in(select 库存情况表.零件号from 库存情况表)beginraiserror('因在零件资料中存在,不得删除此条记录!',16,1)rollback transactionend(6)create trigger good_4 on 项目资料for delete asif exists(se
19、lect 项目号from deleted awhere a.项目号in(select 供应情况表.项目号from 供应情况表)beginraiserror('因在零件资料中存在,不得删除此条记录!',16,1)rollback transactionend5.创建视图:create VIEW project(供应商姓名,零件名,项目号,零件总价格)asselect 姓名,名称,项目号,供应量* 单价from 供应商资料,供应情况表,零件资料where 供应商资料.供应商号= 供应情况表.供应商号and 供应情况表.零件号= 零件资料.零件号创建存储过程:create proce
20、dure lookworkerid intasselect 职工号from 职工资料where 职工资料.职工号= id6.修改语句(1)use goodsManagementgoupdate 供应商资料set 供应商号= 1002where 供应商号= '2001'go select * from 供应商资料图6.9供应商修改显示图(2) use goodsManagementgoupdate 项目资料set 项目号= 8where 项目号= '1'go select * from 项目资料图6.10项目修改显示图(3) use goodsManagement
21、goupdate 零件资料set 零件号= 106where 零件号= '102'go select * from 零件资料图6.11零件修改显示图(4) use goodsManagementgodelete from 供应商资料where 供应商号='1002'goselect*from 供应商资料(5)use goodsManagementgodelete from 零件资料where 零件号='101'goselect*from 零件资料(6) use goodsManagementgodelete from 项目资料where 项目号='3'goselect*from 项目资料七、总结本系统是一个典型的信息管理系统,其主要通过数据库系统设计方法进行课题选择、需求分析、系统设计等步骤实现。开发本系统的过程中,首先要对工厂物资管理进行系统调研,熟悉其中的零件的存储管理、零件的使用管理和供应记录管理流程、步骤,完成需求分析;其次在系统需求分析的基础上,发现工厂物资管理中需要解决的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;使用数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产制造业生产设备智能化升级改造方案
- 财务会计准则测试题及答案
- 行政管理与市政学发展趋势试题及答案更新
- 乡村畜牧产业发展扶持协议
- 五保户供养合同协议书
- 市场开发合作规划协议书
- 行政管理中的决策心理学应用探索试题及答案
- 自考行政管理本科制定计划试题及答案策略
- 自考行政管理团队合作试题及答案
- 2025年市政学重要考点分享试题及答案
- 2025团员考试试题及答案
- 2025年全国防灾减灾日专题培训课件
- 2025-2030中国氯氧化铋行业市场发展趋势与前景展望战略研究报告
- 2025年中考语文二轮复习:说明文阅读 测试卷(含答案解析)
- 视频监控介绍课件
- 统计学试题及答案解析
- 跨学科实践制作微型密度计人教版物理八年级下学期
- 2025届高考语文作文备考之审题立意30道选择题训练(附答案)
- 21. 三黑和土地 课件
- 挖掘机理论试题及答案
- 2025年银行从业资格考试个人理财真题卷权威解读
评论
0/150
提交评论