数据库研发设计网上书店系统_第1页
数据库研发设计网上书店系统_第2页
数据库研发设计网上书店系统_第3页
数据库研发设计网上书店系统_第4页
数据库研发设计网上书店系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 系统需求分析1.1 系统基本功能描述网上书店系统是依据网上书店能够在线出售图书和管理需求而进行设计的, 目 的是实现在线接受客户订单、书店信息管理的功能。 矚慫润厲钐瘗睞枥庑赖。需要在线购买图书的客户能够通过网上书店系统查询所需要的图书是否有售 并能够查询有售图书的基本信息(比如图书名称、作者、出版社等)。如果客户查 询到所需并且有售的图书,能够在线下达订单,然后提交给数据库,并且客户能够 查询自己的订单的处理情况。同时,客户应该能够维护自己的信息(比如修改自己 的收货地址、联系方式等)。 聞創沟燴鐺險爱氇谴净。网上书店系统应该至少拥有一个管理员。 管理员能够维护在售图书的基本信息 (比如

2、图书信息的增加、删除、修改等),并且能够对图书进行分类管理。同时, 管理员能够维护客户的信息,能够审核客户提交的订单以确认或删除订单。 残骛楼諍 锩瀨濟溆塹籟。1.2系统数据流图通过对系统需求进行分析,我们尅有确定系统中有两类用户:管理员和客户。 各类用户的具体描述如下:( 1) 管理员 描述:管理员负责后台管理。包括维护(增加、删除、修改)图书信息,对 图书进行分类管理;维护客户信息(增加和删除客户账号);审核订单并确认合法 订单或删除非法订单。( 2) 客户 描述:客户可以查询有售图书的基本信息;可以维护自己的信息;可以进行网 上订书;可以查询订单的处理情况。1.2.1 数据流分析根据分析

3、,我们可以得到系统的数据流图。1)网上书店系统顶层数据流图如图 1-1所示13订单阳M网卜屮店丢统顶层数据渝團122数据字典根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。下面 列出部分数据字典内容。1.2.2.1数据项(1) 管理员 管理员编号,每位管理员在系统中的唯一编号也是管理员登陆的账号 名,char(7) 管理员姓名,char(10) 管理员登陆密码,char(10)(2) 客户 客户编号,每位客户在系统中的唯一编号,char(7) 客户姓名,char(10) 地址编号,客户有多个地址时每个地址的编号,char(7) 地址,客户收货地址中某个具体地址,varchar(2

4、0) 联系方式,客户的电话号码,char(15) 账户余额,客户购书账户的余额,float(7) 登陆密码,char(10)(3) 订单 订单号,唯一标识一张订单的编号,char(7) 订单日期,生成订单的时间,datetime,取值为提交订单的时间 收货人姓名,查收图书的人的姓名,char(10),同客户姓名 收货人联系方式,收货人的电话号码,char(15),同联系方式 发货地址,图书送达的目的地,varchar(100),是客户收货地址中的一个 管理员编号,审核该订单的管理员的编号,char(7),同管理员编号(4) 订单细则细则号,唯一标识一个订单细则,char(7) 图书编号,订单所

5、包含的图书的编号,char(7),同图书信息中的图书编号 订购数量,购买同本图书的数量,smallint,取值不大于此本图书的库存余量 发货状况,已订购图书的发货情况,varchar(100)5)图书信息 图书编号,唯一标识一款图书的编号,char(7) 图书名,图书的题名, varchar(20) 作者,图书的作者, char(10) 出版社,图书的出版方, varchar(20) 图书类别,图书的分类, varchar(20) 库存余量,当前书店此款图书的剩余量,smallint,当前库存量=上次库存量-售出数量 图书价格,图书的售价,float(5),图书价格大于零1.2.2.2 数据结

6、构1) 图书信息,每本图书的具体信息,组成: 图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格 酽锕极額閉镇桧猪訣锥。2) 管理员,管理员的基本信息,组成: 管理员编号,管理员姓名 3) 客户,客户的基本信息,组成: 客户编号,客户姓名,收货地址,账户余额,联系方式 4) 收货地址,客户的收货地址,组成: 地址编号,地址 5) 订单,订单的信息,组成: 订单号,订单日期,订单细则 ,收货人姓名,发货地址,管理员编号,收货人联系方式 6) 定单细则,订单的细节内容,组成: 细则号,图书编号,订购数量,发货状况 2 系统设计2.1 数据库设计2.1.1 概念结构设计1.系统涉及到的实体

