物流管理系统的SQL数据库设计(含代码)_第1页
物流管理系统的SQL数据库设计(含代码)_第2页
物流管理系统的SQL数据库设计(含代码)_第3页
物流管理系统的SQL数据库设计(含代码)_第4页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物流管理信息系统的数据库设计班级xxx系统名称:物流管理信息系统一、需求分析物流管理系统是为制造商和零售商设计的管理系统数据库系统,目的是:1、实现上游制造商的信息管理。2、实现下游零售商的信息管理。3、实现进库与配送的信息管理。从而提高物流效率,降低物流成本并提高企业管理化水平。经过调研分析,得到系统的如下功能需求。( 1)数据检索1、制造商、零售商查询某一产品名称,规格和单位输入:产品编号输出:产品名称,产品规格,产品单位,制造商编号2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址输入:零售商编号输出:零售商名称,联系人,地址,电话号码,网址3、零售商、物流中心查询某一

2、制造商信息表输入:制造商编号输出:制造商名称,联系人,地址,电话号码,网址4、物流中心、制造商、零售商查询某一产品的出库信息表输入:仓库编号输出:仓库编号,库名,地址,电话5、物流中心、零售商查询某一产品的制造商和产品信息表输入:产品编号编号输出:制造商名称 , 联系人 , 地址 , 电话号码 , 网站 , 产品名称 , 产品名称 , 产品规格 , 产品单位6、查询某一产品对应的物流中心编号及产品信息输入:产品编号输出:物流中心编号 , 货物价格 , 提取 . 产品编号 , 产品 . 产品名称 , 产品名称 , 产品规格 , 产品单位7、制造商,零售商查询某一物流中心信息输入:物流中心编号输出

3、:物理中心名称,联系人,地址,电话号码,网址( 2)数据插入产品数据插入制造商数据插入零售商数据插入物流中心数据插入( 3)数据修改产品数据修改:某产品数据变化时,输入该产品编号以及需修改的属性,完成对产品表的修改制造商数据修改: 某制造商数据变化时, 输入该制造商编号以及需修改的属性,完成对制造商表的修改零售商数据修改: 某零售商数据变化时, 输入该零售商编号以及需修改的属性,完成对零售商的修改物流中心数据修改: 某物流中心数据变化时, 输入该物流中心编号以及需修改的属性,完成对物流中心的修改二、概念设计经需求分析,抽象出以下E-R 模型( 1)制造商实体联系人名称网站地址制造商电话号 码制

4、造商编号( 2)物流中心实体联系人名称网站地址物流中心电话号码物流中心编号( 3)零售商实体名称网站联系人地址零售商电话号码零 售 商编号( 4)产品实体名称产品编号产品规格单位( 5)仓库实体库名仓库编号仓库地址电话( 6)全局 E-R 图制造商编号产品编号产品批次产品质量n制造制造商物流中心编m货物价格产品编号n提取m产品物流中心产品编号1入库时间m管理仓库编号n存放仓库n产品数量制造商编号零售商编号零售商仓库编号物流编号仓库编号m送货时间产品单价运输n运输单价三、逻辑设计产品(产品编号,产品名称,产品规格,产品单位, 制造商编号)零售商(零售商编号,名称,联系人,地址,电话号码,网站)制

5、造商(制造商编号,名称,地址,联系人,电话号码,网站)物流中心(物流中心编号,名称,联系人,地址,电话号码,网站)仓库(仓库编号,库名,地址,电话)存放(产品编号,仓库编号,制造商编号,产品数量,入库时间)管理(物流中心编号,仓库编号,送货时间,产品单价)制造(制造商编号,产品编号,产品批次,产品质量)运输(仓库编号,零售商编号,运输单价)四、物理设计根据以上关系模式构建的数据表结构如表所示。表 1产品表结构字段名类型特殊属性产品编号Char( 10)PEIMARY KEY产品名称Char( 20)NOT NULL产品规格Char( 10)产品单位Char( 10)NOT NULL制造商编号C

6、har( 10)FOREIGN KEY表 2零售商结构字段名类型特殊属性零售商编号Char( 10)PRIMARY 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物流中心结构字段名类型特

