收藏 分销(赏)

物流管理系统的SQL数据库设计(含代码)培训讲学.doc

上传人:精*** 文档编号:3844696 上传时间:2024-07-22 格式:DOC 页数:33 大小:147KB 下载积分:12 金币
下载 相关 举报
物流管理系统的SQL数据库设计(含代码)培训讲学.doc_第1页
第1页 / 共33页
物流管理系统的SQL数据库设计(含代码)培训讲学.doc_第2页
第2页 / 共33页


点击查看更多>>
资源描述
物流管理系统的SQL数据库设计(含代码) 精品文档 物流管理信息系统的数据库设计 班级:计算1201 姓名:陆震 学号:1202200116 一、需求分析 物流管理系统是为制造商和零售商设计的管理系统数据库系统,目的是: 1、实现上游制造商的信息管理 。 2、实现下游零售商的信息管理。 3、实现进库与配送的信息管理。从而提高物流效率,降低物流成本并提高企业管理化水平。经过调研分析,得到系统的如下功能需求。 (1)数据检索 1、制造商、零售商查询某一产品名称,规格和单位 输入:产品编号 输出:产品名称,产品规格,产品单位,制造商编号 2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址 输入:零售商编号 输出:零售商名称,联系人,地址,电话号码,网址 3、零售商、物流中心查询某一制造商信息表 输入:制造商编号 输出:制造商名称,联系人,地址,电话号码,网址 4、物流中心、制造商、零售商查询某一产品的出库信息表 输入:仓库编号 输出:仓库编号,库名,地址,电话 5、物流中心、零售商查询某一产品的制造商和产品信息表 输入:产品编号编号 输出:制造商名称,联系人,地址,电话号码,网站,产品名称,产品名称,产品规格,产品单位 6、查询某一产品对应的物流中心编号及产品信息 输入:产品编号 输出:物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位 7、制造商,零售商查询某一物流中心信息 输入:物流中心编号 输出:物理中心名称,联系人,地址,电话号码,网址 (2)数据插入 ①产品数据插入 ②制造商数据插入 ③零售商数据插入 ④物流中心数据插入 (3)数据修改 ①产品数据修改:某产品数据变化时,输入该产品编号以及需修改的属性,完成对产品表的修改 ②制造商数据修改:某制造商数据变化时,输入该制造商编号以及需修改的属性,完成对制造商表的修改 ③零售商数据修改:某零售商数据变化时,输入该零售商编号以及需修改的属性,完成对零售商的修改 ④物流中心数据修改:某物流中心数据变化时,输入该物流中心编号以及需修改的属性,完成对物流中心的修改 二、概念设计 经需求分析,抽象出以下E-R模型 (1)制造商实体 地址 制造商编号 网站 电话号码 联系人 名称 制造商 (2)物流中心实体 电话号码 地址 物流中心编号 物流中心 联系人 名称 网站 (3)零售商实体 零售商编号 地址 电话号码 联系人 名称 网站 零售商 (4)产品实体 单位 规格 名称 产品编号 产品 (5)仓库实体 库名 电话 地址 仓库编号 仓库 (6)全局E-R图 制造商编号 产品数量 仓库编号 产品编号 运输单价 入库时间 产品单价 送货时间 货物价格 物流编号 仓库编号 n m 存放 m 物流中心编号 产品编号 产品质量 产品批次 产品编号 制造商编号 m m n n n n 1 运输 管理 提取 制造 物流中心 零售商 仓库 产品 制造商 仓库编号 零售商编号 三、逻辑设计 产品(产品编号,产品名称,产品规格,产品单位,制造商编号) 零售商(零售商编号,名称,联系人,地址,电话号码,网站) 制造商(制造商编号,名称,地址,联系人,电话号码,网站) 物流中心(物流中心编号,名称,联系人,地址,电话号码,网站) 仓库(仓库编号,库名,地址,电话) 存放(产品编号,仓库编号,制造商编号,产品数量,入库时间) 管理(物流中心编号,仓库编号,送货时间,产品单价) 制造(制造商编号,产品编号,产品批次,产品质量) 运输(仓库编号,零售商编号,运输单价) 四、 物理设计 根据以上关系模式构建的数据表结构如表所示。 表1 产品表结构 字段名 类型 特殊属性 产品编号 Char(10) PEIMARY KEY 产品名称 Char(20) NOT NULL 产品规格 Char(10) 产品单位 Char(10) NOT NULL 制造商编号 Char(10) FOREIGN KEY 表2 零售商结构 字段名 类型 特殊属性 零售商编号 Char(10) PRIMARY EKY 名称 Char(10) NOT NULL 联系人 Char(10) NOT NULL 地址 Varchar(30) NOT NULL 电话号码 Int NOT 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 NULL 地址 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 管理表结构 字段名 类型 特殊属性 物流中心编号 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 产品质量 Int NOT NULL 表9 运输表结构 字段名 类型 特殊属性 零售商编号 Char(10) PRIMARY KEY,FOREIGN KEY 仓库编号 Char(10) PRIMARY KEY,FOREIGN KEY 运输单价 Int NOT NULL 表10 提取表结构 字段名 类型 特殊属性 物流中心编号 Char(10) PRIMARY KEY,FOREIGN KEY 产品编号 Char(10) PRIMARY KEY,FOREIGN KEY 货物价格 Int NOT NULL 五、 系统实现 1、数据库及其基本表的建立 数据库的建立用企业管理器,基本表的建立用T—SQL语句。 数据库名称:WL_System 1、创建表 Create database WL_System on ( name='wl_system_data', filename= 'C:\SQLhomework\wl_system_data.mdf', size=10mb,maxsize=50mb,filegrowth=2mb ) LOG ON ( name='wl_system_log', filename='C:\SQLhomework\wl_system_log.ldf', size=10mb, maxsize=50mb, filegrowth=2mb ) 2、建立基本表结构 USE WL_System Go Create 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 产品 ( 产品编号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 物流中心 ( 物流中心编号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), 产品数量int, 入库时间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 (仓库编号) references 仓库(仓库编号) ) --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(零售商编号,仓库编号), 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组输入在最后) insert into 制造商 values ( '001','钢笔公司','王女士','tian津','2297369','' ) insert into 零售商 values ( '003','学五超市','李女士','舔大','022110','' ) insert into 产品 values ( '998','钢笔','英雄','根','001' ) insert into 物流中心 values ( '009','圆通快递','圆通大爷','舔大','02119','' ) insert into 仓库 values ( '001','南开仓库','南大','120' ) insert into 存放 values ( '998','001','002','56','Jul7' ) insert into 管理 values ( '009','001','100','Jul_1st' ) insert into 制造 values ( '001','998','3','1' ) insert into 运输 values ( '003','001','100' ) 4、创建索引 --索引 (1) Create nonclustered index 制造商I on 制造商(制造商编号) Create nonclustered index 零售商I on 零售商(零售商编号) (2) create index 物流中心I on 物流中心(物流中心编号) create index 库存 on 仓库(库名,地址) 5、创建视图 Create view vw制造商 As Select 名称,联系人,地址,电话号码,网站 from 制造商 Create view vw零售商 As Select 名称,联系人,地址,电话号码,网站 from 零售商 6、创建存储过程 --存储过程~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (1)数据检索 1、制造商、零售商查询某一产品名称,规格和单位 输入:产品编号 输出:产品名称,产品规格,产品单位,制造商编号 Create procedure 产品_into(@No char(10)=null) As if @No is null begin print'请输入产品编号' end else begin Select 产品名称,产品规格,产品单位,制造商编号 from 产品 where @No = 产品.产品编号 End execute 产品_into '998' --drop procedure 产品_into 2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址 输入:零售商编号 输出:零售商名称,联系人,地址,电话号码,网址 Create procedure 零售商_into(@No char(10)=null) As if @No is null begin print'请输入零售商编号' end else begin Select 名称,联系人,地址,电话号码,网站 from 零售商 where @No = 零售商.零售商编号 end --drop procedure 零售商_into execute 零售商_into '003' 3、零售商、物流中心查询某一制造商信息表 输入:制造商编号 输出:制造商名称,联系人,地址,电话号码,网址 Create procedure 制造商_into(@No char(10)=null) As if @No is null begin print'请输入制造商编号' end else begin Select 名称,联系人,地址,电话号码,网站 from 制造商 where @No = 制造商.制造商编号 end --drop procedure 制造商_into execute 制造商_into '002' 4、物流中心、制造商、零售商查询某一产品的出库信息表 输入:仓库编号 输出:仓库编号,库名,地址,电话 Create procedure 仓库_into (@No char(10)=null) As if @No is null begin print'请输入仓库编号' end else begin Select 仓库编号,库名,地址,电话 from 仓库 where @No = 仓库.仓库编号 end --drop procedure 仓库_into execute 仓库_into '001' 5、物流中心、零售商查询某一产品的制造商和产品信息表 输入:产品编号编号 输出:制造商名称,联系人,地址,电话号码,网站,产品名称,产品名称,产品规格,产品单位 Create procedure 制造商_产品_into(@No char(10)=null) As if @No is null begin print'输入错误,请提供产品编号,即可获得制造商和产品的信息' end else begin Select 制造商.名称,联系人,地址,电话号码,网站,产品.产品名称,产品名称,产品规格,产品单位 From 制造商,产品 where 制造商.制造商编号=产品.制造商编号and @No=产品.产品编号 end execute 制造商_产品_into '998' --哇咔咔咔咔咔^试了这么久终于成功了!!!后面的逗号哭瞎了!!两个表真有成就感哈哈~! --drop procedure 制造商_产品_into 编号及产品信息 输入:产品编号 6、查询某一产品对应的物流中心 输出:物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位 Create procedure 提取_产品_into(@No char(10)=null) As if @No is null begin print'请提供产品编号,即可获得物流和产品的信息' end else begin Select 物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位 from 提取inner join 产品on 产品.产品编号=产品.产品编号 where @No = 产品.产品编号 end execute 提取_产品_into '998' 7、制造商,零售商查询某一物流中心信息 输入:物流中心编号 输出:物理中心名称,联系人,地址,电话号码,网址 Create procedure 物流中心_into(@No char(10)=null) As if @No is null begin print'请输入物流中心编号' end else begin Select 名称,联系人,地址,电话号码,网站 from 物流中心 where @No = 物流中心.物流中心编号 end --drop procedure 物流中心_into execute 物流中心_into '009' 8、输入产品编号,输出产品信息,物流中心信息,制造商信息 Create procedure 产品_提取_物流中心_制造商_into(@No char(10)=null) As if @No is null begin print'输入错误,请提供产品编号,即可获得物流和产品的信息' end else begin Select 物流中心.物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品规格,产品单位,制造商.制造商编号,制造商.名称as 制造商名称, 物流中心.名称as 物流名称,物流中心.电话号码as 物流电话 from 提取,产品,制造商,物流中心 where @No = 产品.产品编号and 提取.产品编号= 产品.产品编号 and 产品.制造商编号= 制造商.制造商编号and 物流中心.物流中心编号= 提取.物流中心编号 end --drop procedure 产品_提取_物流中心_制造商_into exec 产品_提取_物流中心_制造商_into '998' (2)数据插入 插入产品数据 create procedure 产品数据插入 ( @产品编号char(10), @产品名称char(20), @产品规格char(10),@产品单位char(10),@制造商编号char(10) ) as insert into 产品 values(@产品编号,@产品名称,@产品规格,@产品单位,@制造商编号) execute 产品数据插入'111','铅笔','中华','支','002' execute 制造商_产品_into '111' 插入制造商、零售商、物流中心数据 create procedure 数据零售商插入 ( @零售商编号char(10), @联系人char(10), @地址char(10),@电话char(10),@网址char(20) ) as insert into 产品 values(@零售商编号,@联系人,@地址,@电话,@网址) create procedure 数据制造商插入 ( @制造商编号char(10), @联系人char(10), @地址char(10),@电话char(10),@网址char(20) ) as insert into 产品 values(@制造商编号,@联系人,@地址,@电话,@网址) create procedure 数据物流中心插入 ( @物流中心编号char(10), @联系人char(10),@地址char(10),@电话char(10),@网 址char(20) ) as insert into 产品 values(@物流中心编号,@联系人,@地址,@电话,@网址) (3)数据修改 ① 产品数据修改:某产品数据变化时,输入该产品编号以及需修改的属性,完成对产品表的修改 create procedure 产品数据修改(@产品编号char(10), @产品名称char(20)=产品名称,@产品规格char(10)=产品规格, @产品单位char(10)=产品单位,@制造商编号char(10)=制造商编号) as update 产品 set 产品名称=@产品名称,产品规格=@产品规格,产品单位=@产品单位,制造商编号=@制造商编号 where 产品编号=@产品编号 execute 产品数据修改'998','英雄2','黑笔','支','002' ② 制造商数据修改:某制造商数据变化时,输入该制造商编号以及需修改的属性,完成对制造商表的修改 create procedure 制造商数据修改 ( @制造商编号char(10), @联系人char(10)= 联系人, @地址char(20)= 地址, @电话号码char(10)= 电话号码,@网站char(20)= 网站 ) as update 制造商 set 制造商编号= @制造商编号, 联系人= @联系人,地址= @地址,电话号码= @电话号码,网站= @网站 where 制造商编号= @制造商编号 ③ 零售商数据修改:某零售商数据变化时,输入该零售商编号以及需修改的属性,完成对零售商的修改 create procedure 零售商数据修改 ( @零售商编号char(10), @联系人char(10)= 联系人, @地址char(20)= 地址, @电话号码char(10)= 电话号码,@网站char(20)= 网站 ) as update 零售商 set 零售商编号= @零售商编号, 联系人= @联系人, 地址= @地址,电话号码= @电话号码,网站= @网站 where 零售商编号= @零售商编号 ④物流中心数据修改:某物流中心数据变化时,输入该物流中心编号以及需修改的属性,完成对物流中心的修改 create procedure 物流中心数据修改 ( @物流中心编号char(10), @联系人char(10)= 联系人, @地址char(20)= 地址, @电话号码char(10)= 电话号码,@网站char(20)= 网站 ) as update 物流中心 set 物流中心编号= @物流中心编号, 联系人= @联系人, 地址= @地址,电话号码= @电话号码,网站= @网站 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 存放 values ( '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','产品','神秘品牌','根','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 制造商 values ( '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 制造 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 ( '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','' ) 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','0
展开阅读全文

开通  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 

客服