7、1)管理员 管理员编号,管理员姓名 2)客户 客户编号,客户姓名,收货地址,账户余额,联系方式 3)图书图书编号,图书名,作者,出版社,图书类别,库存余量,图书 价格4)订单 订单号,订单日期,订单细则 ,收货人姓名,发货地址,管理员 编号,收货人联系方式 5)订单细则 细则号,图书编号,订购数量,发货状况 6)收货地址 地址编号,地址 2.系统E-R模型设计A. 分 E-R 模型设计(1)每个客户可以拥有多个收货地址,这些地址只能被这个客户使用。因此,客户与收货地址之间是一对多关系。E-R图如下:彈贸摄尔霁毙攬砖卤庑。客户收货地址E-R图(2) 一个客户可以下达多个定单,一个订单只能属于一个

8、客户因此,0(3) 份订单里可以包含若干个订单细则。因此,订单与订单细则之间是 一对多关系。E-R图如下:订单组成订单细则订单号1订单”订单细则E-R图(4) 一个管理员可以审核多份定单,但是一份订单只能被一个管理员审核 因此,管理员与订单是一对多关系。E-R图如下:N m址管理员(5) 个订单细则可以包含多本图书, 一本图书也可以包含在多份订单细 则中。因此,图书与订单细则之间是多对多关系。E-R图如下:茕桢广鳓鯡选块网羈泪。B.系统的总E-R图合并以上E-R图即得系统总E-R图如下:出版神作苦圈书承格,图卩拥有收货地址地址地加 塢号订单細则一管理员网1上店系统集成ER图2.1.2逻辑结构设

9、计根据以上的分析,将E-R模型转换成逻辑模型,设计出本系统的数据库。根 据需要,设计了 6个数据表,2个视图。如下所示:鹅娅尽損鹤惨歷茏鴛賴。管理员信息表:该表记录了管理员的相关信息,包括管理员编号,登陆 密码管理员姓名。客户信息表:该表记录了客户的相关信息,包括客户编号,登录密码, 客户姓名,联系方式,账户余额。收货地址表:该表记录了客户的收货地址信息,包括地址编号,客户编 号,地址。订单表:该表记录了订单的基本信息,包括订单号,客户编号,订单日期, 收货人姓名,发货地址,收货人联系方式,管理员编号。籟丛妈羥为贍债蛏练淨。订单细则表:该表记录了订单的细则信息,包括细则号,订单号,图书 编号,

10、订购数量,发货状况。图书信息表:该表记录了图书的基本信息,包括图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格。預頌圣鉉儐歲龈讶骅籴。以上是在数据库中的基本表。在具体的查询过程中,如果全部直接从基 本表查询,则要建立多重的联合(内联)查询,这样用起来很不方便,也容 易出错;同时影响系统效率。因此建立n个视图,方便查询。渗釤呛俨匀谔鱉调硯錦。 (1)客户购书信息视图:包括图书名,作者,出版社,订购数量,订单日期, 发货状况,账户余额。(2)管理员订单审核视图:包括订单号,客户号,图书编号,订购数量根据上面的逻辑结构设计,设计相应的表结构如下所示。1管理员信息表(Ginfo)该表记录了

11、管理员的相关信息,包括管理员编号,管理员姓名。其结构如表2-1所示:表 2-1 Ginfo字段说明类型(长度)备注Gid管理员编号char(7):主键,不为空Gcode登录密码char(10)不为空Gn ame管理员姓名char(10)不为空2客户信息表(Kinfo)该表记录了客户的相关信息,包括客户编号,客户姓名,联系方式,账 户余额。其结构如表2-2所示:表 2-2 Kinfo字段说明类型(长度)备注Kid客户编号char(7):主键,不为空Kcode登录密码char(10)不为空Kn ame客户姓名char(10)不为空Kcon tact联系方式char(15)不为空Ksave账户余额f

