物流管理系统的SQL数据库设计说明.docx

上传人:b****9 文档编号:25323098 上传时间:2023-06-07 格式:DOCX 页数:46 大小:88.04KB
下载 相关 举报
物流管理系统的SQL数据库设计说明.docx_第1页
第1页 / 共46页
物流管理系统的SQL数据库设计说明.docx_第2页
第2页 / 共46页
物流管理系统的SQL数据库设计说明.docx_第3页
第3页 / 共46页
物流管理系统的SQL数据库设计说明.docx_第4页
第4页 / 共46页
物流管理系统的SQL数据库设计说明.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

物流管理系统的SQL数据库设计说明.docx

《物流管理系统的SQL数据库设计说明.docx》由会员分享,可在线阅读,更多相关《物流管理系统的SQL数据库设计说明.docx(46页珍藏版)》请在冰豆网上搜索。

物流管理系统的SQL数据库设计说明.docx

物流管理系统的SQL数据库设计说明

物流管理信息系统的数据库设计

班级

xxx

系统名称:

物流管理信息系统

一、需求分析

物流管理系统是为制造商和零售商设计的管理系统数据库系统,目的是:

1、实现上游制造商的信息管理。

2、实现下游零售商的信息管理。

3、实现进库与配送的信息管理。

从而提高物流效率,降低物流成本并提高企业管理化水平。

经过调研分析,得到系统的如下功能需求。

(1)数据检索

1、制造商、零售商查询某一产品名称,规格和单位

输入:

产品编号

输出:

产品名称,产品规格,产品单位,制造商编号

2、物流中心、制造商查询某一零售商名称,联系人,地址,,网址

输入:

零售商编号

输出:

零售商名称,联系人,地址,,网址

3、零售商、物流中心查询某一制造商信息表

输入:

制造商编号

输出:

制造商名称,联系人,地址,,网址

4、物流中心、制造商、零售商查询某一产品的出库信息表

输入:

仓库编号

输出:

仓库编号,库名,地址,

5、物流中心、零售商查询某一产品的制造商和产品信息表

输入:

产品编号编号

输出:

制造商名称,联系人,地址,,,产品名称,产品名称,产品规格,产品单位

6、查询某一产品对应的物流中心编号与产品信息

输入:

产品编号

输出:

物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位

7、制造商,零售商查询某一物流中心信息

输入:

物流中心编号

输出:

物理中心名称,联系人,地址,,网址

(2)数据插入

①产品数据插入

②制造商数据插入

③零售商数据插入

④物流中心数据插入

(3)数据修改

①产品数据修改:

某产品数据变化时,输入该产品编号以与需修改的属性,完成对产品表的修改

②制造商数据修改:

某制造商数据变化时,输入该制造商编号以与需修改的属性,完成对制造商表的修改

③零售商数据修改:

某零售商数据变化时,输入该零售商编号以与需修改的属性,完成对零售商的修改

④物流中心数据修改:

某物流中心数据变化时,输入该物流中心编号以与需修改的属性,完成对物流中心的修改

二、概念设计

经需求分析,抽象出以下E-R模型

(1)制造商实体

制造商编号

号码

制造商

 

(2)物流中心实体

号码

物流中心编号

物流中心

 

(3)零售商实体

零售商编号

号码

零售商

 

(4)产品实体

单位

名称

 

(5)仓库实体

库名

 

(6)全局E-R图

 

 

三、逻辑设计

产品(产品编号,产品名称,产品规格,产品单位,制造商编号)

零售商(零售商编号,名称,联系人,地址,,)

制造商(制造商编号,名称,地址,联系人,,)

物流中心(物流中心编号,名称,联系人,地址,,)

仓库(仓库编号,库名,地址,)

存放(产品编号,仓库编号,制造商编号,产品数量,入库时间)

管理(物流中心编号,仓库编号,送货时间,产品单价)

制造(制造商编号,产品编号,产品批次,产品质量)

运输(仓库编号,零售商编号,运输单价)

四、物理设计

根据以上关系模式构建的数据表结构如表所示。

表1产品表结构

字段名

类型

特殊属性

产品编号

Char(10)

PEIMARYKEY

