物流管理系统数据库设计

摘要

随着数据管理规模一再扩大,数据量急剧增加,为了为提高效率,人们在倒排文件系统的系统上,潜心研究,现如今,数据库技术的发展和出现使计算机应用渗透到社会的各个领域。数据库技术已经成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。

我所做的是智丰物流管理系统,目的是为了帮助智丰物流公司更好的实行自动化管理,减少了投入的人力、精力,能让数据存储在计算机内,能够有组织的,统一管理公司的业务。我利用课本中的知识,通过需求分析,概念设计,逻辑设计,及数据库的实施和运行等阶段,为智丰物流公司设计了一个小型数据库。

关键词:SQL SERVER;数据库设计;智丰物流管理系统

目录

第一章绪论 ...................................................... 错误!未定义书签。

1.1课题简介.................................................................................................... - 1 -

1.2设计目的.................................................................................................... - 1 -

1.3设计内容.................................................................................................... - 1 -第二章需求分析 ........................................................................... - 2 -

2.1 需求分析的任务....................................................................................... - 2 -

2.2 需求分析的过程....................................................................................... - 2 -

2.3数据字典与流程图.................................................................................... - 2 -第三章概念结构设计 (4)

3.1 概念结构设计的方法与步骤 (4)

3.2 数据抽象与局部视图设计 (4)

3.3视图的集成 (5)

第四章逻辑结构设计................................................................... - 7 -

4.1 E-R图向关系模型的转换 ........................................................................ - 8 -

4.2 数据库关系图............................................................. 错误!未定义书签。第五章数据库的实现 (9)

5.1数据库的建立 (9)

5.2 数据库基本结构的建立 (9)

5.3安全性的实现 (13)

5.4完整性的实现 (13)

5.5恢复技术的实现 (14)

第六章运行与结果 (15)

6.1简单查询和连接查询 (15)

6.2嵌套查询 (16)

6.3组合查询和统计查询 (17)

第一章绪论

1.1课题简介

“数据库原理及应用”是一门既有较强的理论性,又有较强的实践性的专业基础课程,需要把理论知识和实际应用紧密结合起来。这次课程设计就是对本学期所学的“数据库原理及应用”这本书从第二章开始到第六章的实践,我的例子是“智丰物流管理系统”,通过对物流公司内部管理来实现数据库的功能。

1.2设计目的

这学期学习完数据库的理论知识,然后用自己的电脑实践,用“智丰物流管理系统”来举例用理论来联系实践,了解并掌握了数据库管理系统的基本原理和数据库系统设计的方法,培养了我应用及设计数据库的能力。

1.3设计内容

我选择的是智丰物流管理系统,通过亲身实践,我了解物流管理的结构,需要了解卖家、消费者、货物之间的关系,首先,它们被输入到数据库后,能够查询,修改和删除,然后通过建立键的关系,来建立表的联系,然后通过需求分析,了解了需求分析的过程和目的,建立数据字典,概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。

第二章需求分析

2.1 需求分析的任务

我需要了解“智丰物流管理系统”的整个应用情况,并对它进行全面、详细的调查,确定物流管理系统的目标,就是高效,自动化管理货物及卖家、消费者之间的关系,收集信息,管理信息,了解系统将来要发生的变化,收集未来应用所涉及的数据,分析数据流程,处理数据,数据的安全性、完整性的处理要求。

2.2 需求分析的过程

建立业务信息、货物信息、卖家信息、消费者信息;完成业务信息、货物信息、卖家信息、消费者信息;业务实体包括操作员、发货城市、发货站、费用、接洽时间、收货站、收货城市,一个收货人选择业务,收货人包括姓名、身份证号码、年龄、电话、地址,一个收货人要网购一种货物,一个货物有标签、名称、体积、重量、包装类型。货物由发货人统一发送,发货人包括姓名、身份证号码、电话、地址。

2.3数据字典与流程图

1.业务流程分析

经过可行性分析和初步需求调查,抽象出该物流业务流程图。如图2.1所示

图2.1物流管理系统流程图

2.系统模块分析