12、loat(7)不小于零3.收货地址表(ADinfo)该表记录了客户的收货地址信息,包括地址编号,客户编号,地址。其 结构如表2-3所示:表 2-3 ADinfo字段说明类型(长度)备注ADid地址编号char(7):主键,不为空Kid客户编号char(7)主键,外键,不为空Add地址varchar(100)不为空4.订单表(Dinfo)该表记录了订单的基本信息,包括订单号,客户编号,订单日期,收货 人姓名,发货地址,收货人联系方式,管理员编号。其结构如表2-4所示:铙誅卧泻噦圣骋贶頂廡。表 2-4 Dinfo字段说明类型(长度)备注Did订单号char(7):主键,不为空Kid客户编号char

13、(7)主键,外键,不为空Dn ame收货人姓名char(10):不为空Dadd发货地址varchar(100)外键,不为空Dcon tact收货人联系方式char(15)外键,不为空Gid管理员编号char(7):外键,不为空Ddate订单日期datetime不为空5订单细则表(Xinfo)该表记录了订单的细则信息,包括细则号,订单号,图书编号,订购 数量,发货状况。其结构如表2-5所示:表 2-5 Xinfo字段说明类型(长度)备注Xid细则号char(7):主键,不为空Did订单号char(7)主键,外键,不为空Tid图书编号char(7)外键,不为空Xnum订购数量smalli nt:大

14、于零Xdetail发货状况varchar(100)默认未发货6图书信息表(Tinfo) 该表记录了图书的基本信息,包括图书编号,图书名,作者,出版社,图书类别,库存余量,图书价格。其结构如表2-6所示:表 2-6 Tinfo字段说明类型(长度)备注Tid图书编号char(7):主键,不为空Tn ame图书名varchar(20)不为空Twriter作者char(10):不为空Tpub出版社varchar(20)不为空Tnum库存余量smalli nt不小于零,不为空Tprice图书价格float(5):不小于零,不为空Tsort图书类别varchar(20)不为空22系统物理设计1存储过程(1

15、)订单处理系统是整个网上书店系统的核心。它的功能是检查客户欲提交 的订单细则数据的合法性。主要包括:检查图书的库存余量是否为零、检查客户的 账户余额是否足够支付购书款。检查订单细则数据流程图如图3-1所示:贓熱俣阃歲匱阊邺镓騷。存储过程检查接收到的订单细则数据是否产生冲突(冲突产生的原因是:订购数量大于图书的库存余量、购书的金额大于账户余额),如果没有冲突产生,则 将数据插入订单细则表(Xinfo),否则返回冲突提示。其代码如下所示:坛搏乡囂忏蒌鍥铃氈淚。CREATE PROCEDURE Xdate_checkkid char ( 7),tid char ( 7),xnum smallintA

16、SIF ( select tnum from tinfo where tid =tid )- xnum>= 0 ) 蜡變黲癟報伥铉锚鈰赘。BEGINIF ( select ksave from kinfo where kid =kid )-( select tprice * xnum from tinfo where tid =tid )>= 0) 買鲷鴯譖昙膚遙闫撷凄。BEGINinsert into xinfovalues ('' , '' , tid , xnum, ' 未发货 ' )/* 订单号及细则号由系统自动生成 */pr

17、int ' 订单细则提交成功 'ENDELSEBEGINprint ' 账户余额不足! 'ENDELSEBEGINprint ' 库存量不足! 'ENDEND(2)新加管理员账户及删除管理员账户的存储过程/* 新增管理员信息 */CREATE PROCEDURE add_G gid char ( 7),gcode char ( 10),gname char ( 10)ASinsert into Ginfovalues ( gid , gcode , gname) /* 删除管理员信息 */CREATE PROCEDURE dele_G gid c

18、har ( 7),gcode char ( 10)ASIF (exists( gid =gid and delete fromselect * from ginfo where gcode =gcode ) 綾镝鯛駕櫬鹕踪韦辚糴。Ginfo where Gid =gid3)新增用户信息及删除用户信息。/* 新增用户信息 */CREATE PROCEDURE add_Kkid char ( 7), kcode char ( 10), kname char ( 10), kcontact char ( 15) ASinsert into Ginfovalues ( kid , kcode , kname, kcontact , '' , '' )2.触发器当每条订单细则提交后,图书的库存量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论