杨浦 王樑
摘要:该数据库对于给定的应用环境,利用计算机的基础知识、软件工程的原理和方法、程序设计的方法和技巧、数据库的基本知识、数据库设计技术、应用领域的知识等多学科综合知识与技术,对网上图书销售管理数据库做了需求分析,概念结构设计,逻辑结构设计,物理结构设计和Oracle数据库实施。最终设计出了一个简单的可对其进行用户管理、图书管理、进货管理,销售管理和售后管理的网上图书销售管理数据库,使之能够有效地管理和存储数据,满足一些简单的应用需求。
关键词:数据库设计;网上图书销售:进销存管理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)26-0013-03
Abstract: For a given application environment, by multidisciplinary comprehensive knowledge and technology of the basic knowledge of computer, the principle and method of software engineering, programming methods and techniques, basic knowledge of the database, database design technology and application field knowledge, the online book sales management database was analyzed for the requirement, concept structure design, logic structure design, physical structure design and the implementation of Oracle database. Finally, a simple online book sales management database was designed for user management, book management, purchase management, sales management and after-sales management which effectively managed and stored data and meet some simple application requirements.
Key words: database design; online book sales; purchase-sales-inventory management
1 概述
网上图书销售的数据库设计,使该数据库系统能够有效地存储和管理数据,满足各种用户的应用需求。项目开发的主要内容:分析用户需求——数据流程图;对用户需求进行综合、归纳与抽象,进行概念结构设计,画出ER图;对逻辑结构进行设计,将ER图转换为关系模式;对数据库进行实施,创建基本表、视图、索引、存储过程、触发器。
2 需求分析
画数据流程图,首先查询组织机构的情况,弄清楚业务活动,分析查询的结果,确定哪些功能由计算机完成,哪些是由人工完成。
分析后做数据流程图,自顶向下,逐层分解。
处理对象及组织:对象为顾客、书商,由网上图书销售系统组织。
数据库系统性能需要:基本表、视图、索引、触发器、存储过程。
系统功能:实现对顾客表,进货表,退货表,销售表,书本表的插入与查询,能实现对书本数量的更新。
顾客给出售后评论信息,评论处理业务将评论信息记录。
顾客给出退货信息,检查退货业务检查后将退货信息记录。
检查退货后将退货的货物情况交给退货反馈业务,将商品的情况反馈给用户。
顾客将自身信息给用户增删改业务,然后进行存储或者返回已有信息,顾客将订单信息给订单处理业务,用户增删改与查询业务将用户的资料给订单处理业务,订单处理业务结合顾客的订单信息和顾客的信息生成销售信息并进行存储。订单处理业务将出库的内容给书本出库处理,书本出库处理业务反馈快递的投递状况记入销售记录,并把书本减少的信息记入图书记录。
书商给出新书信息,新书信息处理业务将数量置零并存入图书记录,图书记录给出图书的数量信息,缺货检查业务进行检查,将缺货信息 给进货业务,进货业务对进货情况进行记录,并将信息传递给验货业务,验货如果不合格则进行记录并重新进货,如果合格则进行入库,将书本增加的信息记入图书记录。
3 数据库结构设计
主要包括概念设计和逻辑设计两个部分。
3.1 概念设计
设计目标:将需求分析阶段所得到的用户需求抽象为概念模型
任务和方法:
设计ER模型
划分实體与属性:现实世界的食=事物能够作为属性对待的尽量作为属性对待,作为属性不能再具有需要描述的性质,不能与其他实体具有联系。
集成ER图:合并ER图,生成初步ER图——消除不必要的冗余,设计基本ER图。
3.1.1 分E-R图建立
阐述分E-R图建立的思想(以中层数据为切入点,按照分层次/分模块思想),用E-R模式描述。
E-R图是描述现实世界的概念模型,在数据流程图中,看数据流和数据存储能否、是否需要转换为实体,能作为属性对待的尽量作为属性对待。
售后业务中每个实体的属性:
顾客:(顾客编号,顾客姓名,顾客性别,顾客联系方式,顾客地址)。
退货单:(退货号,退货顾客编号,退货时间,退货反馈信息)。
退货细则:(退货号,退货书本编号,退货书本数量,备注)。
书本:(书本编号,书本名字,书本作者,书本类别,书本出版社,书本出版日期,书本库存量)。
书商:(书商编号,书商姓名,书商性别,书商联系方式)。
评论与回复表:(评论编号,评论顾客编号,评论信息,评论时间,回复书商编号,评论回复,回复时间)。
售书业务中每个实体的属性:
顾客:(顾客编号,顾客姓名,顾客性别,顾客联系方式,顾客地址)。
书本:(书本编号,书本名字,书本类别,书本出版社,书本出版日期,书本库存量)。
销售单:(销售单编号,顾客编号,商品总价,销售时间,快递状态)。
销售单细则:(销售单编号,书本编号,书本数量,书本单价,备注)。
图书管理中每个实体的属性:
书本:(书本编号,书本名字,书本类别,书本出版社,书本库存量)。
进货记录(进货编号,进货厂商,进货时间)。
进货细则(进货编号,进货书本编号,进货书本数量,进货书本质量)。
3.1.2 全局/整体E-R图
步骤:
(1) 合并ER图,生成初步ER图
消除属性冲突(属性域冲突、属性区取值单位冲突),命名冲突(同名异义、异名同义),结构冲突等。
(2) 消除不必要的冗余,设计基本ER图
由于自己设计的数据库系统本身就不存在这些问题,于是不存在消除冲突、冗余过程。
3.2 逻辑设计
目标:把概念结构设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。
主要内容与方法:
(1) ER图向关系模式的转化:将实体型、实体的属性和实体之间的联系转换为关系模式,一个实体型转换为一个关系模式,对于实体间的联系有几种不同的情况。
(2) 数据模型的优化:确定数据依赖、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系、按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式、根据需求分析阶段得到的处理要求分析对于這样的应用环境这些模式是否合适,确定是否要对某些模式进行合并和分解、对关系模式进行必要分解,提高数据操作效率和存储空间利用率。
(3) 设计用户子模式:设计视图——使用更符合用户习惯的别名、对不同级别用户定义不同视图、简化用户对系统的使用。
3.2.1 建立关系模式
将E-R模型转换为关系模式的基本原则:
(1) 一个实体转换为一个关系模式。
(2) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(3) 一个1:n联系可以转换为一个独立的关系模式,也可以和n端对应的关系模式合并。
(4) 一个m:n联系转换为一个关系模式。
(5) 具有相同码的关系模式可合并。
3.2.2 关系模式规范化处理
根据范式理论,分析每个关系的主属性和非主属性,写出每个非主属性对主码的函数依赖,以此来分析每一个关系模式是否满足3NF,对不满足3NF的关系模式要进行模式分解,使每个关系模式达到3NF的要求。
[通联编辑:代影]