产品名称

Char(20)

NOTNULL

产品规格

Char(10)

产品单位

Char(10)

NOTNULL

制造商编号

Char(10)

FOREIGNKEY

 

表2零售商结构

字段名

类型

特殊属性

零售商编号

Char(10)

PRIMARYEKY

名称

Char(10)

NOTNULL

联系人

Char(10)

NOTNULL

地址

Varchar(30)

NOTNULL

Int

NOTNULL

Char(20)

 

表3制造商结构

字段名

类型

特殊属性

制造商编号

Char(10)

PRIMARYEKY

名称

Char(10)

NOTNULL

联系人

Char(10)

NOTNULL

地址

Varchar(30)

NOTNULL

Char(20)

NOTNULL

Char(20)

 

表4物流中心结构

字段名

类型

特殊属性

物流中心编号

Char(10)

PRIMARYEKY

名称

Char(10)

NOTNULL

联系人

Char(10)

NOTNULL

地址

Varchar(30)

NOTNULL

Char(20)

NOTNULL

Char(10)

 

字段名

类型

特殊属性

仓库编号

Char(10)

PRIMARYKEY

库名

Char(20)

NOTNULL

地址

Varchar(30)

NOTNULL

Char(20)

NOTNULL

表5仓库表结构

 

表6存放表结构

字段名

类型

特殊属性

产品编号

Char(10)

PRIMARYKEY,FOREIGNKEY

仓库编号

Char(10)

PRIMARYKEY,FOREIGNKEY

制造商编号

Char(10)

产品数量

Int

入库时间

Char(10)

NOTNULL

 

表7管理表结构

字段名

类型

特殊属性

物流中心编号

Char(10)

PRIMARYKEY,FOREIGNKEY

仓库编号

Char(10)

PRIMARYKEY,FOREIGNKEY

产品单价

Int

送货日期

Char(10)

表8制造表结构

字段名

类型

特殊属性

制造商编号

Char(10)

PRIMARYKEY,FOREIGNKEY

产品编号

Char(10)

PRIMARYKEY,FOREIGNKEY

产品批次

Char(10)

NOTNULL

产品质量

Int

NOTNULL

 

表9运输表结构

字段名

类型

特殊属性

零售商编号

Char(10)

PRIMARYKEY,FOREIGNKEY

仓库编号

Char(10)

PRIMARYKEY,FOREIGNKEY

运输单价

Int

NOTNULL

 

表10提取表结构

字段名

类型

特殊属性

物流中心编号

Char(10)

PRIMARYKEY,FOREIGNKEY

产品编号

Char(10)

PRIMARYKEY,FOREIGNKEY

货物价格

Int

NOTNULL

 

五、系统实现

1、数据库与其基本表的建立

数据库的建立用企业管理器,基本表的建立用T—SQL语句。

数据库名称:

WL_System

1、创建表

CreatedatabaseWL_System

on

name='wl_system_data',

filename=

'C:

\SQLhomework\wl_system_data.mdf',

size=10mb,maxsize=50mb,filegrowth=2mb

LOGON

name='wl_system_log',

filename='C:

\SQLhomework\wl_system_log.ldf',

size=10mb,

maxsize=50mb,

filegrowth=2mb

2、建立基本表结构

USEWL_System

Go

Createtable制造商

制造商编号char(10)primarykey,

名称char(10)NOTNULL,

联系人char(10)NOTNULL,

地址varchar(30),

char(20)NOTNULL,

char(20)

--droptable制造商

Createtable产品

产品编号char(10)primarykey,

产品名称char(20)NOTNULL,

产品规格char(10),

产品单位char(10)NOTNULL,

制造商编号char(10),

Foreignkey(制造商编号)references制造商(制造商编号),

Createtable零售商

零售商编号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)primarykey,

库名char(20)NOTNULL,

地址varchar(30)NOTNULL,

char(20)NOTNULL

--droptable仓库

Createtable存放

产品编号char(10),

仓库编号char(10),

制造商编号char(10),

产品数量int,

入库时间char(10)NOTNULL,

primarykey(仓库编号,产品编号),

Foreignkey(仓库编号)references仓库(仓库编号),

