收藏 分销(赏)

工厂物资管理数据库系统.doc

上传人:a199****6536 文档编号:4129237 上传时间:2024-07-31 格式:DOC 页数:13 大小:116.54KB 下载积分:8 金币
下载 相关 举报
工厂物资管理数据库系统.doc_第1页
第1页 / 共13页
工厂物资管理数据库系统.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
工厂物资管理数据库系统 设计报告 班级:11级信班 学号:31112300510 姓名: 贺媛 目录 一、设计任务说明1 二、需求分析1 三、概念模型设计2 1.实体E-R图设计2 2。实体联系描述4 3.全局概念结构E-R图设计4 四、逻辑模型设计5 五、物理模型设计6 1.数据库设计6 2.数据表描述:6 3.触发器:8 4.视图:8 5.存储过程:8 六、数据库实施8 1。创建数据库:8 2。创建备份文件:9 3。创建数据表文件9 3。创建索引12 4.创建触发器:12 5。创建视图:13 6。修改语句14 七、总结15 八、参考文献16 一、设计任务说明 1.理解数据库应用与工厂物资管理体系; 2.掌握模型设计定义以及如何用数据库实现创建; 3。掌握数据库实现管理以及语句、数据上的修改; 二、需求分析 通过对工厂物资管理工作过程及数据流图的认真分析,得到如下的有用信息: 1. 工厂物资管理设计多种零件的存放。 2. 每件零件需要记录零件号码、条形码、类别、价格、出厂日期等基本信息。 3. 除此之外,还需要记录零件的其他相关信息,如零件供应商的信息,存放的仓库信息、何种项目需要使用何种零件等. 4. 同时需要提供对信息的添加、编辑、删除等操作。 5. 供应商(supplier)信息,包括的数据项有:供应商号、姓名、账号、地址、电话号码。 6. 项目(project)信息,包括的数据项有:项目号、预算、开工日期。 7. 零件(part)信息,包括的数据项有:零件号、名称、规格、单价、描述. 8. 仓库(warehouse )信息,包括的数据项有:仓库号、面积、地址、电话号码. 9. 职工(staff)信息,包括的数据项有:职工号、姓名、性别、年龄、职称 三、概念模型设计 1。实体E-R图设计 (1)供应商:供应商号、姓名、地址、电话号、账号。 供应商号 账号 姓名 地址 电话号 供应商 图3。1供应商实体E—R图 (2)零件:编号、名称、仓库号、描述、单价、规格。 零件号 单价 描述 名称 规格 零件 、 图3.2零件商实体E—R图 (3)项目:项目号、预算、开工日期。 开工日期 预算 项目号 项目 图3.3项目实体E—R图 (4)仓库:仓库号、面积、电话号、管理号、职工号. 面积 仓库号 电话号 仓库 图3.4仓库实体E-R图 (5)职工:姓名、年龄、名称、职工号. 职称 姓名 职工号 年龄 职工 图3。5职工实体E-R图 2.实体联系描述 采购部门与供应商的联系,为多个项目提供多种零件,供应商、项目和零件三者之间具有多对多的联系。 仓库管理部门主要记录零件数量情况,一间仓库可以存放多种零件,一种零件可以存放在多建仓库中,因此仓库和零件之间具有多对多的联系,用数量来表示某种零件在某建仓库中的数量. 人事部门要安排职工的工作任务,一间仓库有多个职工当仓库保管员,一个职工只能在一间仓库工作,因此仓库和职工之间存在一对多的联系.职工之间具有领导-—-被领导关系,即仓库主任领导若干保管员,因此直供实体具有一对多的联系。 3。全局概念结构E—R图设计 供应 供应商 供应商号 账号 电话 地址 姓名 供应量 项目 项目号 预算 开工日期 零件 库存 名称 描述 零件号 规格 单价 仓库 面积 仓库号 电话号 职工 姓名 年龄 职工号 库存量 职称 领导 工作 图3.6仓库系统整体E—R图 四、逻辑模型设计 下面是“工厂物资管理”的E—R数据模型转换成关系模型的所有模型 (1)根据规则1,5实体对应以下5个关系模式. l 仓库资料(仓库号、面积、电话号码),主键为仓库号。 l 零件资料(零件号,名称,规格,单价,描述),主键为零件号。 l 供应商资料(供应商号,姓名,地址,电话,账号),主键为供应商号。 l 项目资料(项目号,预算,开工日期),主键为项目号. l 职工资料(职工号,姓名,年龄,职称),主键为职工号. (2)根据规则2,仓库与零件之间存在多对多的关系,对应关系模式如下。 l 库存量(仓库号,零件号,库存量),主键为仓库库与零件号的组合。 (3)根据规则3,仓库与职工实体之间存在一对多的二元联系,对应的关系模式如下. l 工作情况表(职工号、仓库号、工作时间),主键为职工号。 (4)根据规则5,供应商、项目与零件三实体之间的三元联系,对应的关系模式如下。 l 供应情况表(供应商号、零件号、项目号 供应量),主键为项目号,供应商号与零件号的组合. (5)根据规则7,将职工实体拆分为普通员工和班长两个子集,两子集之间存在一对多的联系,对应的关系模式如下。 l 普通员工(职工号,姓名,年龄),主键为职工号. 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 否 电话号码 Char 15 否 零件资料表 字段 类型 长度 可否为空 备注 零件号 Int 否 主键 名称 Varchar 30 否 规格 Varchar 20 否 电话号码 Char 15 可 描述 Text 可 单价 int 否 职工资料表 字段 类型 长度 可否为空 备注 职工号 Int 否 主键 姓名 char 8 否 年龄 Int 可 职称 char 8 可 供应商资料表 字段 类型 长度 可否为空 备注 供应商号 Int 否 主键 姓名 char 8 否 地址 Varchar 20 否 电话号码 char 7 账号 Int 库存情况表 字段 类型 长度 可否为空 备注 仓库 Int 否 主键 零件 Int 否 库存量 int 否 供应情况表 字段 类型 长度 可否为空 备注 供应商号 Int 否 主键 零件号 Int 否 项目号 Int 否 供应量 Int 工作情况表 字段 类型 长度 可否为空 备注 职工号 Int 否 主键 仓库号 Int 否 工作时间 datetime 否 3.触发器: (1)要求供应商资料中的供应商号被修改时,供应情况表中的供应商号也被修改.名称:goodsid、 (2)要求零件资料中的零件号被修改时,供应情况表与库存情况表中的零件号也被修改。名称:goodsid1、 (3)要求项目资料中的项目号被修改时,供应情况表中的项目号也被修改. 名称:goodsid2、 (4)要求供应商资料中的供应商号只有在供应情况表中的相应供应商号不存在时,方可删除。名称:goodsid3、 (5)要求零件商资料中的零件号只有在供应情况表与库存情况表中的相应零件号不存在时,方可删除。名称:goodsid4、 (6)要求项目资料中的项目号只有在供应情况表中的相应项目号不存在时,方可删除.名称:goodsid5。 4.视图: 为用户提供包含供应商姓名、零件号、项目号、和零件总价格的视图. 名称: project 5.存储过程: 根据用户所提交的职工号,为用户提供职工信息。名称 :lookworker. 六、数据库实施 1。创建数据库: create database goodsManagment on ( name = goosaDAT, filename = 'c:\SQL\goodsDAT.MDF’, size = 3, maxsize=20, filegrowth = 2 ) LOG on ( name = 物资管理LOG, filename=’c:\SQL\goodsLOG。ldf', size=1, maxsize=20, filegrowth=2) 2。创建备份文件: sp_addumpdevice’disk’,’BACKUP1’,’D:\sql\goodsbackup1。dat' go backup database goodsManagment to BACKUP1 3。创建数据表文件 create table 仓库资料 ( 仓库号int primary key, 面积int, 电话号码char(15)) 图6。1仓库数据表显示图 create table 零件资料 ( 零件号int primary 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供应商数据显示图 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 nonclustered index IX_仓库号on 仓库资料(仓库号asc) create nonclustered index IX_零件号on 零件资料(零件号asc) create nonclustered index IX_项目号on 项目资料(项目号asc) create nonclustered index IX_职工号on 职工资料(职工号asc) create nonclustered index IX_供应商号on 供应商资料(供应商号asc) create nonclustered index IX_仓库号on 库存情况表(仓库号asc) create nonclustered index IX_供应商号on 供应情况表(供应商号asc) create nonclustered index IX_职工号on 工作情况表(职工号asc) 4。创建触发器: (1)create trigger goodid on 供应商资料 for update as begin if (columns_updated()&01)〉0 update 供应情况表 set 供应情况表。供应商号= (select a.供应商号from inserted a) where 供应情况表。供应商号= (select b。供应商号from deleted b) end (2)create trigger good_1 on 零件资料 for update as begin if(columns_updated()&01)>0 update 供应情况表 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 as begin if(columns_updated()&01)>0 update 供应情况表 set 供应情况表。项目号=(select 项目号from inserted) where 供应情况表.项目号=(select 项目号from deleted) end (4)create trigger good_3 on 供应商资料 for delete as if exists(select 供应商号from deleted a where a.供应商号in(select 供应情况表。供应商号from 供应情况表) ) begin raiserror('因在供应商资料中存在,不得删除此条记录!',16,1) rollback transaction end (5)create trigger good_5 on 零件资料 for delete as if exists(select 零件号from deleted a where a.零件号in(select 供应情况表.零件号from 供应情况表) or a。零件号in(select 库存情况表。零件号from 库存情况表) ) begin raiserror(’因在零件资料中存在,不得删除此条记录!',16,1) rollback transaction end (6)create trigger good_4 on 项目资料 for delete as if exists(select 项目号from deleted a where a。项目号in(select 供应情况表。项目号from 供应情况表) ) begin raiserror(’因在零件资料中存在,不得删除此条记录!’,16,1) rollback transaction end 5。创建视图: create VIEW project(供应商姓名,零件名,项目号,零件总价格) as select 姓名,名称,项目号,供应量* 单价 from 供应商资料,供应情况表,零件资料 where 供应商资料.供应商号= 供应情况表。供应商号and 供应情况表。零件号= 零件资料。零件号 创建存储过程: create procedure lookworker @id int as select 职工号from 职工资料where 职工资料。职工号= @id 6.修改语句 (1)use goodsManagement go update 供应商资料 set 供应商号= 1002 where 供应商号= ’2001’ go select * from 供应商资料 图6.9供应商修改显示图 (2) use goodsManagement go update 项目资料 set 项目号= 8 where 项目号= ’1’ go select * from 项目资料 图6.10项目修改显示图 (3) use goodsManagement go update 零件资料 set 零件号= 106 where 零件号= ’102' go select * from 零件资料 图6。11零件修改显示图 (4) use goodsManagement go delete from 供应商资料 where 供应商号=’1002’ go select*from 供应商资料 (5)use goodsManagement go delete from 零件资料 where 零件号=’101’ go select*from 零件资料 (6) use goodsManagement go delete from 项目资料 where 项目号='3’ go select*from 项目资料 七、总结 本系统是一个典型的信息管理系统,其主要通过数据库系统设计方法进行课题选择、需求分析、系统设计等步骤实现。开发本系统的过程中,首先要对工厂物资管理进行系统调研,熟悉其中的零件的存储管理、零件的使用管理和供应记录管理流程、步骤,完成需求分析;其次在系统需求分析的基础上,发现工厂物资管理中需要解决的各种问题,并在总体设计把握好对问题的分析、理解,进而解决问题;使用数据库设计方法的步骤,经过需求分析、概念模型设计、逻辑模型设计、物理模型设计、数据库实施及创建等,使用SQL Server 2005系统创建实施了工厂物资管理数据库系统。这次的实验让我理解了数据库应用与工厂物资管理体系、掌握了模型设计定义以及如何用数据库实创建、掌握了数据库实现管理以及语句、数据上的修改。SQL Server数据库的实验学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。因此,我感谢数据库老师给了我有用的知识,以便我在以后学习或认识更多的内容能有新的方法和思维,也能更加有效和快速的去消化吸收新的东西。希望在今后中,SQL Server能给我更多帮助。感谢学校开设这样一门优秀使用的课程,让我对数据库有了更深的了解。 八、参考文献 1。JSP的SQLServer数据库访问技术 肖遥 2009  2.基于JSP的教务管理系统设计 史志国 2008 3。《数据库原理及应用》  钱雪忠主编  北京邮电大学出版社   2007,8 第二版 4。《SQL server 2000数据仓库与Analysis Services》  Bain T著   中国电力出版社   2003 5。 SOL Server2005入门与提高.文龙,张自辉等。北京:清华大学出版社,2007 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服