图书销售系统的数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图书销售系统的数据库设计
场景:某图书销售管理公司,随着业务的扩展,需要建立一个图书销售系统来进行图书
销售管理活动。
要建立一个图书销售系统,首先要设计其数据库,用来存取和管理图书信息。以下是按数据库设计的六个步骤,对该图书销售系统所需的数据库进行详细设计。
第一步:需求分析(次重点)
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 号
邮箱
分类ID
类名员工号
姓名
书名
出版社
身份证
类别ISBN 号单价
管理员1
1
拥有n
n 管理
图书
(2)管理图书的局部E-R 图
客户名密码送货地址
邮箱
是否送货订单号数量
客户号总价
客户1 n
结账订单
订购日期
地址身份证号
电话送货人
(3)销售相关的局部E-R 图
第二步集成局部视图,得到全局概论结构,即合并分E-R 图,生成总E-R 图生成总 E —R 图,合并时消除各个分 E —R 图的冲突和不必要的冗余。
客户名密码
客户号
邮箱
客户
是否送货
1
结账
送货地址
n
订单
订单号
地址身份证号总价数量电话M送货人
预购
单价
数量
ISBN 号
N
类名
图书类别
1
订购日期
分类ID
书名N 拥有
图书
姓名员工号
N 1 出版社作者
单价管理
管理员
身份证
三、逻辑结构设计(重点)
1. 在概念结构设计的基础上设计数据库的逻辑结构,把相应的E—R 图按一定的转换规则(教材53 页有转换规则)转化为关系模式
客户(客户号,客户名, 密码,邮箱,地址,电话,身份证)
图书(ISBN 号,书名,单价,作者,出版社,分类ID )
分类(分类号,类名)
管理员(员工号,姓名, 身份证号)
订单(订单号,客户号, 数量,总价,日期, 是否送货,送货人,送货地址)
--这个关系模式是由“结账”这个一对多联系合并到多端“订单”实体集转化的
详细订单(客户号,书号,数量)--这个关系模式是由“预购”这个多对多的联系转化的
2. 用3NF 等方法对每个关系模式进行规范化设计后,如下:
用户(用户号,客户名, 密码,邮箱,地址,电话,身份证,权限)
图书(ISBN 号,书名,单价,作者,出版社,分类ID ,用户号)
分类(分类号,类名)
订单(订单号,数量,总价,日期)
详细订单(客户号,书号,数量,小计价钱)
销售(订单号,用户号,是否送货,送货人,送货地址)
四、物理设计
按相应的关系模型,对数据库进行物理设计,这里主要设计相关的表结构和表间的关系1.相关的表结构:
(1 )用户信息表
列名数据类型是否为空说明
UserID int NOTNULL 用户编号,设为主键和标识列
UserName Varchar(50) NOTNULL 用户名
Password Varchar(50) NOTNULL 密码
Power tinyint NOTNULL 权限,默认为0
Email Varchar(50) NOTNULL 邮箱,唯一
Tel Varchar(50) NULL 电话,唯一