物流管理系统数据库设计Word文档格式.docx
《物流管理系统数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《物流管理系统数据库设计Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
![物流管理系统数据库设计Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/6/2a1b41ca-9e9d-4cb7-93aa-4ffbebfbd4dd/2a1b41ca-9e9d-4cb7-93aa-4ffbebfbd4dd1.gif)
首先,定义全局概念结构的框架,如图2.2所示。
图2.2物流管理系统全局概念结构
3.数据字典
全局分析之后,开始构造数据字典。
经分析之后,本系统要用到六个基本表:
卖家信息表,货物信息表,消费者信息表,业务信息表,选择信息表,运输信息表,数据结构如下表所示。
表2.3数据结构定义
数据结构名
含义说明
组成
卖家信息表
定义了卖家的信息
卖家身份证号、姓名、年龄、电话、住址
货物信息表
定义了货物的有关信息
货物名、货号、体积、重包装类型
消费者信息表
定义了消费者
的有关信息
消费者身份证号、姓名、年龄、电话、住址
业务信息表
定义了业务相关有关信息
业务员号、接洽时间、发货站、发货城市、收发站、收货城市
选择信息表
定义了选择的有关信息
业务员号、消费者身份证号、货物名、费用
运输信息表
定义了运输的有关信息
卖家身份证号、货物名、发货时间
第三章概念结构设计
3.1概念结构设计的方法与步骤
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。
对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。
3.2数据抽象与局部视图设计
按照图2.2智丰物流管理系统总框架图,设计实体属性图以及局部E-R图。
……
3.3视图的集成
经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.5总体概念结构E-R图。
图3.5系统总体结构E-R图
第四章逻辑结构设计
4.1E-R图向关系模型的转换
将图2.2总体概念结构E-R图转化成关系模型。
将转化的关系模式进行优化,最终达到第三范式。
(至少包括4张表,每个表都有主键,设必要的外键。
)
卖家信息(ID号,,姓名,年龄,电话,住址);
货物信息(货物名,货号,体积,重量,包装类型);
消费者信息(ID号,姓名,年龄,电话,住址);
业务信息(业务员号,接洽时间,发货站,发货城市,收货站,收货城市);
选择信息(选择号,业务员号,消费者ID号,货物名,费用);
运输信息(运输号,卖家ID号,货物名,发货时间)
4.2基本表结构
根据总体结构图设计各表的结构,其相应表的定义如下:
表4-1卖家信息表的结构
字段名
数据类型
长度
约束
描述
SeID
char
20
主键、非空
卖家身份证
Sname
10
唯一、非空
卖家姓名
Age
唯一、允许空
年龄
Tell
电话
Adr
住址
表4-2货物信息表的结构
Gname
货物名
Gno
货物号
Volume
体积
Weight
重量
Pack
包装类型
表4-3消费者信息表的结构
CID
消费者身份证
Cname
消费者姓名
表4-4业务信息表的结构
Ono
4
业务员号
Jtime
接洽时间
Fhz
发货站
Fhcity
发货城市
Shz
收货站
Shcity
收货城市
表4-5选择信息表的结构
Xno
选择号
外键、非空
消费者ID
Cost
float
费用
表4.6运输信息表的结构
Yno
运输号
外键、唯一、非空
卖家ID
外键,非空
Ftime
唯一,非空
发货时间
第五章数据库的实现
5.1数据库的建立
createdatabase智丰物流管理系统
onprimary
(
name=智丰物流管理系统,
filename='
C:
\MSDE2000MSSQL\Data\智丰物流管理系统_data.mdf'
size=1MB,
maxsize=10MB,
filegrowth=4MB
logon
(
name=智丰物流管理_log,
\MSDE2000MSSQL\Data\智丰物流管理系统_log.ldf'
5.2数据库基本结构的建立
1、基本表的建立
业务信息表:
createtable业务信息表
(Onochar(4)primarykey,
Jtimechar(10)notnull,
Fhzchar(10)notnull,
Fhcitychar(10)notnull,
Shzchar(10)notnull,
Shcitychar(10)notnull,
);
消费者信息表表:
createtable消费者信息表
(CIDchar(20)primarykey,
Cnamechar(10)notnull,
Agechar(10),
Tellchar(20)notnull,
Adrchar(20)
);
卖家信息表表:
createtable卖家信息表
(SeIDchar(20)primarykey,
Snamechar(10)notnull,
Agechar(10),
Adrchar(20)notnull
货物信息表表:
createtable货物信息表
(Gnamechar(10)primarykey,
Gnochar(10)notnull,
Volumechar(10),
Weightchar(10),
Packchar(10))
选择表:
createtable选择表
(Xnochar(10),
Onochar(4),
CIDchar(20),
Gnamechar(10),
Costchar(10),
primarykey(Xno,Ono,CID,Gname),
foreignkey(Ono)referencesbusiness(Ono),
foreignkey(CID)referencesconsumer(CID),
foreignkey(Gname)referencesgoods(Gname)
运输表:
(Ynochar(10),
SeIDchar(20),
Ftimechar(10)notnull,
primarykey(Yno,SeID,Gname),
foreignkey(SeID)referencesseller(SeID),
)
2、添加数据
向卖家表中添加大张的各数据:
insertintoseller(SeID,Sname,Age,Tell,Adr)
values('
2001002'
'
小李'
23'
18842665639'
辽宁省大连市'
3、视图的建立
Createviewst
As
SelectTell,Adr
From卖家信息表
WhereSname='
小张'
4、索引的建立
为每张基本表设计一个聚簇索引,并至少为其中一张表设计一个唯一索引。
写出相关的SQL语句(聚簇,唯一各写一个即可)。
createclusteredindexsy1
on货物信息表(Gname);
createclusteredindexsy2
on卖家信息表(SeID);
createclusteredindexsy3
on消费者信息表(CID);
createclusteredindexsy4
on选择表(Xno);
createclusteredindexsy5
on业务信息表(Ono);
createclusteredindexsy6
on运输表(Yno);
createuniqueindexsy7
on卖家信息表(Sname);
5、游标的建立
根据应用要求,为其中一个基本表设计游标,并利用该游标修改数据,写出SQL语句。
Declarecs_cursorscrollcursor
For
SelectGname,Gno,Volume
From货物信息表
Opencs_cursor
Fetchfromcs_cursor
Update货物信息表
SetVolume='
Wherecurrentofcs_cursor
Fetchabsolute2fromcs_cursor
6、存储过程的建立
根据应用要求,至少设计一个存储过程,写出SQL语句。
Createprocedurecunchu
As
SelectSname
5.3安全性的实现
1、利用图形化工具
为了提高安全性,建立系统用户,SQLSERVER用户,数据库用户,写出你所建立的三个用户名。
系统用户:
login
SQLSERVER用户:
login
数据库用户:
SQLSERVER用户:
sysadmin
db_accessadmin
2、利用Transact-SQL
设计一个SQLserver登录账户,并设置密码,写出相应的SQL语句。
Sp_addlogin'
dongdong'
123'
为登录帐户,设计创建一个数据库用户,写出相应的SQL语句。
Sp_grantdbaccess'
abc'
为数据库用户创建数据库角色,写出相应的SQL语句。
Sp_addrolemember'
db_owner'
5.4完整性的实现
1、UNIQUE约束
alterTABLE消费者信息表
addconstraintunique_Cname
Uniquenonclustered(Cname)
2、CHECK约束
Altertable卖家信息表
addconstraintcheck_Adr
Check(Adr='
3、DEFAULT约束
Altertable货物信息表
Addconstraintdefault_Volume
default29forVolume
4、NOTNULL约束
alter业务信息表
altercolumnOnochar(4)notnull;
5、规则
Createruledybh_ruleas@Age>
=24and@Age<
=40
sp_bindruledybh_rule,'
消费者信息表.Age'
;
5.5恢复技术的实现
完成所有数据的设计工作后,备份数据库,写出备份文件存放位置和文件名。
\ProgramFiles\MicrosoftSQLServer\MSSQL\LOG\wl1120724\智丰物流管理系统.bak
第六章运行与结果
6.1简单查询和连接查询
1、简单查询
设计两个简单查询,写出相应的SQL语句,并对查询结果截图。
(1)查询消费者信息表的内容
select*
from消费者信息表
(2)查询辽宁省大连市的卖家信息:
select*
whereAdr='
2、连接查询
设计两个连接查询,写出相应的SQL语句,并对查询结果截图。
(1)卖家与货物表连接查询:
select卖家信息表.*,运输表.*
from卖家信息表,运输表
where卖家信息表.SeID=运输表.SeID
(2)查询货物是灯管的卖家信息:
select卖家信息表.SeID,Sname,Adr,Ftime
where卖家信息表.SeID=运输表.SeIDand运输表.Gname='
灯管'
6.2嵌套查询
(1)查询卖家号为2001003的卖家名和住址:
selectSname,Adr
from卖家信息表
whereSeIDin
(selectSeID
from运输表
whereSeID='
2001003'
(2)查询货物体积为23的卖家身份证号,姓名,电话:
selectSeID,Sname,Tell
from卖家信息表
whereSeIDin
(selectSeID
whereGnamein(selectGname
from货物信息表
whereVolume='
))
6.3组合查询和统计查询
1、组合查询
设计两个组合查询语句,写出相应的SQL语句,并对查询结果截图。
(1)查询货物体积大于9的货物名称,体积:
selectGname,Volume
groupbyGname,Volume
havingVolume>
=9
(2)查询费用大于等40的操作员号货物名称,费用,按费用降序排序:
selectOno,Gname,cost
from选择表
groupbyOno,Gname,cost
havingcost>
orderbycostdesc;
2、统计查询
设计两个统计查询语句,写出相应的SQL语句,并对查询结果截图。
(1)统计业务员的个数:
selectcount(Ono)total
From选择表
(2)查询辽宁省大连市买家的平均运费:
selectavg(Cost)
From选择表
WhereCIDin
(selectCID
From选择表
WhereCIDin
From消费者信息表
WhereAdr='
))