物流管理系统的SQL数据库设计含代码Word文档下载推荐.docx
- 文档编号:17807873
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:41
- 大小:92.25KB
物流管理系统的SQL数据库设计含代码Word文档下载推荐.docx
《物流管理系统的SQL数据库设计含代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《物流管理系统的SQL数据库设计含代码Word文档下载推荐.docx(41页珍藏版)》请在冰豆网上搜索。
某零售商数据变化时,输入该零售商编号以及需修改得属性,完成对零售商得修改
④物流中心数据修改:
某物流中心数据变化时,输入该物流中心编号以及需修改得属性,完成对物流中心得修改
二、概念设计
经需求分析,抽象出以下E-R模型
(1)制造商实体
电话号码
制造商
(2)物流中心实体
物流中心
(3)零售商实体
零售商
(4)产品实体
单位
名称
(5)仓库实体
库名
电话
(6)全局E-R图
三、逻辑设计
产品(产品编号,产品名称,产品规格,产品单位,制造商编号)
零售商(零售商编号,名称,联系人,地址,电话号码,网站)
制造商(制造商编号,名称,地址,联系人,电话号码,网站)
物流中心(物流中心编号,名称,联系人,地址,电话号码,网站)
仓库(仓库编号,库名,地址,电话)
存放(产品编号,仓库编号,制造商编号,产品数量,入库时间)
管理(物流中心编号,仓库编号,送货时间,产品单价)
制造(制造商编号,产品编号,产品批次,产品质量)
运输(仓库编号,零售商编号,运输单价)
4、物理设计
根据以上关系模式构建得数据表结构如表所示。
表1产品表结构
字段名
类型
特殊属性
Char(10)
PEIMARYKEY
产品名称
Char(20)
NOTNULL
产品规格
Char(10)
产品单位
Char(10)
NOTNULL
Char(10)
FOREIGNKEY
表2 零售商结构
Char(10)
PRIMARYEKY
Char(10)
NOT NULL
联系人
NOTNULL
地址
Varchar(30)
NOTNULL
Int
NOT NULL
网站
Char(20)
表3 制造商结构
Char(10)
PRIMARY EKY
Char(10)
ﻩNOT NULL
Char(10)
NOTNULL
Varchar(30)
NOTNULL
Char(20)
NOTNULL
Char(20)
表4物流中心结构
Char(10)
PRIMARYEKY
NOT NULL
Char(10)
Varchar(30)
Char(20)
NOTNULL
PRIMARYKEY
Char(20)
NOT NULL
Varchar(30)
NOT NULL
Char(20)
NOTNULL
表5 仓库表结构
表6存放表结构
Char(10)
PRIMARYKEY,FOREIGNKEY
PRIMARYKEY,FOREIGNKEY
产品数量
Int
入库时间
Char(10)
NOT NULL
表7管理表结构
PRIMARY KEY,FOREIGN KEY
Char(10)
PRIMARYKEY,FOREIGNKEY
产品单价
Int
送货日期
表8 制造表结构
PRIMARY KEY,FOREIGNKEY
Char(10)
PRIMARYKEY,FOREIGNKEY
产品批次
NOT NULL
产品质量
表9 运输表结构
PRIMARYKEY,FOREIGNKEY
Char(10)
PRIMARYKEY,FOREIGNKEY
运输单价
Int
表10提取表结构
PRIMARYKEY,FOREIGNKEY
Char(10)
PRIMARYKEY,FOREIGN KEY
货物价格
NOT NULL
5、系统实现
1、数据库及其基本表得建立
数据库得建立用企业管理器,基本表得建立用T—SQL语句。
数据库名称:
WL_System
1、创建表
CreatedatabaseWL_System
on
(
name='
wl_system_data',
=
'C:
\SQLhomework\wl_system_data、mdf'
size=10mb,maxsize=50mb,=2mb
)
LOGON
name='
wl_system_log'
='
C:
\SQLhomework\wl_system_log、ldf'
size=10mb,
maxsize=50mb,
=2mb
2、建立基本表结构
USE WL_System
Go
Createtable制造商
制造商编号char(10)primarykey,
ﻩ名称char(10)NOTNULL,
联系人char(10)NOTNULL,
地址varchar(30),
电话号码char(20)NOTNULL,
ﻩ网站char(20)
--drop table制造商
Createtable产品
ﻩ产品编号char(10)primarykey,
产品名称char(20)NOTNULL,
产品规格char(10),
产品单位char(10)NOTNULL,
制造商编号char(10),
Foreignkey(制造商编号)references制造商(制造商编号),
Create table零售商
ﻩ零售商编号char(10)primarykey,
ﻩ名称char(10)NOTNULL,
联系人char(10)NOTNULL,
地址char(30)NOTNULL,
ﻩ电话号码IntNOTNULL,
网站char(20)
--droptable 零售商
Createtable 物流中心
ﻩ物流中心编号char(10) primarykey,
ﻩ名称char(10)NOTNULL,
ﻩ联系人char(10)NOTNULL,
地址Varchar(30),
电话号码char(20)NOTNULL,
ﻩ网站char(10)
--droptable物流中心
Createtable仓库
ﻩ仓库编号char(10)primary key,
ﻩ库名char(20)NOTNULL,
地址varchar(30)NOT NULL,
电话char(20)NOT NULL
--droptable 仓库
Createtable存放
ﻩ产品编号char(10),
ﻩ仓库编号char(10),
制造商编号char(10),
ﻩ产品数量int,
入库时间char(10)NOT NULL,
primary key(仓库编号,产品编号),
Foreign key (仓库编号)references仓库(仓库编号),
ﻩForeignkey(产品编号)references产品(产品编号)
--drop table 存放
Createtable管理
物流中心编号char(10),
仓库编号char(10),
产品单价int,
ﻩ送货日期char(10),
primary key(物流中心编号,仓库编号),
ﻩForeign key(物流中心编号)references物流中心(物流中心编号),
ﻩForeign key(仓库编号)references仓库(仓库编号)
--droptable管理
Createtable制造
制造商编号char(10),
产品编号char(10),
产品批次char(10)NOTNULL,
ﻩ产品质量int NOTNULL,
ﻩprimarykey(制造商编号,产品编号),
ﻩForeignkey (制造商编号)references制造商(制造商编号),
Foreignkey(产品编号)references产品(产品编号)
--droptable制造
Create table运输
ﻩ零售商编号char(10),
仓库编号char(10),
运输单价int NOTNULL,
primarykey(零售商编号,仓库编号),
ﻩForeignkey (零售商编号)references 零售商(零售商编号),
ﻩForeignkey(仓库编号)references仓库(仓库编号)
--droptable运输
Createtable提取
物流中心编号char(10),
ﻩ产品编号char(10),
ﻩ货物价格intNOT NULL,
ﻩprimarykey(物流中心编号,产品编号),
Foreignkey(物流中心编号)references物流中心(物流中心编号),
ﻩForeign key(产品编号)references产品(产品编号)
--droptable提取
3、输入数据(其余9组输入在最后)
insertinto制造商
values
'
001','钢笔公司'
'
王女士','
tian津'
,'
2297369','
insert into零售商
values
003'
学五超市','
李女士'
舔大'
'022110'
insert into产品
values
998'
钢笔'
英雄'
根','
001'
insertinto物流中心
values
009'
圆通快递'
圆通大爷'
'舔大'
02119','
insertinto仓库
values
001','
南开仓库','
南大'
'120'
insert into 存放
values
998','
001'
002'
56','Jul7'
insertinto管理
values
'009'
'001'
100'
Jul_1st'
insert into制造
values
001'
998'
3'
,'1'
insertinto运输
values
'003'
001','
100'
4、创建索引
--索引
(1)
Create nonclusteredindex制造商I
on制造商(制造商编号)
Createnonclusteredindex 零售商I
on零售商(零售商编号)
(2)
createindex物流中心I
on物流中心(物流中心编号)
createindex库存
on仓库(库名,地址)
5、创建视图
Create viewvw制造商
As
Select名称,联系人,地址,电话号码,网站
from制造商
Create view vw零售商
Select名称,联系人,地址,电话号码,网站
from零售商
6、创建存储过程
--存储过程~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)数据检索
1、制造商、零售商查询某一产品名称,规格与单位
产品名称,产品规格,产品单位,制造商编号
Createprocedure产品_into(Nochar(10)=null)
As
ifNo is null
ﻩﻩbegin
ﻩprint'
请输入产品编号'
ﻩend
ﻩelse
begin
ﻩSelect 产品名称,产品规格,产品单位,制造商编号
ﻩfrom 产品
ﻩwhereNo=产品、产品编号
End
execute产品_into'998'
--drop procedure产品_into
2、物流中心、制造商查询某一零售商名称,联系人,地址,电话号码,网址
输入:
零售商名称,联系人,地址,电话号码,网址
Createprocedure零售商_into(Nochar(10)=null)
As
ifNoisnull
ﻩbegin
ﻩﻩﻩprint'请输入零售商编号'
end
ﻩelse
ﻩbegin
Select名称,联系人,地址,电话号码,网站
from 零售商
whereNo =零售商、零售商编号
end
--dropprocedure零售商_into
execute零售商_into'
003'
制造商名称,联系人,地址,电话号码,网址
Createprocedure制造商_into(Nochar(10)=null)
As
ifNo isnull
ﻩﻩbegin
ﻩﻩprint'
请输入制造商编号'
else
ﻩbegin
Select名称,联系人,地址,电话号码,网站
ﻩfrom制造商
whereNo=制造商、制造商编号
end
--dropprocedure制造商_into
execute 制造商_into'
002'
4、物流中心、制造商、零售商查询某一产品得出库信息表
输入:
仓库编号,库名,地址,电话
Create procedure 仓库_into(No char(10)=null)
ﻩif Nois null
ﻩﻩprint'请输入仓库编号'
ﻩﻩend
else
begin
ﻩSelect仓库编号,库名,地址,电话
ﻩﻩfrom仓库
where No=仓库、仓库编号
end
--drop procedure仓库_into
execute仓库_into '
001'
5、物流中心、零售商查询某一产品得制造商与产品信息表
输入:
输出:
制造商名称,联系人,地址,电话号码,网站,产品名称,产品名称,产品规格,产品单位
Createprocedure制造商_产品_into(No char(10)=null)
ﻩif Noisnull
begin
ﻩprint'
输入错误,请提供产品编号,即可获得制造商与产品得信息'
else
Select制造商、名称,联系人,地址,电话号码,网站,产品、产品名称,产品名称,产品规格,产品单位
ﻩFrom制造商,产品
where制造商、制造商编号=产品、制造商编号and No=产品、产品编号
ﻩend
execute制造商_产品_into '
--哇咔咔咔咔咔^试了这么久终于成功了!
!
后面得逗号哭瞎了!
两个表真有成就感哈哈~!
--drop procedure制造商_产品_into
编号及产品信息
6、查询某一产品对应得物流中心
物流中心编号,货物价格,提取、产品编号,产品、产品名称,产品名称,产品规格,产品单位
Createprocedure提取_产品_into(Nochar(10)=null)
if No is null
ﻩﻩbegin
ﻩprint'请提供产品编号,即可获得物流与产品得信息'
end
begin
Select 物流中心编号,货物价格,提取、产品编号,产品、产品名称,产品名称,产品规格,产品单位
from提取inner join产品on产品、产品编号=产品、产品编号
where No= 产品、产品编号
end
execute 提取_产品_into '
998'
7、制造商,零售商查询某一物流中心信息
输入:
物理中心名称,联系人,地址,电话号码,网址
Create procedure物流中心_into(Nochar(10)=null)
ﻩifNoisnull
ﻩbegin
ﻩﻩﻩprint'
请输入物流中心编号'
ﻩﻩend
ﻩSelect名称,联系人,地址,电话号码,网站
from物流中心
where No=物流中心、物流中心编号
end
--dropprocedure物流中心_into
execute物流中心_into'
8、输入产品编号,输出产品信息,物流中心信息,制造商信息
Createprocedure 产品_提取_物流中心_制造商_into(Nochar(10)=null)
ifNo isnull
ﻩbegin
ﻩﻩprint'输入错误,请提供产品编号,即可获得物流与产品得信息'
ﻩend
else
ﻩbegin
ﻩSelect物流中心、物流中心编号,货物价格,提取、产品编号,产品、产品名称,产品规格,产品单位,制造商、制造商编号,制造商、名称as制造商名称,
ﻩﻩ物流中心、名称as物流名称,物流中心、电话号码as物流电话
ﻩﻩfrom 提取,产品,制造商,物流中心
where No=产品、产品编号and提取、产品编号=产品、产品编号
ﻩand产品、制造商编号=制造商、制造商编号and物流中心、物流中心编号=提取、物流中心编号
end
--dropprocedure产品_提取_物流中心_制造商_into
exec产品_提取_物流中心_制造商_into'
插入产品数据
createprocedure产品数据插入
产品编号char(10),产品名称char(20),
产品规格char(10),产品单位char(10),制造商编号char(10)
as
insertinto产品
values(产品编号,产品名称,产品规格,产品单位,制造商编号)
execute产品数据插入'111'
'铅笔'
中华'
支'
execute 制造商_产品_into '
111'
插入制造商、零售商、物流中心数据
createprocedure 数据零售商插入
零售商编号char(10),联系人char(10),
地址char(10),电话char(10),网址char(20)
as
insertinto产品
values(零售商编号,联系人,地址,电话,网址)
createprocedure数据制造商插入
制造商编号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)
insertinto产品
values(物流中心编号,联系人,地址,电话,网址)
(3)数据修改
1产品数据修改:
某产品数据变化时,输入该产品编号以及需修改得属性,完成对产品表得修改
createprocedure产品数据修改(产品编号char(10),
产品名称char(20)=产品名称,产品规格char(10)=产品规格,
产品单位char(10)=产品单位,制造商编号char(10)=制造商编号)
as
update产品
set产品名称=产品名称,产品规格=产品规格,产品单位=产品单位,制造商编号=制造商编号
where产品编号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物流 管理 系统 SQL 数据库 设计 代码