数据库设计《网上书店系统》Word文件下载.docx
《数据库设计《网上书店系统》Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库设计《网上书店系统》Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
![数据库设计《网上书店系统》Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/10/8ce6a87d-0736-4edb-a629-31a1d5576de5/8ce6a87d-0736-4edb-a629-31a1d5576de51.gif)
客户可以查询有售图书的基本信息;
可以维护自己的信息;
可以进行网上订书;
可以查询订单的处理情况。
1.2.1数据流分析
根据分析,我们可以得到系统的数据流图。
(1)网上书店系统顶层数据流图如图1-1所示。
1.2.2数据字典
根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。
下面列出部分数据字典内容。
1.2.2.1数据项
(1)管理员
①{管理员编号,每位管理员在系统中的唯一编号也是管理员登陆的账号名,char(7)}
②{管理员姓名,char(10)}
③{管理员登陆密码,char(10)}
(2)客户
①{客户编号,每位客户在系统中的唯一编号,char(7)}
②{客户姓名,char(10)}
③{地址编号,客户有多个地址时每个地址的编号,char(7)}
④{地址,客户收货地址中某个具体地址,varchar(20)}
⑤{联系方式,客户的电话号码,char(15)}
⑥{账户余额,客户购书账户的余额,float(7)}
⑦{登陆密码,char(10)}
(3)订单
①{订单号,唯一标识一张订单的编号,char(7)}
②{订单日期,生成订单的时间,datetime,取值为提交订单的时间}
③{收货人姓名,查收图书的人的姓名,char(10),同客户姓名}
④{收货人联系方式,收货人的电话号码,char(15),同联系方式}
⑤{发货地址,图书送达的目的地,varchar(100),是客户收货地址中的一个}
⑥{管理员编号,审核该订单的管理员的编号,char(7),同管理员编号}
(4)订单细则
①{细则号,唯一标识一个订单细则,char(7)}
②{图书编号,订单所包含的图书的编号,char(7),同图书信息中的图书编号}
③{订购数量,购买同本图书的数量,smallint,取值不大于此本图书的库存余量}
④{发货状况,已订购图书的发货情况,varchar(100)}
(5)图书信息
①{图书编号,唯一标识一款图书的编号,char(7)}
②{图书名,图书的题名,varchar(20)}
③{作者,图书的作者,char(10)}
④{出版社,图书的出版方,varchar(20)}
⑤{图书类别,图书的分类,varchar(20)}
⑥{库存余量,当前书店此款图书的剩余量,smallint,当前库存量=上次库存量-售出数量}
⑦{图书价格,图书的售价,float(5),图书价格大于零}
1.2.2.2数据结构
(1){图书信息,每本图书的具体信息,组成:
{图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格}}
(2){管理员,管理员的基本信息,组成:
{管理员编号,管理员姓名}}
(3){客户,客户的基本信息,组成:
{客户编号,客户姓名,收货地址,账户余额,联系方式}}
(4){收货地址,客户的收货地址,组成:
{地址编号,地址}}
(5){订单,订单的信息,组成:
{订单号,订单日期,订单细则,收货人姓名,
发货地址,管理员编号,收货人联系方式}}
(6){订单细则,订单的细节内容,组成:
{细则号,图书编号,订购数量,发货状况}}
2系统设计
2.1数据库设计
2.1.1概念结构设计
1.系统涉及到的实体
(1)管理员{管理员编号,管理员姓名}
(2)客户{客户编号,客户姓名,收货地址,账户余额,联系方式}
(3)图书{图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格}
(4)订单{订单号,订单日期,订单细则,收货人姓名,发货地址,管理员编号,收货人联系方式}
(5)订单细则{细则号,图书编号,订购数量,发货状况}
(6)收货地址{地址编号,地址}
2.系统E-R模型设计
A.分E-R模型设计
(1)每个客户可以拥有多个收货地址,这些地址只能被这个客户使用。
因此,客户与收货地址之间是一对多关系。
E-R图如下:
(2)一个客户可以下达多个定单,一个订单只能属于一个客户。
因此,客户与订单是一对多关系。
E-图如下:
(3)一份订单里可以包含若干个订单细则。
因此,订单与订单细则之间是一对多关系。
(4)一个管理员可以审核多份定单,但是一份订单只能被一个管理员审核。
因此,管理员与订单是一对多关系。
(5)一个订单细则可以包含多本图书,一本图书也可以包含在多份订单细则中。
因此,图书与订单细则之间是多对多关系。
B.系统的总E-R图
合并以上E-R图即得系统总E-R图如下:
2.1.2逻辑结构设计
根据以上的分析,将E-R模型转换成逻辑模型,设计出本系统的数据库。
根据需要,设计了6个数据表,2个视图。
如下所示:
管理员信息表:
该表记录了管理员的相关信息,包括管理员编号,登陆密码管理员姓名。
客户信息表:
该表记录了客户的相关信息,包括客户编号,登录密码,客户姓名,联系方式,账户余额。
收货地址表:
该表记录了客户的收货地址信息,包括地址编号,客户编号,地址。
订单表:
该表记录了订单的基本信息,包括订单号,客户编号,订单日期,收货人姓名,发货地址,收货人联系方式,管理员编号。
订单细则表:
该表记录了订单的细则信息,包括细则号,订单号,图书编号,订购数量,发货状况。
图书信息表:
该表记录了图书的基本信息,包括图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格。
(1)客户购书信息视图:
包括图书名,作者,出版社,订购数量,订单日期,发货状况,账户余额。
(2)管理员订单审核视图:
包括订单号,客户号,图书编号,订购数量。
根据上面的逻辑结构设计,设计相应的表结构如下所示。
1.管理员信息表(Ginfo)
该表记录了管理员的相关信息,包括管理员编号,管理员姓名。
其结构如表2-1所示:
表2-1Ginfo
字段
说明
类型(长度)
备注
Gid
管理员编号
char(7)
主键,不为空
Gcode
登录密码
char(10)
不为空
Gname
管理员姓名
2.客户信息表(Kinfo)
该表记录了客户的相关信息,包括客户编号,客户姓名,联系方式,账户余额。
其结构如表2-2所示:
表2-2Kinfo
Kid
客户编号
Kcode
Kname
客户姓名
Kcontact
联系方式
char(15)
Ksave
账户余额
float(7)
不小于零
3.收货地址表(ADinfo)
该表记录了客户的收货地址信息,包括地址编号,客户编号,地址。
其结构如表2-3所示:
表2-3ADinfo
ADid
地址编号
主键,外键,不为空
Add
地址
varchar(100)
4.订单表(Dinfo)
其结构如表2-4所示:
表2-4Dinfo
Did
订单号
Dname
收货人姓名
Dadd
发货地址
外键,不为空
Dcontact
收货人联系方式
Ddate
订单日期
datetime
5.订单细则表(Xinfo)
该表记录了订单的细则信息,包括细则号,订单号,图书编号,订购数量,发货状况。
其结构如表2-5所示:
表2-5Xinfo
Xid
细则号
Tid
图书编号
Xnum
订购数量
smallint
大于零
Xdetail
发货状况
默认未发货
6.图书信息表(Tinfo)
其结构如表2-6所示:
表2-6Tinfo
Tname
图书名
varchar(20)
Twriter
作者
Tpub
出版社
Tnum
库存余量
不小于零,不为空
Tprice
图书价格
float(5)
Tsort
图书类别
2.2系统物理设计
1.存储过程
(1)订单处理系统是整个网上书店系统的核心。
它的功能是检查客户欲提交的订单细则数据的合法性。
主要包括:
检查图书的库存余量是否为零、检查客户的账户余额是否足够支付购书款。
检查订单细则数据流程图如图3-1所示:
图3-1检查订单数据流程图
小结
不足:
如在订单处理功能上应当增加发票处理功能,在图书管理上应当增加图书的仓储管理功能等。