在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。

图2.2 物流管理系统全局概念结构

3.数据字典

全局分析之后,开始构造数据字典。经分析之后,本系统要用到六个基本表:卖家信息表,货物信息表,消费者信息表,业务信息表,选择信息表,运输信息表,数据结构如下表所示。

表2.3数据结构定义

第三章概念结构设计

3.1 概念结构设计的方法与步骤

概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。

3.2 数据抽象与局部视图设计

按照图2.2智丰物流管理系统总框架图,设计实体属性图以及局部E-R图。

图3.1卖家信息实体属性图

图3.2货物信息实体属性图

图3.3消费者信息实体属性图

图3.4业务信息实体属性图

……

3.3视图的集成

经过逐步细化再进行每两个一集成初步形成一个E-R图,最后得到图3.5总体概念结构E-R图。

图3.5系统总体结构E-R图

第四章逻辑结构设计

4.1 E-R图向关系模型的转换

将图2.2总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三范式。(至少包括4张表,每个表都有主键,设必要的外键。)

卖家信息(ID号,,姓名,年龄,电话,住址);

货物信息(货物名,货号,体积,重量,包装类型);

消费者信息(ID号,姓名,年龄,电话,住址);

业务信息(业务员号,接洽时间,发货站,发货城市,收货站,收货城市);

选择信息(选择号,业务员号,消费者ID号,货物名,费用);

运输信息(运输号,卖家ID号,货物名,发货时间)

4.2 基本表结构

根据总体结构图设计各表的结构,其相应表的定义如下:

表4-1卖家信息表的结构

表4-2货物信息表的结构

表4-3消费者信息表的结构

表4-4业务信息表的结构

表4-5选择信息表的结构

表4.6运输信息表的结构

第五章数据库的实现5.1数据库的建立

create database智丰物流管理系统

on primary

(

name=智丰物流管理系统,

filename='C:\MSDE2000MSSQL\Data\智丰物流管理系统_data.mdf', size=1MB,

maxsize=10MB,

filegrowth=4MB

)

log on

(

name=智丰物流管理_log,

filename='C:\MSDE2000MSSQL\Data\智丰物流管理系统_log.ldf', size=1MB,

maxsize=10MB,

filegrowth=4MB

)

5.2 数据库基本结构的建立

1、基本表的建立

业务信息表:

create table业务信息表

( Ono char(4)primary key,

Jtime char(10)not null,

Fhz char(10)not null,

Fhcity char(10)not null,

Shz char(10)not null,

Shcity char(10)not null, );

消费者信息表表:

create table消费者信息表( CID char(20)primary key, Cname char(10)not null,

Age char(10),

Tell char(20)not null,

Adr char(20)

);

卖家信息表表:

create table卖家信息表

( SeID char(20)primary key, Sname char(10)not null, Age char(10),

Tell char(20)not null,

Adr char(20)not null

);

货物信息表表:

create table货物信息表

( Gname char(10)primary key, Gno char(10)not null,

V olume char(10),

Weight char(10),

Pack char(10))

选择表:

create table选择表

( Xno char(10),

Ono char(4),

CID char(20),

Gname char(10),

Cost char(10),

primary key(Xno,Ono,CID,Gname),

foreign key(Ono)references business(Ono),

foreign key(CID)references consumer(CID),

foreign key(Gname)references goods(Gname)

);

运输表:

create table选择表

( Yno char(10),

SeID char(20),

Gname char(10),

Ftime char(10)not null,

primary key(Yno ,SeID,Gname),

foreign key(SeID)references seller(SeID),

foreign key(Gname)references goods(Gname)

)

2、添加数据

向卖家表中添加大张的各数据:

insert into seller (SeID,Sname,Age,Tell,Adr)

values('2001002','小李','23','188********','辽宁省大连市')

3、视图的建立

Create view st

As

Select Tell,Adr

From卖家信息表

Where Sname='小张'

4、索引的建立

为每张基本表设计一个聚簇索引,并至少为其中一张表设计一个唯一索引。写出相关的

SQL语句(聚簇,唯一各写一个即可)。

