快递数据库.docx

上传人:b****8 文档编号:9324470 上传时间:2023-02-04 格式:DOCX 页数:19 大小:184.22KB
下载 相关 举报
快递数据库.docx_第1页
第1页 / 共19页
快递数据库.docx_第2页
第2页 / 共19页
快递数据库.docx_第3页
第3页 / 共19页
快递数据库.docx_第4页
第4页 / 共19页
快递数据库.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

快递数据库.docx

《快递数据库.docx》由会员分享,可在线阅读,更多相关《快递数据库.docx(19页珍藏版)》请在冰豆网上搜索。

快递数据库.docx

快递数据库

快递管理系统数据库

系统名称:

EXPRESS

1、需求分析:

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

1)、实现快递公司员工的信息管理。

2)、实现收货人的信息管理。

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

从而提高快递效率,降低快递公司成本并提高企业管理化水平。

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

(1)数据检索

1、查询客户表(CUSTOMER)客户姓名及各种信息

输入:

CNAME

输出:

CNO,CNAME,CSEX,CTEL,CADDS,CCARD

2、查询员工表(STAFF)员工姓名及各种信息

输入:

SNAME

输出:

SNAME,SNO,SSEX,STEL,SADDS,SCARD,JOB

3、查询商品表(GOODS)中的商品名及各种信息

输入:

GNAME

输出:

GNAME,GNO,GTYPE,GWEIGHT

4、查询仓库表(STOREHOUSE)中的各种信息

输入:

SHNO

输出:

SHNAME,SHNO,SHVOLUME

5、查询收货人表(RECEIVER)中的各种信息

输入:

RNAME

输出:

RNAME,RNO,RSEX,RTEL,RADDS

6、查询货单表(LIST)中的各种信息

输入:

LNAME

输出:

LNO,LNAME,LPRICE

7、查询存储表(MEMORY)中的各种信息

输入:

MNO

输出:

MNO,MITIME,MINUMBER,MOTIME,MONUMBER

8、查询配送表(SEND)中的各种信息

输入:

SENO

输出:

SENO,SITIME,SOTIME,SETYPE,SENAME

(2)数据插入

各表中数据的插入

(3)数据修改

各表中数据的修改

2、概念分析:

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

1)客户表实体

2)员工表实体

3)商品表实体

4)仓库表实体

5)收货人实体

6)货单实体

7)存储实体

8)配送实体

 

3、逻辑设计:

CUSTOMER(CNO,CNAME,CSEX,CTEL,CADDS,CCARD);

STAFF(SNO,SNAME,SSEX,STEL,SADDA,SCARD,JOB);

GOODS(GNO,GNAME,GTYPE,GWEIGHT);

STOREHOUSE(SHNO,SHNAME,SHVOLUMER);

RECEIVER(RNO,RNAME,RSEX,RTEL,RADDS);

LIST(LNO,LNAME,LPRICE,RNO,CNO,SNO,GNO);

MEMORY(MNO,MITIME,MINUMBER,MOTIME,MONUMBER,SNO,SHNO,GNO);

SEND(SENO,RNO,SNO,SHNO,SITIME,SOTIME,SETYPE,SENAME);

4、物理设计:

(1)客户表(CUSTOMER)结构

列名

类型

特殊属性

CNO

INT

PRIMARYKEY

CNAME

VARCHAR(20)

NOTNULL

CSEX

VARCHAR(8)

NOTNULL

CTEL

VARCHAR(20)

NOTNULL

CADDS

VARCHAR(50)

NOTNULL

CCARD

VARCHAR(20)

NOTNULL

(2)员工表(STAFF)结构

列名

类型

特殊属性

SNO

INT

PRIMARYKEY

SNAME

VARCHAR(20)

NOTNULL

SSEX

VARCHAR(8)

NOTNULL

STEL

VARCHAR(20)

NOTNULL

SADDS

VARCHAR(50)

NOTNULL

SCARD

VARCHAR(20)

NOTNULL

JOB

VARCHAR(20)

NOTNULL

(3)商品表(GOODS)结构

列名

类型

特殊属性

GNO

INT

PRIMARYKEY

GNAME

VARCHAR(20)

NOTNULL

GTYPE

