工厂物资管理数据库设计.docx
《工厂物资管理数据库设计.docx》由会员分享,可在线阅读,更多相关《工厂物资管理数据库设计.docx(10页珍藏版)》请在冰豆网上搜索。
工厂物资管理数据库设计
工厂物资管理数据库设计
工厂物资管理数据库
一、前言
物资管理系统是现代化生产发展不可缺少的一部分,是企业采、存、销一体化的重要环节。
随着生产的规模不断扩大,库存量的逐年增加,对于物资的各种品种的管理也日益繁多,面对大量的数字信息和数字账册,以及庞大的产品供应程序,仅靠人工的管理方法,已经被现代化的管理方式所淘汰。
此数据库针对工厂物资管理专门设计,仅提供简单的思路与模型。
二、需求分析
通过对工厂物资管理工作过程及数据流图的认真分析,得到如下的有用信息:
1)、供应商(supplier)信息,包括的数据项有:
供应商号、姓名、账号、地址、电话号码。
2)、项目(project)信息,包括的数据项有:
项目号、预算、开工日期。
3)、零件(part)信息,包括的数据项有:
零件号、名称、规格、单价、描述。
4)、仓库(warehouse)信息,包括的数据项有:
仓库号、面积、地址、电话号码。
5)、职工(staff)信息,包括的数据项有:
职工号、姓名、性别、年龄、职称。
该工厂物资管理的数据字典如下:
字段名
数据类型
长度
说明
主键/索引
备注
supno
char
8
不空
↑(主)
供应商号
supname
char
40
不空
供应商名字
account
char
10
不空
账号
supaddress
char
400
不空
地址
tel
char
20
不空
电话
供应商信息表
字段名
数据类型
长度
说明
主键/索引
备注
prono
char
8
不空
↑(主)
项目号
budget
char
8
不空
预算
date
char
12
不空
开工日期
项目信息表
字段名
数据类型
长度
说明
主键/索引
备注
partno
char
8
不空
↑(主)
零件号
partname
char
40
不空
零件名
standart
char
40
不空
规格
unitprice
char
10
不空
单价
remark
char
40
不空
备注
零件信息表
字段名
数据类型
长度
说明
主键/索引
备注
storageno
char
8
不空
↑(主)
仓库号
area
char
40
不空
面积
address
char
400
不空
地址
tel
char
11
不空
电话
manager
char
20
不空
经理
仓库信息表
字段名
数据类型
长度
说明
主键/索引
备注
staffno
char
8
不空
↑(主)
职工号
sname
char
20
不空
姓名
ssex
char
2
不空
性别
sage
smallint
不空
年龄
position
char
40
不空
职位
职工信息表
三、概念结构设计
通过上面设计规划的实体,我们对各个实体的E-R图设计如下:
地址
供应商实体E-R图
项目实体E-R图
零件实体E-R图
仓库实体E-R图
职工实体E-R图
实体与实体之间的关系E-R图:
四、数据库逻辑设计
根据概念设计里得到的E-R图,将其转换为关系模型。
供应商(供应商号、姓名、账号、地址、电话号码)
此为供应商实体对应的关系模型。
主码是供应商号
项目(项目号、预算、开工日期)
此为项目实体对应的关系模型,主码是项目号
零件(零件号、名称、规格、单价、描述)
此为零件实体对应的关系模型,主码是零件号
仓库(仓库号、面积、地址、电话号码)
此为仓库实体对应的关系模型,主码是仓库号
职工(职工号、姓名、性别、年龄、仓库、职称)
此为职工实体对应的关系模型,主码是职工号。
该关系模式已包含了联系“工作”哦对应的关系模型。
供应(项目号,零件号,供应商号,供应量)
此为联系“供应”所对应的关系模型,码是项目号,零件号,供应商号,主码是项目号。
五、应用设计
供应商表的建立
Createtablesupplier
(Supnochar(8)primarykey,
Supnamechar(40)unique,
Accountchar(12),
Supaddresschar(400),
Telchar(11)
);
项目表的建立
Createtableproject
(pronochar(8)primarykey,
Budgetchar(8),
Datechar(12)
);
零件表的建立
Createtablepart
(partnochar(8)primarykey,
Partnamechar(40),
Standartchar(40),
Unitpricechar(10),
Remarkchar(40)
);
仓库表的建立
Createtablestorage
(storagenochar(8)primarykey,
Areachar(10),
Addresschar(400),
Telchar(11),
Managerchar(20)
);
职工表的建立
Createtablestaff
(staffnochar(8)primarykey,
Snamechar(20),
Ssexchar
(2),
Ssagesmallint,
Positionchar(40)
);
库存表的建立
CreatetableStock
(partnochar(8)primarykeyforeignkeyreferencespart(partno),
Storagenochar(8)foreignkeyreferencesstorage(Storageno),
Storenumchar(10)
);
供应表的建立
Createtablesupply
(pronochar(8)foreignkeyreferencesproject(prono),
Partnochar(8)foreignkeyreferencespatt(partno),
Supnochar(8)foreignkeyreferencessupplier(supno),
Supnumchar(10),
primarykey(prono,partno)
);
工作关系表的建立
Createtablework
(staffnochar(8)primarykeyforeignkeyreferencesstaff(staffno),
Storagenochar(10)foreignkeyreferencesstorage(storageno)
);
索引的建立
Createuniqueindexsuppnoonsupplier(supno);
Createuniqueindexprojectnoonproject(prono);
Createuniqueindexparnoonpart(partno);
Createuniqueindexstornoonstorage(storageno);
Createuniqueindexstanoonstaff(staffno);
六、视图设计
视图的建立
1)职工工作视图
Createviewall_work(staffno,sname,storageno)
As
Selectstaff.staffno,sname,work.storageno
Fromstaff,work
Wherestaff.staffno=work.staffno
2)供应关系视图
createviewall_supply(prono,budget,partname,storageno,address,supname,supnum)
As
Selectsupply.prono,project.budget,part.partname,Stock.storageno,storage.address,supplier.supname,supply.supnum
Fromsupply,project,supplier,part,Stock,storage
Wheresupply.prono=project.pronoandsupply.supno=supplier.supnoandsupply.partno=part.partnoandpart.partno=Stock.partnoandStock.storageno=storage.storageno;
七、总结
这次课程设计给我很大的锻炼,通过对各个功能的了解,亲手实现,使我的实践能力得到了很大提高。
过程中问题不少,都是靠着自己在网上或者书上的例子慢慢摸索。
因为需求分析刚开始没有做好,期间还重新写了一遍数据库,耽误了不少时间。
不过多一份付出多一份收获,这让我在重写之后对任务有了更清晰的认识。
一切变得轻车熟路起来,功能的实现问题也随着重复的工作变得不再挠头。
总而言之,我很珍惜这次开发经历,因为在首次尝试的系统改进过程后,对数据库等方面的内容有了新的认识,这对我以后的学习生活将会非常有帮助。