create clustered index sy1

on货物信息表(Gname);

create clustered index sy2

on卖家信息表(SeID);

create clustered index sy3

on消费者信息表(CID);

create clustered index sy4

on选择表(Xno);

create clustered index sy5

on业务信息表(Ono);

create clustered index sy6

on运输表(Yno);

create unique index sy7

on卖家信息表(Sname);

5、游标的建立

根据应用要求,为其中一个基本表设计游标,并利用该游标修改数据,写出SQL语句。Declare cs_cursor scroll cursor

For

Select Gname,Gno,Volume

From货物信息表

Open cs_cursor

Fetch from cs_cursor

Update货物信息表

Set V olume='23'

Where current of cs_cursor

Fetch absolute 2from cs_cursor

6、存储过程的建立

根据应用要求,至少设计一个存储过程,写出SQL语句。

Create procedure cunchu

As

Select Sname

From卖家信息表

5.3安全性的实现

1、利用图形化工具

为了提高安全性,建立系统用户,SQL SERVER用户,数据库用户,写出你所建立的三个用户名。

系统用户:login

SQL SERVER 用户:login

数据库用户:login

SQL SERVER用户:sysadmin

数据库用户:db_accessadmin

2、利用Transact-SQL

设计一个SQL server登录账户,并设置密码,写出相应的SQL语句。

Sp_addlogin'dongdong','123'

为登录帐户,设计创建一个数据库用户,写出相应的SQL语句。

Sp_grantdbaccess'dongdong','abc'

为数据库用户创建数据库角色,写出相应的SQL语句。

Sp_addrolemember'db_owner','abc'

5.4完整性的实现

1、UNIQUE约束

alter TABLE消费者信息表

add constraint unique_Cname

Unique nonclustered(Cname)

2、CHECK约束

Alter table卖家信息表

add constraint check_Adr

Check(Adr='辽宁省大连市')

3、DEFAULT约束

Alter table货物信息表

Add constraint default_Volume

default 29 for Volume

4、NOT NULL约束

alter业务信息表

alter column Ono char(4)not null;

5、规则

Create rule dybh_rule as @Age>=24 and @Age<=40

sp_bindrule dybh_rule,'消费者信息表.Age';

5.5恢复技术的实现

完成所有数据的设计工作后,备份数据库,写出备份文件存放位置和文件名。C:\Program Files\Microsoft SQL Server\MSSQL\LOG\wl1120724\智丰物流管理系统.bak

第六章运行与结果

6.1简单查询和连接查询

1、简单查询

设计两个简单查询,写出相应的SQL语句,并对查询结果截图。

(1) 查询消费者信息表的内容

select*

from消费者信息表

(2)查询辽宁省大连市的卖家信息:

select*

from消费者信息表

where Adr='辽宁省大连市'

2、连接查询

设计两个连接查询,写出相应的SQL语句,并对查询结果截图。(1)卖家与货物表连接查询:

select卖家信息表.*,运输表.*

from卖家信息表,运输表

where卖家信息表.SeID=运输表.SeID

(2)查询货物是灯管的卖家信息:

select卖家信息表.SeID,Sname,Adr,Ftime

from卖家信息表,运输表

where卖家信息表.SeID=运输表.SeID and运输表.Gname='灯管'

6.2嵌套查询

设计两个连接查询,写出相应的SQL语句,并对查询结果截图。(1)查询卖家号为2001003的卖家名和住址:

select Sname,Adr

from卖家信息表

where SeID in

(select SeID

from运输表

where SeID='2001003 ')

(2)查询货物体积为23的卖家身份证号,姓名,电话:

select SeID,Sname,Tell

from卖家信息表

where SeID in

(select SeID

from运输表

where Gname in(select Gname

from货物信息表

where V olume='23'))

6.3组合查询和统计查询

1、组合查询

设计两个组合查询语句,写出相应的SQL语句,并对查询结果截图。(1)查询货物体积大于9的货物名称,体积:

select Gname,V olume

from货物信息表

group by Gname,Volume

相关文档
最新文档