Foreignkey(产品编号)references产品(产品编号)

--droptable存放

Createtable管理

物流中心编号char(10),

仓库编号char(10),

产品单价int,

送货日期char(10),

primarykey(物流中心编号,仓库编号),

Foreignkey(物流中心编号)references物流中心(物流中心编号),

Foreignkey(仓库编号)references仓库(仓库编号)

--droptable管理

Createtable制造

制造商编号char(10),

产品编号char(10),

产品批次char(10)NOTNULL,

产品质量intNOTNULL,

primarykey(制造商编号,产品编号),

Foreignkey(制造商编号)references制造商(制造商编号),

Foreignkey(产品编号)references产品(产品编号)

--droptable制造

Createtable运输

零售商编号char(10),

仓库编号char(10),

运输单价intNOTNULL,

primarykey(零售商编号,仓库编号),

Foreignkey(零售商编号)references零售商(零售商编号),

Foreignkey(仓库编号)references仓库(仓库编号)

 

--droptable运输

Createtable提取

物流中心编号char(10),

产品编号char(10),

货物价格intNOTNULL,

primarykey(物流中心编号,产品编号),

Foreignkey(物流中心编号)references物流中心(物流中心编号),

Foreignkey(产品编号)references产品(产品编号)

--droptable提取

3、输入数据(其余9组输入在最后)

insertinto制造商

values

'001','钢笔公司','王女士','tian津','2297369','.kengni.'

insertinto零售商

values

'003','学五超市','女士','舔大','022110','.kengnitju.'

insertinto产品

values

'998','钢笔','英雄','根','001'

insertinto物流中心

values

'009','圆通快递','圆通大爷','舔大','02119','.yt.'

insertinto仓库

values

'001','南开仓库','南大','120'

insertinto存放

values

'998','001','002','56','Jul7'

 

insertinto管理

values

'009','001','100','Jul_1st'

insertinto制造

values

'001','998','3','1'

insertinto运输

values

'003','001','100'

4、创建索引

--索引

(1)

Createnonclusteredindex制造商I

on制造商(制造商编号)

Createnonclusteredindex零售商I

on零售商(零售商编号)

(2)

createindex物流中心I

on物流中心(物流中心编号)

createindex库存

on仓库(库名,地址)

5、创建视图

Createviewvw制造商

As

Select名称,联系人,地址,,

from制造商

Createviewvw零售商

As

Select名称,联系人,地址,,

from零售商

6、创建存储过程

--存储过程~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(1)数据检索

1、制造商、零售商查询某一产品名称,规格和单位

输入:

产品编号

输出:

产品名称,产品规格,产品单位,制造商编号

Createprocedure产品_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请输入产品编号'

end

else

begin

Select产品名称,产品规格,产品单位,制造商编号

from产品

whereNo=产品.产品编号

End

execute产品_into'998'

--dropprocedure产品_into

2、物流中心、制造商查询某一零售商名称,联系人,地址,,网址

输入:

零售商编号

输出:

零售商名称,联系人,地址,,网址

Createprocedure零售商_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请输入零售商编号'

end

else

begin

Select名称,联系人,地址,,

from零售商

whereNo=零售商.零售商编号

end

--dropprocedure零售商_into

execute零售商_into'003'

3、零售商、物流中心查询某一制造商信息表

输入:

制造商编号

输出:

制造商名称,联系人,地址,,网址

Createprocedure制造商_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请输入制造商编号'

end

else

begin

Select名称,联系人,地址,,

from制造商

whereNo=制造商.制造商编号

end

--dropprocedure制造商_into

execute制造商_into'002'

4、物流中心、制造商、零售商查询某一产品的出库信息表

输入:

仓库编号

输出:

仓库编号,库名,地址,

Createprocedure仓库_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请输入仓库编号'

end

else

begin

Select仓库编号,库名,地址,

from仓库

whereNo=仓库.仓库编号

end

--dropprocedure仓库_into

execute仓库_into'001'

5、物流中心、零售商查询某一产品的制造商和产品信息表

输入:

产品编号编号

输出:

制造商名称,联系人,地址,,,产品名称,产品名称,产品规格,产品单位

