1、物流管理信息系统数据库设计班级xxx系统名称:物流管理信息系统一、需求分析物流管理系统是为制造商和零售商设计管理系统数据库系统,目是:1、实现上游制造商信息管理 。2、实现下游零售商信息管理。3、实现进库与配送信息管理。从而提高物流效率,减少物流成本并提高公司管理化水平。通过调研分析,得到系统如下功能需求。(1)数据检索1、制造商、零售商查询某一产品名称,规格和单位 输入:产品编号 输出:产品名称,产品规格,产品单位,制造商编号2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址 输入:零售商编号 输出:零售商名称,联系人,地址,电话号码,网址3、零售商、物流中心查询某一制造商
2、信息表 输入:制造商编号 输出:制造商名称,联系人,地址,电话号码,网址4、物流中心、制造商、零售商查询某一产品出库信息表 输入:仓库编号 输出:仓库编号,库名,地址,电话5、物流中心、零售商查询某一产品制造商和产品信息表 输入:产品编号编号 输出:制造商名称,联系人,地址,电话号码,网站,产品名称,产品名称,产品规格,产品单位6、查询某一产品相应物流中心编号及产品信息 输入:产品编号 输出:物流中心编号,货品价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位7、制造商,零售商查询某一物流中心信息 输入:物流中心编号 输出:物理中心名称,联系人,地址,电话号码,网址(2)数据插
3、入产品数据插入制造商数据插入零售商数据插入物流中心数据插入(3)数据修改 产品数据修改:某产品数据变化时,输入该产品编号以及需修改属性,完毕对产品表修改 制造商数据修改:某制造商数据变化时,输入该制造商编号以及需修改属性,完毕对制造商表修改 零售商数据修改:某零售商数据变化时,输入该零售商编号以及需修改属性,完毕对零售商修改 物流中心数据修改:某物流中心数据变化时,输入该物流中心编号以及需修改属性,完毕对物流中心修改二、概念设计 经需求分析,抽象出如下E-R模型(1)制造商实体地址制造商编号网站电话号码联系人名称制造商 (2)物流中心实体电话号码地址物流中心编号物流中心联系人名称网站(3)零售
4、商实体零售商编号地址电话号码联系人名称网站零售商(4)产品实体单位规格名称产品编号产品(5)仓库实体库名电话地址仓库编号仓库 (6)全局E-R图制造商编号产品数量仓库编号产品编号运送单价入库时间产品单价送货时间货品价格物流编号仓库编号nm存储m物流中心编号产品编号产品质量产品批次产品编号制造商编号mmnnnn1运送管理提取制造物流中心零售商仓库产品制造商仓库编号零售商编号三、逻辑设计产品(产品编号,产品名称,产品规格,产品单位,制造商编号)零售商(零售商编号,名称,联系人,地址,电话号码,网站)制造商(制造商编号,名称,地址,联系人,电话号码,网站)物流中心(物流中心编号,名称,联系人,地址,
5、电话号码,网站)仓库(仓库编号,库名,地址,电话)存储(产品编号,仓库编号,制造商编号,产品数量,入库时间)管理(物流中心编号,仓库编号,送货时间,产品单价)制造(制造商编号,产品编号,产品批次,产品质量)运送(仓库编号,零售商编号,运送单价)四、 物理设计 依照以上关系模式构建数据表构造如表所示。 表1 产品表构造字段名类型特殊属性产品编号Char(10)PEIMARY KEY产品名称Char(20)NOT NULL 产品规格Char(10)产品单位Char(10)NOT NULL制造商编号Char(10)FOREIGN KEY表2 零售商构造字段名类型特殊属性零售商编号Char(10)PR
6、IMARY EKY名称Char(10)NOT NULL联系人Char(10)NOT NULL地址Varchar(30)NOT NULL电话号码IntNOT NULL网站Char(20) 表3 制造商构造字段名类型特殊属性制造商编号Char(10)PRIMARY EKY名称Char(10)NOT NULL联系人Char(10)NOT NULL地址Varchar(30)NOT NULL电话号码Char(20)NOT NULL网站Char(20)表4 物流中心构造字段名类型特殊属性物流中心编号Char(10)PRIMARY EKY名称Char(10)NOT NULL联系人Char(10)NOT NU
7、LL地址Varchar(30)NOT NULL电话号码Char(20)NOT NULL网站Char(10)字段名类型特殊属性仓库编号Char(10)PRIMARY KEY库名Char(20)NOT NULL 地址Varchar(30)NOT NULL电话Char(20)NOT NULL表5 仓库表构造 表6 存储表构造字段名类型特殊属性产品编号Char(10)PRIMARY KEY, FOREIGN KEY仓库编号Char(10)PRIMARY KEY,FOREIGN KEY制造商编号Char(10)产品数量Int入库时间Char(10)NOT NULL表7 管理表构造字段名类型特殊属性物流中
8、心编号Char(10)PRIMARY KEY,FOREIGN KEY仓库编号Char(10)PRIMARY KEY,FOREIGN KEY产品单价Int送货日期Char(10)表8 制造表构造字段名类型特殊属性制造商编号Char(10)PRIMARY KEY,FOREIGN KEY产品编号Char(10)PRIMARY KEY,FOREIGN KEY产品批次Char(10)NOT NULL产品质量IntNOT NULL表9 运送表构造字段名类型特殊属性零售商编号Char(10)PRIMARY KEY,FOREIGN KEY仓库编号Char(10)PRIMARY KEY,FOREIGN KEY运
9、送单价IntNOT NULL表10 提取表构造字段名类型特殊属性物流中心编号Char(10)PRIMARY KEY,FOREIGN KEY产品编号Char(10)PRIMARY KEY,FOREIGN KEY货品价格IntNOT NULL五、 系统实现 1、数据库及其基本表建立 数据库建立用公司管理器,基本表建立用TSQL语句。 数据库名称:WL_System1、创立表Create database WL_Systemon(name=wl_system_data,filename=C:SQLhomeworkwl_system_data.mdf,size=10mb,maxsize=50mb,fi
10、legrowth=2mb)LOG ON(name=wl_system_log,filename=C:SQLhomeworkwl_system_log.ldf,size=10mb,maxsize=50mb,filegrowth=2mb)2、建立基本表构造USE WL_SystemGoCreate table 制造商(制造商编号char(10) primary key,名称char(10)NOT NULL,联系人char(10)NOT NULL,地址varchar(30),电话号码char(20)NOT NULL,网站char(20)-drop table 制造商Create table 产品(产
11、品编号char(10)primary key,产品名称char(20)NOT NULL,产品规格char(10),产品单位char(10)NOT NULL,制造商编号char(10),Foreign key (制造商编号) references 制造商(制造商编号),)Create table 零售商(零售商编号char(10)primary key,名称char(10)NOT NULL,联系人char(10)NOT NULL,地址char(30)NOT NULL,电话号码Int NOT NULL,网站char(20)-drop table 零售商Create table 物流中心(物流中心编
12、号char(10) primary key,名称char(10)NOT NULL,联系人char(10)NOT NULL,地址Varchar(30),电话号码char(20)NOT NULL,网站char(10)-drop table 物流中心Create table 仓库(仓库编号char(10) primary key,库名char(20) NOT NULL,地址varchar(30)NOT NULL,电话char(20)NOT NULL)-drop table 仓库Create table 存储(产品编号char(10),仓库编号char(10),制造商编号char(10),产品数量in
13、t,入库时间char(10)NOT NULL,primary key (仓库编号,产品编号),Foreign key (仓库编号) references 仓库(仓库编号),Foreign key (产品编号) references 产品(产品编号)-drop table 存储Create table 管理(物流中心编号char(10),仓库编号char(10),产品单价int,送货日期char(10),primary key(物流中心编号,仓库编号),Foreign key (物流中心编号) references 物流中心(物流中心编号),Foreign key (仓库编号) referenc
14、es 仓库(仓库编号)-drop table 管理Create table 制造(制造商编号char(10),产品编号char(10),产品批次char(10)NOT NULL,产品质量int NOT NULL,primary key(制造商编号,产品编号),Foreign key (制造商编号) references 制造商(制造商编号),Foreign key (产品编号) references 产品(产品编号)-drop table 制造Create table 运送(零售商编号char(10),仓库编号char(10),运送单价int NOT NULL,primary key(零售商编
15、号,仓库编号),Foreign key (零售商编号) references 零售商(零售商编号),Foreign key (仓库编号) references 仓库(仓库编号)-drop table 运送Create table 提取(物流中心编号char(10),产品编号char(10),货品价格int NOT NULL,primary key(物流中心编号,产品编号),Foreign key (物流中心编号) references 物流中心(物流中心编号),Foreign key (产品编号) references 产品(产品编号)-drop table 提取 3、输入数据(别的9组输入在
16、最后)insert into 制造商values (001,钢笔公司,王女士,tian津,2297369,.com)insert into 零售商values (003,学五超市,李女士,舔大,022110,.com)insert into 产品values (998,钢笔,英雄,根,001)insert into 物流中心values (009,圆通快递,圆通大爷,舔大,02119,.com)insert into 仓库values (001,南开仓库,南大,120)insert into 存储values(998,001,002,56,Jul7)insert into 管理values(0
17、09,001,100,Jul_1st)insert into 制造values(001,998,3,1)insert into 运送values(003,001,100)4、创立索引-索引(1)Create nonclustered index 制造商Ion 制造商(制造商编号)Create nonclustered index 零售商Ion 零售商(零售商编号)(2)create index 物流中心Ion 物流中心(物流中心编号)create index 库存on 仓库(库名,地址)5、创立视图Create view vw制造商AsSelect 名称,联系人,地址,电话号码,网站from
18、制造商Create view vw零售商AsSelect 名称,联系人,地址,电话号码,网站from 零售商6、创立存储过程-存储过程(1)数据检索1、制造商、零售商查询某一产品名称,规格和单位 输入:产品编号 输出:产品名称,产品规格,产品单位,制造商编号Create procedure 产品_into(No char(10)=null)Asif No is nullbeginprint请输入产品编号endelsebeginSelect 产品名称,产品规格,产品单位,制造商编号from 产品where No = 产品.产品编号Endexecute 产品_into 998-drop proce
19、dure 产品_into 2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址 输入:零售商编号 输出:零售商名称,联系人,地址,电话号码,网址Create procedure 零售商_into(No char(10)=null)Asif No is nullbeginprint请输入零售商编号endelsebeginSelect 名称,联系人,地址,电话号码,网站from 零售商where No = 零售商.零售商编号end-drop procedure 零售商_intoexecute 零售商_into 0033、零售商、物流中心查询某一制造商信息表 输入:制造商编号 输出:
20、制造商名称,联系人,地址,电话号码,网址Create procedure 制造商_into(No char(10)=null)Asif No is nullbeginprint请输入制造商编号endelsebeginSelect 名称,联系人,地址,电话号码,网站from 制造商where No = 制造商.制造商编号end-drop procedure 制造商_intoexecute 制造商_into 002 4、物流中心、制造商、零售商查询某一产品出库信息表 输入:仓库编号 输出:仓库编号,库名,地址,电话Create procedure 仓库_into (No char(10)=null
21、)Asif No is nullbeginprint请输入仓库编号endelsebeginSelect 仓库编号,库名,地址,电话from 仓库where No = 仓库.仓库编号end-drop procedure 仓库_intoexecute 仓库_into 001 5、物流中心、零售商查询某一产品制造商和产品信息表 输入:产品编号编号 输出:制造商名称,联系人,地址,电话号码,网站,产品名称,产品名称,产品规格,产品单位Create procedure 制造商_产品_into(No char(10)=null)Asif No is nullbeginprint输入错误,请提供产品编号,即
22、可获得制造商和产品信息endelsebeginSelect 制造商.名称,联系人,地址,电话号码,网站,产品.产品名称,产品名称,产品规格,产品单位From 制造商,产品where 制造商.制造商编号=产品.制造商编号and No=产品.产品编号endexecute 制造商_产品_into 998-哇咔咔咔咔咔试了这样久终于成功了!背面逗号哭瞎了!两个表真有成就感哈哈!-drop procedure 制造商_产品_into编号及产品信息 输入:产品编号6、查询某一产品相应物流中心 输出:物流中心编号,货品价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位Create proce
23、dure 提取_产品_into(No char(10)=null)Asif No is nullbeginprint请提供产品编号,即可获得物流和产品信息endelsebeginSelect 物流中心编号,货品价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位from 提取inner join 产品on 产品.产品编号=产品.产品编号where No = 产品.产品编号endexecute 提取_产品_into 998 7、制造商,零售商查询某一物流中心信息 输入:物流中心编号 输出:物理中心名称,联系人,地址,电话号码,网址Create procedure 物流中心_into
24、(No char(10)=null)Asif No is nullbeginprint请输入物流中心编号endelsebeginSelect 名称,联系人,地址,电话号码,网站from 物流中心where No = 物流中心.物流中心编号end-drop procedure 物流中心_intoexecute 物流中心_into 0098、输入产品编号,输出产品信息,物流中心信息,制造商信息Create procedure 产品_提取_物流中心_制造商_into(No char(10)=null)Asif No is nullbeginprint输入错误,请提供产品编号,即可获得物流和产品信息e
25、ndelsebeginSelect 物流中心.物流中心编号,货品价格,提取.产品编号,产品.产品名称,产品规格,产品单位,制造商.制造商编号,制造商.名称as 制造商名称,物流中心.名称as 物流名称,物流中心.电话号码as 物流电话from 提取,产品,制造商,物流中心where No = 产品.产品编号and 提取.产品编号= 产品.产品编号and 产品.制造商编号= 制造商.制造商编号and 物流中心.物流中心编号= 提取.物流中心编号end-drop procedure 产品_提取_物流中心_制造商_intoexec 产品_提取_物流中心_制造商_into 998(2)数据插入插入产品
26、数据create procedure 产品数据插入(产品编号char(10),产品名称char(20),产品规格char(10),产品单位char(10),制造商编号char(10)asinsert into 产品values(产品编号,产品名称,产品规格,产品单位,制造商编号)execute 产品数据插入111,铅笔,中华,支,002execute 制造商_产品_into 111插入制造商、零售商、物流中心数据create procedure 数据零售商插入(零售商编号char(10),联系人char(10),地址char(10),电话char(10),网址char(20)asinsert
27、into 产品values(零售商编号,联系人,地址,电话,网址)create procedure 数据制造商插入(制造商编号char(10),联系人char(10),地址char(10),电话char(10),网址char(20)asinsert into 产品values(制造商编号,联系人,地址,电话,网址)create procedure 数据物流中心插入(物流中心编号char(10),联系人char(10),地址char(10),电话char(10),网址char(20)asinsert into 产品values(物流中心编号,联系人,地址,电话,网址)(3)数据修改 产品数据修改
28、:某产品数据变化时,输入该产品编号以及需修改属性,完毕对产品表修改create procedure 产品数据修改(产品编号char(10),产品名称char(20)=产品名称,产品规格char(10)=产品规格,产品单位char(10)=产品单位,制造商编号char(10)=制造商编号)asupdate 产品set 产品名称=产品名称,产品规格=产品规格,产品单位=产品单位,制造商编号=制造商编号where 产品编号=产品编号execute 产品数据修改998,英雄2,黑笔,支,002 制造商数据修改:某制造商数据变化时,输入该制造商编号以及需修改属性,完毕对制造商表修改create proc
29、edure 制造商数据修改(制造商编号char(10),联系人char(10)= 联系人,地址char(20)= 地址,电话号码char(10)= 电话号码,网站char(20)= 网站)asupdate 制造商set 制造商编号= 制造商编号,联系人= 联系人,地址= 地址,电话号码= 电话号码,网站= 网站where 制造商编号= 制造商编号 零售商数据修改:某零售商数据变化时,输入该零售商编号以及需修改属性,完毕对零售商修改create procedure 零售商数据修改(零售商编号char(10),联系人char(10)= 联系人,地址char(20)= 地址,电话号码char(10)
30、= 电话号码,网站char(20)= 网站)asupdate 零售商set 零售商编号= 零售商编号,联系人= 联系人,地址= 地址,电话号码= 电话号码,网站= 网站where 零售商编号= 零售商编号 物流中心数据修改:某物流中心数据变化时,输入该物流中心编号以及需修改属性,完毕对物流中心修改create procedure 物流中心数据修改(物流中心编号char(10),联系人char(10)= 联系人,地址char(20)= 地址,电话号码char(10)= 电话号码,网站char(20)= 网站)asupdate 物流中心set 物流中心编号= 物流中心编号,联系人= 联系人,地址=
31、 地址,电话号码= 电话号码,网站= 网站where 物流中心编号= 物流中心编号-如下输入剩余组数据-9-开始输入数据insert into 制造商values (999,百货公司,9女士,都市,999999,)insert into 零售商values (99,超市,9先生,零售商,0009990,)insert into 产品values (0009,产品,神秘品牌,根,999)insert into 物流中心values (9,9通快递,9通大爷,天津大,090909,)insert into 仓库values (099,南开仓库,南大号,9990009)insert into 存储v
32、alues(0009,099,999,9,Jul9)insert into 管理values(9,099,90,Jul_9st)insert into 制造values(999,0009,00999,9)insert into 运送values(99,099,909)insert into 提取values(9,0009,99)-开始输入数据insert into 制造商values (888,百货公司,8女士,都市,888888,)insert into 零售商values (88,超市,8先生,零售商,0008880,)insert into 产品values (0008,产品,神秘品牌,
33、根,888)insert into 物流中心values (8,8通快递,8通大爷,天津大,080808,)insert into 仓库values (088,南开仓库,南大号,8880008)insert into 存储values(0008,088,888,8,Jul8)insert into 管理values(8,088,80,Jul_8st)insert into 制造values(888,0008,00888,8)insert into 运送values(88,088,808)insert into 提取values(8,0008,88)-开始输入数据insert into 制造商v
34、alues (777,百货公司,7女士,都市,777777,)insert into 零售商values (77,超市,7先生,零售商,0007770,)insert into 产品values (0007,产品,神秘品牌,根,777)insert into 物流中心values (7,7通快递,7通大爷,天津大,070707,)insert into 仓库values (077,南开仓库,南大号,7770007)insert into 存储values(0007,077,777,7,Jul7)insert into 管理values(7,077,70,Jul_7st)insert into
35、制造values(777,0007,00777,7)insert into 运送values(77,077,707)insert into 提取values(7,0007,77)-开始输入数据insert into 制造商values (666,百货公司,6女士,都市,666666,)insert into 零售商values (66,超市,6先生,零售商,0006660,)insert into 产品values (0006,产品,神秘品牌,根,666)insert into 物流中心values (6,6通快递,6通大爷,天津大,060606,)insert into 仓库values (
36、066,南开仓库,南大号,6660006)insert into 存储values(0006,066,666,6,Jul6)insert into 管理values(6,066,60,Jul_6st)insert into 制造values(666,0006,00666,6)insert into 运送values(66,066,606)insert into 提取values(6,0006,66)-开始输入数据insert into 制造商values (555,百货公司,5女士,都市,555555,)insert into 零售商values (55,超市,5先生,零售商,0005550,
37、)insert into 产品values (0005,产品,神秘品牌,根,555)insert into 物流中心values (5,5通快递,5通大爷,天津大,050505,)insert into 仓库values (055,南开仓库,南大号,5550005)insert into 存储values(0005,055,555,5,Jul5)insert into 管理values(5,055,50,Jul_5st)insert into 制造values(555,0005,00555,5)insert into 运送values(55,055,505)insert into 提取values(5,0005,55)-开始输入数据insert into 制造商values (444,百货公司,4女士,都市,444444,www.444zz.