7、殊属性物流中心编号Char( 10)PRIMARY EKY名称Char( 10)NOT NULL联系人Char( 10)NOT NULL地址Varchar ( 30)NOT NULL电话号码Char( 20)NOT NULL网站Char( 10)表 5仓库表结构字段名类型特殊属性仓库编号Char(10)PRIMARY KEY库名Char(20)NOT NULL地址Varchar (30)NOT NULL电话Char(20)NOT NULL表 6存放表结构字段名类型特殊属性产品编号Char(10)PRIMARYKEY,FOREIGNKEY仓库编号Char(10)PRIMARY KEY,FOREI

8、GN KEY制造商编号Char(10)产品数量Int入库时间Char(10)NOT NULL表 7管理表结构字段名类型特殊属性物流中心编号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运输表结构字段名类型特殊属性零售商编号C

9、har(10)PRIMARY KEY,FOREIGN KEY仓库编号Char(10)PRIMARY KEY,FOREIGN KEY运输单价IntNOT NULL表 10提取表结构字段名类型特殊属性物流中心编号Char(10)PRIMARY KEY,FOREIGN KEY产品编号Char(10)PRIMARY KEY,FOREIGN KEY货物价格IntNOT NULL五、系统实现1、数据库及其基本表的建立数据库的建立用企业管理器,基本表的建立用数据库名称:WL_SystemTSQL语句。1、创建表CreatedatabaseWL_Systemon(name = 'wl_system_d

10、ata',filename='C:SQLhomeworkwl_system_data.mdf',size= 10mb , maxsize= 50mb , filegrowth= 2mb)LOG ON(name = 'wl_system_log',filename='C:SQLhomeworkwl_system_log.ldf',size= 10mb ,maxsize= 50mb ,filegrowth= 2mb)2、建立基本表结构USE WL_SystemGoCreatetable制造商(制造商编号 char( 10 )primary名称

11、 char( 10 )NOTNULL,联系人 char( 10 )NOTNULL,地址 varchar( 30 ),电话号码 char( 20 )NOTNULL,网站 char( 20 )key ,)-drop table制造商Createtable产品(产品编号 char( 10 ) primarykey ,产品名称 char( 20 )NOTNULL,产品规格 char( 10 ),产品单位 char( 10 )NOTNULL,制造商编号 char( 10 ),Foreignkey( 制造商编号)references制造商(制造商编号),)Createtable零售商(零售商编号 char

12、( 10 )primarykey ,名称 char( 10 )NOTNULL,联系人 char( 10 )NOTNULL,地址 char( 30 )NOTNULL,电话号码 IntNOT NULL,网站 char( 20 )-drop table零售商Createtable物流中心(物流中心编号char( 10 )primarykey ,名称 char( 10 )NOTNULL,联系人 char( 10 )NOTNULL,地址 Varchar( 30 ),电话号码 char( 20 )NOTNULL,网站 char( 10 )-drop table物流中心Createtable仓库(仓库编号

13、char( 10 )primarykey ,库名 char( 20 )NOT NULL,地址 varchar( 30 )NOTNULL,电话 char( 20 )NOTNULL)-drop table仓库Createtable存放(产品编号 char( 10 ),仓库编号 char( 10 ),制造商编号 char( 10 ),产品数量 int,入库时间 char( 10 )NOTNULL,primarykey( 仓库编号 , 产品编号 ),Foreignkey( 仓库编号 )references仓库 ( 仓库编号 ),Foreignkey( 产品编号 )references产品 ( 产品编号

14、 )-drop table存放Createtable管理(物流中心编号char( 10 ),仓库编号 char( 10 ),产品单价 int,送货日期 char ( 10 ),primarykey ( 物流中心编号 , 仓库编号 ),Foreignkey( 物流中心编号 ) references物流中心 ( 物流中心编号 ),Foreignkey( 仓库编号 )references仓库 ( 仓库编号 )-drop table管理Createtable制造(制造商编号 char ( 10 ),产品编号 char ( 10 ),产品批次 char( 10 )NOT NULL,产品质量 intNOT

15、 NULL,primarykey ( 制造商编号 , 产品编号 ),Foreignkey( 制造商编号 ) references制造商 ( 制造商编号 ),Foreignkey( 产品编号 )references产品 ( 产品编号 )-drop table制造Createtable运输(零售商编号 char ( 10 ),仓库编号 char(10),运输单价 intNOT NULL,primarykey ( 零售商编号 , 仓库编号 ),Foreignkey( 零售商编号 ) references零售商 ( 零售商编号 ),Foreignkey( 仓库编号 )references仓库 ( 仓库

16、编号 )-drop table运输Create table 提取(物流中心编号char(10),产品编号 char(10),货物价格 int NOT NULL,primary key( 物流中心编号 ,产品编号 ),Foreign key ( 物流中心编号) references 物流中心 ( 物流中心编号 ),Foreign key ( 产品编号 ) references 产品 (产品编号 )-drop table 提取3、输入数据 (其余 9 组输入在最后)insertinto制造商values('001', '钢笔公司 ' , ' 王女士 '

17、; , 'tian津' , '2297369')insertinto零售商values('003' , ' 学五超市 ' , ' 李女士 ' , ' 舔大insertinto产品values('998',' 钢笔' ,' 英雄' ,'根' ,'001')insertinto物流中心values('009' , ' 圆通快递 ' , ' 圆通大爷 ' , ' 舔大insert

18、into仓库values('001',' 南开仓库 ' , ' 南大' , '120')insertinto存放values('998', '001', '002', '56', 'Jul7')insertinto管理values('009', '001', '100', 'Jul_1st')insertinto制造values('001', '998',

19、'3', '1')insertinto运输values('003', '001', '100')4、创建索引- 索引(1 )Createnonclusteredindex制造商 Ion制造商 ( 制造商编号)Createnonclusteredindex零售商 Ion零售商 ( 零售商编号)( 2 )createindex物流中心 Ion物流中心 ( 物流中心编号 )createindex库存on仓库(库名, 地址)5、创建视图Createviewvw 制造商AsSelect名称, 联系人 , 地址,电话号码 ,网

20、站from制造商Createviewvw 零售商AsSelect名称, 联系人 , 地址,电话号码 ,网站from零售商6、创建存储过程-存储过程 ( 1)数据检索1、制造商、零售商查询某一产品名称,规格和单位输入:产品编号输出:产品名称,产品规格,产品单位,制造商编号Create procedure 产品 _into (No char(10)=null)Asif No is nullbeginprint '请输入产品编号'endelsebeginSelect 产品名称 ,产品规格 ,产品单位 ,制造商编号from产品where No = 产品 .产品编号Endexecute

21、产品 _into '998'-drop procedure产品 _into2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址输入:零售商编号输出:零售商名称,联系人,地址,电话号码,网址Create procedure 零售商 _into (No char(10)=null)Asif No is nullbeginprint '请输入零售商编号'endelsebeginSelect 名称 ,联系人 ,地址 ,电话号码 ,网站from零售商where No = 零售商 .零售商编号end-drop procedure零售商 _intoexecut

22、e 零售商 _into '003'3、零售商、物流中心查询某一制造商信息表输入:制造商编号输出:制造商名称,联系人,地址,电话号码,网址Create procedure 制造商 _into (No char(10)=null)Asif No is nullbeginprint '请输入制造商编号'endelsebeginSelect 名称 ,联系人 ,地址 ,电话号码 ,网站from制造商where No = 制造商 .制造商编号end-drop procedure制造商 _intoexecute 制造商 _into '002'4、物流中心、制造

23、商、零售商查询某一产品的出库信息表输入:仓库编号输出:仓库编号,库名,地址,电话Create procedure 仓库 _into (No char(10)=null)Asif No is nullbeginprint '请输入仓库编号'endelsebeginSelect 仓库编号 ,库名 ,地址 ,电话from仓库where No = 仓库 .仓库编号end-drop procedure仓库 _intoexecute 仓库 _into '001'5、物流中心、零售商查询某一产品的制造商和产品信息表输入:产品编号编号输出:制造商名称 , 联系人 , 地址 ,

24、电话号码 , 网站 , 产品名称 , 产品名称 , 产品规格 , 产品单位Create procedure 制造商 _产品 _into (No char(10)=null)Asif No is nullbeginprint' 输入错误,请提供产品编号,即可获得制造商和产品的信息'endelsebeginSelect 制造商 .名称 ,联系人 ,地址 ,电话号码 ,网站 ,产品 .产品名称,产品名称 ,产品规格 ,产品单位From 制造商 ,产品where 制造商 .制造商编号 = 产品 .制造商编号and No =产品 .产品编号endexecute 制造商 _产品 _into

25、 '998'-哇咔咔咔咔咔试了这么久终于成功了! 后面的逗号哭瞎了! 两个表真有成就感哈哈!-drop procedure制造商 _产品 _into编号及产品信息输入:产品编号6、查询某一产品对应的物流中心输出:物流中心编号 , 货物价格 , 提取 . 产品编号 , 产品 . 产品名称 , 产品名称 , 产品规格 , 产品单位Createprocedure提取 _产品 _into( No char( 10 )=null)AsifNoisnullbeginprint' 请提供产品编号,即可获得物流和产品的信息'endelsebeginSelect 物流中心编号 ,

26、 货物价格 , 提取 . 产品编号 , 产品 . 产品名称 , 产品名称 , 产品规格, 产品单位from 提取 inner join 产品 on 产品 . 产品编号 =产品 . 产品编号 where No = 产品 . 产品编号endexecute提取 _产品 _into'998'7、制造商,零售商查询某一物流中心信息输入:物流中心编号输出:物理中心名称,联系人,地址,电话号码,网址Create procedure 物流中心 _into (No char(10)=null)Asif No is nullbeginprint '请输入物流中心编号'endelse

27、beginSelect 名称 ,联系人 ,地址 ,电话号码 ,网站from物流中心where No = 物流中心 .物流中心编号end-drop procedure 物流中心 _intoexecute 物流中心 _into '009'8、输入产品编号,输出产品信息,物流中心信息,制造商信息Createprocedure产品 _提取 _ 物流中心_ 制造商_into( No char( 10 )=null)AsifNoisnullbeginprint' 输入错误,请提供产品编号,即可获得物流和产品的信息'endelsebeginSelect物流中心 . 物流中心编

28、号, 货物价格 , 提取 . 产品编号,产品.产品名称, 产品规格, 产品单位 , 制造商 . 制造商编号 , 制造商 . 名称 as制造商名称,物流中心 . 名称 as 物流名称 , 物流中心 . 电话号码 as 物流电话 from 提取 , 产品 , 制造商 , 物流中心whereNo= 产品 . 产品编号 and提取 . 产品编号 = 产品 . 产品编号and产品 . 制造商编号 = 制造商 . 制造商编号and物流中心 . 物流中心编号= 提取. 物流中心编号 end-drop procedure产品 _提取 _ 物流中心 _ 制造商 _intoexec产品 _提取 _ 物流中心_制造

29、商_into'998'( 2)数据插入插入产品数据createprocedure产品数据插入(产品编号产品规格char char( 10), ( 10),产品名称 char产品单位 char(20), ( 10),制造商编号char( 10)asinsertinto产品values( 产品编号, 产品名称, 产品规格, 产品单位, 制造商编号)execute产品数据插入'111', '铅笔','中华' ,' 支' ,'002'execute制造商_产品 _into'111'插入制造商

30、、零售商、物流中心数据createprocedure数据零售商插入(零售商编号char( 10 ),联系人 char( 10 ),地址 char( 10 ), 电话 char( 10 ), 网址 char( 20 )asinsertinto产品values( 零售商编号 , 联系人 , 地址 , 电话 , 网址 )createprocedure数据制造商插入(制造商编号char( 10 ),联系人 char( 10 ),地址 char( 10 ), 电话 char( 10 ), 网址 char( 20 )asinsertinto产品values( 制造商编号 , 联系人 , 地址 , 电话 ,

31、 网址 )createprocedure数据物流中心插入(物流中心编号 char ( 10 ), 联系人 char ( 10 ), 地址 char ( 10 ), 电话 char ( 10 ), 网址 char ( 20 )asinsertinto产品values( 物流中心编号, 联系人 , 地址 , 电话 , 网址 )( 3)数据修改 产品数据修改: 某产品数据变化时, 输入该产品编号以及需修改的属性,完成对产品表的修改createprocedure产品数据修改( 产品编号 char( 10 ),产品名称 char( 20 )= 产品名称 , 产品规格 char( 10 )= 产品规格 ,

32、产品单位 char( 10 )= 产品单位 , 制造商编号char( 10 )= 制造商编号 )asupdate产品set产品名称 = 产品名称 , 产品规格 = 产品规格 , 产品单位 =产品单位 , 制造商编号=制造商编号where产品编号 =产品编号execute产品数据修改'998', ' 英雄 2' , ' 黑笔 ' , ' 支 ' , '002'制造商数据修改:某制造商数据变化时,输入该制造商编号以及需修改的属性,完成对制造商表的修改createprocedure制造商数据修改(制造商编号char( 1

33、0 ),联系人 char( 10 )=联系人 , 地址 char( 20 )=地址 ,电话号码 char( 10 )=电话号码 , 网站 char( 20 )=网站)asupdate制造商set制造商编号网站 = 网站= 制造商编号,联系人 = 联系人,地址= 地址,电话号码= 电话号码,where制造商编号= 制造商编号零售商数据修改:某零售商数据变化时,输入该零售商编号以及需修改的属性,完成对零售商的修改createprocedure零售商数据修改(零售商编号char( 10 ),联系人 char( 10 )=联系人 , 地址 char( 20 )=地址 ,电话号码 char( 10 )=

34、电话号码 , 网站 char( 20 )=网站)asupdate零售商set零售商编号 = 零售商编号 ,联系人 = 联系人地址 = 地址 , 电话号码 = 电话号码 , 网站 = 网站,where零售商编号= 零售商编号物流中心数据修改: 某物流中心数据变化时, 输入该物流中心编号以及需修改的属性,完成对物流中心的修改createprocedure物流中心数据修改(物流中心编号char( 10 ),联系人 char( 10 )=联系人 , 地址 char( 20 )=地址 ,电话号码 char( 10 )=电话号码 , 网站 char( 20 )=网站)asupdate物流中心set物流中心

35、编号= 物流中心编号地址 = 地址 , 电话号码 = 电话号码,联系人 = 联系人, 网站= 网站,where物流中心编号= 物流中心编号- 以下输入剩余组数据-9- 开始输入数据insertinto制造商values('999',' 百货公司' ,'9女士 ' , ' 城市 ' , '999999', '')insertinto零售商values('99','超市','9先生', ' 零售商 ' , '0009990'

36、, '')insertinto产品values('0009',' 产品',' 神秘品牌 ' ,' 根' ,'999')insertinto物流中心values('9','9 通快递' ,'9通大爷',' 天津大 ' , '090909', '')insertinto仓库values('099', '南开仓库 ', '南大号 ', '9990009&#

37、39;)insertinto存放values('0009','099', '999','9', 'Jul9')insertinto管理values('9','099','90', 'Jul_9st')insertinto制造values('999', '0009', '00999', '9')insertinto运输values('99', '099',&#

38、39;909')insertinto提取values('9','0009','99')- 开始输入数据insertinto制造商values('888' , ' 百货公司 ' , '8 女士 ' , ' 城市insertinto零售商values('88','超市', '8 先生', ' 零售商 ' , '0008880', '')insertinto产品values('0008&

39、#39;,' 产品',' 神秘品牌 ' ,' 根' ,'888')insertinto物流中心values('8' ,'8 通快递 ' , '8 通大爷 ' , ' 天津大 ' , '080808', '')insertinto仓库values('088', ' 南开仓库 ' , ' 南大号 ' , '8880008')insertinto存放values('000

40、8','088', '888', '8' , 'Jul8')insertinto管理values('8' ,'088','80' , 'Jul_8st')insertinto制造values('888', '0008', '00888', '8')insertinto运输values('88', '088', '808')insertinto提取va

41、lues('8' ,'0008', '88')- 开始输入数据insertinto制造商values('777',' 百货公司' ,'7女士 ' , ' 城市 ' , '777777', '')insertinto零售商values('77','超市', '7 先生', ' 零售商 ' , '0007770', '')insertinto产品values(&

42、#39;0007',' 产品',' 神秘品牌 ' ,' 根' ,'777')insertinto物流中心values('7' ,'7 通快递 ' , '7 通大爷 ' , ' 天津大 ' , '070707', '')insertinto仓库values('077', ' 南开仓库 ' , ' 南大号 ' , '7770007')insertinto存放values('0007','077', '777', '7' , 'Jul7')insertinto管理values('7' ,'077

温馨提示

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

最新文档

评论

0/150

提交评论