您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 图书销售系统的数据库设计
图书销售系统的数据库设计场景:某图书销售管理公司,随着业务的扩展,需要建立一个图书销售系统来进行图书销售管理活动。要建立一个图书销售系统,首先要设计其数据库,用来存取和管理图书信息。以下是按数据库设计的六个步骤,对该图书销售系统所需的数据库进行详细设计。第一步:需求分析(次重点)1.在图书销售管理系统中,经过调查该图书销售管理公司,得到的用户需求如下:(1)新书信息录入,以添加系统中所销售图书的信息。(2)新书列表,以方便用户得到新进图书的信息。(3)书目分类,以便于用户查看对应分类中相关图书信息。(4)图书搜索功能,以方便用户按书名、ISBN、主题或作者搜索相应图书信息。(5)用户注册功能,以方便保存用户信息,并在相应功能中快速应用用户信息。(6)用户登录功能,以方便用户选购图书,并进行结算和配送。(7)订单管理功能,以方便对图书的销售情况进行统计、分析和配送。(8)系统管理员登录功能。2.图书销售管理系统的数据流图设计根据用户的功能需求,对其使用结构化分析方法(SA方法),进一步对需求进行分析整理,得到该系统的数据流图如下:3.图书销售管理系统的数据字典根据数据流图中所涉及的信息,并对信息进行的分析,确定出所有数据项的描述内容,其中主要分数据项名称、类型、长度以及值范围,如下表:数据项名称类型长度范围说明备注书号字符50唯一标识每本图书根据对数据流图中信息的分析,在数据项描述的基础上确定出所有数据结构的描述,主要有数据结构名称,含义说明和组成数据结构名称含义说明组成图书是图书管理系统的主体数据结构,定义了一个图书的有关信息书号,书名,出版社,作者,单价,库存数量,折扣根据对数据流图数据流向的分析,确定所有数据流的描述,主要有数据流名称、含义说明、数据流来源、数据流去向数据流名称说明数据流来源数据流去向销售信息某本图书的销售情况销售出库第二步:概念结构设计(重点)将数据字典中所涉及的数据项和数据结构抽象为数据库的概念结构,并有E-R图描述出来。这里采用自底向上的概念结构设计方法,分两步设计:第一步是抽象数据并设计局部视图,即分E-R图首先将需求阶段分析的用户的功能,分为几个模块(图书管理模块,订购图书模块,销售图书模块)。然后针对每个模块具体设计分E—R图,将需求分析阶段得到的数据,利用分类的数据抽象方法将同一类型的数据抽象为实体集,利用聚集的数据抽象方法得到每个实体集的属性,并确定实体集之间的联系(1:1,1:n,m:n)及每个实体集的主码。(1)订购图书的局部E-R图客户客户名邮箱密码客户号地址电话身份证号图书数量ISBN号书名订购mn单价(2)管理图书的局部E-R图(3)销售相关的局部E-R图第二步集成局部视图,得到全局概论结构,即合并分E-R图,生成总E-R图生成总E—R图,合并时消除各个分E—R图的冲突和不必要的冗余。客户订单结账1n客户号客户名密码邮箱地址电话身份证号是否送货送货地址送货人订单号数量总价订购日期图书类别管理员拥有管理nn11分类ID类名ISBN号书名单价出版社员工号姓名身份证三、逻辑结构设计(重点)1.在概念结构设计的基础上设计数据库的逻辑结构,把相应的E—R图按一定的转换规则(教材53页有转换规则)转化为关系模式客户(客户号,客户名,密码,邮箱,地址,电话,身份证)图书(ISBN号,书名,单价,作者,出版社,分类ID)分类(分类号,类名)管理员(员工号,姓名,身份证号)订单(订单号,客户号,数量,总价,日期,是否送货,送货人,送货地址)--这个关系模式是由“结账”这个一对多联系合并到多端“订单”实体集转化的详细订单(客户号,书号,数量)--这个关系模式是由“预购”这个多对多的联系转化的2.用3NF等方法对每个关系模式进行规范化设计后,如下:用户(用户号,客户名,密码,邮箱,地址,电话,身份证,权限)图书(ISBN号,书名,单价,作者,出版社,分类ID,用户号)分类(分类号,类名)订单(订单号,数量,总价,日期)客户客户名邮箱密码客户号订单订单号总价数量结账订购日期是否送货送货人送货地址地址电话身份证号子图书类别图书数量单价分类ID类名ISBN号书名预购出版社作者单价拥有MN1nN1管理员管理员工号姓名身份证N1详细订单(客户号,书号,数量,小计价钱)销售(订单号,用户号,是否送货,送货人,送货地址)四、物理设计按相应的关系模型,对数据库进行物理设计,这里主要设计相关的表结构和表间的关系1.相关的表结构:(1)用户信息表列名数据类型是否为空说明UserIDintNOTNULL用户编号,设为主键和标识列UserNameVarchar(50)NOTNULL用户名PasswordVarchar(50)NOTNULL密码PowertinyintNOTNULL权限,默认为0EmailVarchar(50)NOTNULL邮箱,唯一TelVarchar(50)NULL电话,唯一AddrVarchar(50)NULL地址NumberVarchar(50)NULL身份证(2)图书信息表列名数据类型是否为空说明ISBNVarchar(50)NOTNULLISBN号,设为主键BookNameVarchar(50)NOTNULL书名UnitPriceDecimal(4,2)NOTNULL单价AuthorVarchar(50)NULL作者PublisherVarchar(50)NULL出版社CateIDintNOTNULL分类号UserIDintNULL管理员号(3)图书分类表列名数据类型是否为空说明CateIDintNOTNULL分类号,设为主键、标识列CateNameVarchar(50)NOTNULL类名(4)订单表列名数据类型是否为空说明OrderIDintNOTNULL订单号,设为主键、标识列QuantityintNOTNULL数量TotalDecimal(4,2)NOTNULL总价OrderDatedatetimeNULL订单日期UserIDintNULL客户号(5)详细订单表列名数据类型是否为空说明OrderDetailIDintNOTNULL详细订单号,和客户号一起设为主键、标识列UserIDintNOTNULL客户号ISBNVarchar(50)NOTNULL书号QuantityintNULL数量TotalDecimal(4,2)NULL小计(6)销售信息表列名数据类型是否为空说明ShopIDintNOTNULL销售编号,主键、标识列OrderIDintNOTNULL订单号UserIDintNOTNULL用户号StatusbitNOTNULL是否已送货ShipToNameVarchar(50)NOTNULL送货人ShipToAddrVarchar(50)NOTNULL送货地址2.各表之间的关系基本表相关表关联字段是否级联更新和删除图书分类表图书信息表CateID否用户信息表订单表UserID否用户信息表详细订单表UserID否用户信息表销售信息表UserID否图书信息表详细订单表ISBN否订单表销售信息表OrderID否五、数据库的实施按物理设计的要求创建数据库,表,并录入数据,并对数据库进行试运行,进行各种操作检测六、数据库的运行和维护试运行合格后即可交与客户投入正式运行
本文标题:图书销售系统的数据库设计
链接地址:https://www.777doc.com/doc-5679496 .html