VARCHAR(40)

NOTNULL

GWEIGHT

VARCHAR(20)

NOTNULL

(4)仓库表(STOREHOUSE)结构

列名

类型

特殊属性

SHNO

INT

PRIMARYKEY

SHNAME

VARCHAR(20)

NOTNULL

NOTNULL

SHVOLUME

VARCHAR(10)

NOTNULL

(5)收货人(RECEIVER)结构

列名

类型

特殊属性

RNO

INT

PRIMARYKEY

RNAME

VARCHAR(20)

NOTNULL

RSEX

VARCHAR(8)

NOTNULL

CTEL

VARCHAR(20)

NOTNULL

CADDS

VARCHAR(50)

NOTNULL

(6)货单表(LIST)结构

列名

类型

特殊属性

LNO

INT

PRIMARYKEY

LNAME

VARCHAR(20)

NOTNULL

LPRICE

INT

NOTNULL

RNO

INT

FOREIGNKEY

CNO

INT

FOREIGNKEY

SNO

INT

FOREIGNKEY

GNO

INT

FOREIGNKEY

(7)存储表(MEMORY)结构

列名

类型

特殊属性

MNO

INT

PRIMARYKEY

MITIME

DATETIME

NOTNULL

MINUMBER

INT

NOTNULL

MOTIME

DATETIME

NOTNULL

MONUMBER

INT

NOTNULL

SNO

INT

FOREIGNKEY

SHNO

INT

FOREIGNKEY

GNO

INT

FOREIGNKEY

(8)配送表(SEND)结构

列名

类型

特殊属性

SENO

INT

PRIMARYKEY

RNO

INT

FOREIGNKEY

SNO

INT

FOREIGNKEY

SHNO

INT

FOREIGNKEY

SITIME

DATETIME

NOTNULL

SOTIME

DATETIME

NOTNULL

SETYPE

VARCHAR(20)

NOTNULL

SENAME

VARCHAR(20)

NOTNULL

5、实施:

/*创建数据库EXPRESS(快递)*/

createdatabaseEXPRESS