Createprocedure制造商_产品_into(Nochar(10)=null)

As

ifNoisnull

begin

print'输入错误,请提供产品编号,即可获得制造商和产品的信息'

end

else

begin

Select制造商.名称,联系人,地址,,,产品.产品名称,产品名称,产品规格,产品单位

From制造商,产品

where制造商.制造商编号=产品.制造商编号andNo=产品.产品编号

end

execute制造商_产品_into'998'

--哇咔咔咔咔咔^试了这么久终于成功了!

!

!

后面的逗号哭瞎了!

!

两个表真有成就感哈哈~!

--dropprocedure制造商_产品_into

编号与产品信息

输入:

产品编号

 

6、查询某一产品对应的物流中心

输出:

物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位

Createprocedure提取_产品_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请提供产品编号,即可获得物流和产品的信息'

end

else

begin

Select物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品名称,产品规格,产品单位

from提取innerjoin产品on产品.产品编号=产品.产品编号

whereNo=产品.产品编号

end

 

execute提取_产品_into'998'

7、制造商,零售商查询某一物流中心信息

输入:

物流中心编号

输出:

物理中心名称,联系人,地址,,网址

Createprocedure物流中心_into(Nochar(10)=null)

As

ifNoisnull

begin

print'请输入物流中心编号'

end

else

begin

Select名称,联系人,地址,,

from物流中心

whereNo=物流中心.物流中心编号

end

--dropprocedure物流中心_into

execute物流中心_into'009'

8、输入产品编号,输出产品信息,物流中心信息,制造商信息

Createprocedure产品_提取_物流中心_制造商_into(Nochar(10)=null)

As

ifNoisnull

begin

print'输入错误,请提供产品编号,即可获得物流和产品的信息'

end

else

begin

Select物流中心.物流中心编号,货物价格,提取.产品编号,产品.产品名称,产品规格,产品单位,制造商.制造商编号,制造商.名称as制造商名称,

物流中心.名称as物流名称,物流中心.as物流

from提取,产品,制造商,物流中心

whereNo=产品.产品编号and提取.产品编号=产品.产品编号

and产品.制造商编号=制造商.制造商编号and物流中心.物流中心编号=提取.物流中心编号

end

--dropprocedure产品_提取_物流中心_制造商_into

exec产品_提取_物流中心_制造商_into'998'

(2)数据插入

插入产品数据

createprocedure产品数据插入

产品编号char(10),产品名称char(20),

产品规格char(10),产品单位char(10),制造商编号char(10)

as

insertinto产品

values(产品编号,产品名称,产品规格,产品单位,制造商编号)

execute产品数据插入'111','铅笔','中华','支','002'

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

insertinto产品

values(制造商编号,联系人,地址,,网址)

createprocedure数据物流中心插入

物流中心编号char(10),联系人char(10),地址char(10),char(10),网址char(20)

as

insertinto产品

values(物流中心编号,联系人,地址,,网址)

(3)数据修改

1产品数据修改:

某产品数据变化时,输入该产品编号以与需修改的属性,完成对产品表的修改

 

createprocedure产品数据修改(产品编号char(10),

产品名称char(20)=产品名称,产品规格char(10)=产品规格,

产品单位char(10)=产品单位,制造商编号char(10)=制造商编号)

as

update产品

set产品名称=产品名称,产品规格=产品规格,产品单位=产品单位,制造商编号=制造商编号

where产品编号=产品编号

execute产品数据修改'998','英雄2','黑笔','支','002'

2制造商数据修改:

某制造商数据变化时,输入该制造商编号以与需修改的属性,完成对制造商表的修改

 

createprocedure制造商数据修改

制造商编号char(10),

联系人char(10)=联系人,地址char(20)=地址,

char(10)=,char(20)=

as

update制造商

set制造商编号=制造商编号,联系人=联系人,地址=地址,=,=

where制造商编号=制造商编号

 

3零售商数据修改:

某零售商数据变化时,输入该零售商编号以与需修改的属性,完成对零售商的修改

createprocedure零售商数据修改

零售商编号char(10),

联系人char(10)=联系人,地址char(20)=地址,

c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1