onprimary(

name=EXPRESS,

filename='D:

\EXPRESS\DATA\EXPRESS.MDF',

size=20,

maxsize=unlimited,

filegrowth=10%

logon(

name=EXPRESS_LOG,

filename='D:

\EXPRESS\DATA\EXPRESS.LDF',

size=2,

maxsize=10,

filegrowth=1

Go

 

/*创建表CUSTOMER(客户)*/

createtableCUSTOMER(

CNOINTprimarykey,

CNAMEVARCHAR(20)NOTNULL,

CSEXVARCHAR(8)NOTNULL,

CTELVARCHAR(20)NOTNULL,

CADDSVARCHAR(50)NOTNULL,

CCARDVARCHAR(20)NOTNULL

);

 

/*创建表STAFF(员工)*/

createtableSTAFF(

SNOINTprimarykey,

SNAMEVARCHAR(20)NOTNULL,

SSEXVARCHAR(8)NOTNULL,

STELVARCHAR(20)NOTNULL,

SADDSVARCHAR(50)NOTNULL,

SCARDVARCHAR(20)NOTNULL,

JOBVARCHAR(20)NOTNULL

);

/*创建表GOODS(货物)*/

createtableGOODS(

GNOINTprimarykey,

GNAMEVARCHAR(20)NOTNULL,

GTYPEVARCHAR(40)NOTNULL,

GWEIGHTVARCHAR(20)NOTNULL

);

/*创建表STOREHOUSE(仓库)*/

createtableSTOREHOUSE(

SHNOINTprimarykey,

SHNAMEVARCHAR(20)NOTNULL,

SHVOLUMEVARCHAR(10)NOTNULL/*容量*/

);

/*创建表RECEIVER(收货人)*/

createtableRECEIVER(

RNOINTprimarykey,

RNAMEVARCHAR(20)NOTNULL,

RSEXVARCHAR(8)NOTNULL,

RTELVARCHAR(20)NOTNULL,

RADDSVARCHAR(50)NOTNULL

);

/*创建表LIST(货单)*/

createtableLIST(

LNOINTprimarykey,

LNAMEVARCHAR(20)NOTNULL,

LPRICEVARCHAR(20)NOTNULL,

RNOINTNOTNULL,

CNOINTNOTNULL,

SNOINTNOTNULL,

GNOINTNOTNULL,

FOREIGNKEY(RNO)REFERENCESRECEIVER(RNO),

FOREIGNKEY(CNO)REFERENCESCUSTOMER(CNO),

FOREIGNKEY(SNO)REFERENCESSTAFF(SNO),

FOREIGNKEY(GNO)REFERENCESGOODS(GNO)

);

/*创建表MEMORY(存储)*/

createtableMEMORY(

MNOINTprimarykey,

MITIMEDATETIMENOTNULL,

MINUMBERVARCHAR(20)NOTNULL,

MOTIMEDATETIMENOTNULL,

MONUMBERVARCHAR(20)NOTNULL,

SNOINTNOTNULL,

SHNOINTNOTNULL,

GNOINTNOTNULL,

FOREIGNKEY(SNO)REFERENCESSTAFF(SNO),

FOREIGNKEY(SHNO)REFERENCESSTOREHOUSE(SHNO),

FOREIGNKEY(GNO)REFERENCESGOODS(GNO)

);

/*创建表SEND(配送)*/

createtableSEND(

SENOINTprimarykey,

RNOINTNOTNULL,

SNOINTNOTNULL,

SHNOINTNOTNULL,

SITIMEDATETIMENOTNULL,

SOTIMEDATETIMENOTNULL,

SETYPEVARCHAR(20)NOTNULL,

SENAMEVARCHAR(20)NOTNULL,

FOREIGNKEY(RNO)REFERENCESRECEIVER(RNO),

FOREIGNKEY(SNO)REFERENCESSTAFF(SNO),

FOREIGNKEY(SHNO)REFERENCESSTOREHOUSE(SHNO)

);

 

/*修改表结构*/

ALTERTABLESTOREHOUSE

ALTERCOLUMNSHVOLUMEINT;

ALTERTABLELIST

ALTERCOLUMNLPRICEINT;

ALTERTABLEMEMORY

ALTERCOLUMNMINUMBERINT;

ALTERTABLEMEMORY

ALTERCOLUMNMONUMBERINT;

插入数据:

INSERTINTOCUSTOMERVALUES(001,'赵源源','女','11111111111','河北省邯郸市','111111111111111111');

INSERTINTOCUSTOMERVALUES(002,'林一','男','22222222222','河北省石家庄','222222222222222222');

INSERTINTOCUSTOMERVALUES(003,'林依依','女','22222222222','河北省石家庄','222222222222222222');

 

INSERTINTOSTAFFVALUES(101,'孙浩哲','男','66666666666','河北省邯郸市','666666666666666666','经理');

INSERTINTOSTAFFVALUES(102,'徐昊泽','男','77777777777','河北省邯郸市','777777777777777777','快递员');

INSERTINTOSTAFFVALUES(103,'陈诗淇','女','88888888888','河北省邯郸市','888888888888888888','快递员');

INSERTINTOGOODSVALUES(00011,'羽绒服','服装','1kg');

INSERTINTOGOODSVALUES(00012,'针织衫','服装','1.5kg');

INSERTINTOGOODSVALUES(00021,'iPhone6','手机','0.129kg');

INSERTINTOSTOREHOUSEVALUES(1101,'邯郸',1000);

INSERTINTOSTOREHOUSEVALUES(1201,'石家庄',1000);

INSERTINTORECEIVERVALUES(00001,'李岳凌','男','33333333333','河北省邯郸市');

INSERTINTORECEIVERVALUES(00002,'张凯华','男','44444444444','河北省邯郸市');

INSERTINTOLISTVALUES(222201,'货单',12,00001,001,102,00011);

INSERTINTOLISTVALUES(222202,'货单',15,00002,002,103,00021);

INSERTINTOMEMORYVALUES(333301,2005/01/10,1,2005/02/21,1,102,1101,00011);

INSERTINTOSENDVALUES(666601,00001,102,1101,2005/01/12,2005/02/22,'航空','航运');

/*创建索引*/

CREATEINDEXIX_CUSTOMERONCUSTOMER(CNO);

EXECsp_helpindexCUSTOMER

CREATEINDEXIX_STAFFONSTAFF(SNO);

EXECsp_helpindexSTAFF

CREATEINDEXIX_GOODSONGOODS(GNO);

EXECsp_helpindexGOODS

CREATEINDEXIX_STOREHOUSEONSTOREHOUSE(SHNO);

EXECsp_helpindexSTOREHOUSE

CREATEINDEXIX_RECEIVERONRECEIVER(RNO);

EXECsp_helpindexRECEIVER

CREATEINDEXIX_LISTONLIST(LNO);

EXECsp_helpindexLIST

CREATEINDEXIX_MEMORYONMEMORY(MNO);

EXECsp_helpindexMEMORY

CREATEUNIQUENONCLUSTEREDINDEXIX_SENDONSEND(SOTIMEDESC);

EXECsp_helpindexSEND

/*创建视图*/

CREATEVIEWVW_CUSTOMERAS

SELECTCNO,CNAME,CSEX,CTEL,CADDS,CCARDFROMCUSTOMERWHERECNO=001;

CREATEVIEWVW_STAFFAS

SELECTSNO,SNAME,SSEX,STEL,SADDS,SCARD,JOBFROMSTAFFWHERESNO=101;

CREATEVIEWVW_RECEIVERAS

SELECTRNO,RNAME,RSEX,RTELFROMRECEIVERWHERERNO=00001;

CREATEVIEWVW_LISTAS

SELECTLIST.LNAME,LIST.LPRICE,RECEIVER.RNAME,GNOFROMLIST,RECEIVERWHERELNO=222201ANDLIST.RNO=RECEIVER.RNO;

/*创建存储过程*/

CREATEPROCEDUREPROC_CUSTOMER

@CNAMEVARCHAR(20)

WITHENCRYPTION

ASSELECTCNO,CNAME,CSEX,CTEL,CADDS,CCARD

FROMCUSTOMER

WHERECNAMELIKE@CNAME;

EXECPROC_CUSTOMER@CNAME=N'林一'

CREATEPROCEDUREPROC_STAFF

@SNAMEVARCHAR(20)

WITHENCRYPTION

ASSELECTSNAME,SNO,SSEX,STEL,SADDS,SCARD,JOB

FROMSTAFF

WHERESNAMELIKE@SNAME;

EXECPROC_STAFF@SNAME=N'孙浩哲'

CREATEPROCEDUREPROC_GOODS

@GNAMEVARCHAR(20)

WITHENCRYPTION

ASSELECTGNAME,GNO,GTYPE,GWEIGHT

FROMGOODS

WHEREGNAMELIKE@GNAME;

EXECPROC_GOODS@GNAME=N'羽绒服'

CREATEPROCEDUREPROC_STOREHOUSE

@SHNAMEVARCHAR(20)

WITHENCRYPTION

ASSELECTSHNAME,SHNO,SHVOLUME

FROMSTOREHOUSE

WHERESHNAMELIKE@SHNAME;

EXECPROC_STOREHOUSE@SHNAME=N'邯郸1'

CREATEPROCEDUREPROC_RECEIVER

@RNAMEVARCHAR(20)

WITHENCRYPTION

ASSELECTRNAME,RNO,RSEX,RTEL,RADDS

FROMRECEIVER

WHERERNAMELIKE@RNAME;

EXECPROC_RECEIVER@RNAME=N'李岳凌'

CREATEPROCEDUREPROC_LISTASSELECTLNO,LNAME,LPRICEFROMLIST;

EXECPROC_LIST

CREATEPROCEDUREPROC_MEMORY

@MNOINT

WITHENCRYPTION

ASSELECTMNO,MITIME,MINUMBER,MOTIME,MONUMBER

FROMMEMORY

WHEREMNOLIKE@MNO;

EXECPROC_MEMORY@MNO=333301

CREATEPROCEDUREPROC_SEND

@SENOINT

WITHENCRYPTION

ASSELECTSENO,SITIME,SOTIME,SETYPE,SENAME

FROMSEND

WHERESENOLIKE@SENO;

EXECPROC_SEND@SENO=666601

/

 

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

当前位置:首页 > 人文社科 > 文化宗教

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

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