SQLServer2005数据库应用技术清华大学出版社第一章销售管理数据库的规划SQLServer2005数据库应用技术清华大学出版社技能目标了解设计数据库的基本步骤;学会设计数据库的基本方法;按照用户的需求设计销售管理数据库。SQLServer2005数据库应用技术清华大学出版社1.1数据库概述1.1.1基本概念数据描述事物的符号称为数据。信息信息是就指对结果进行加工处理,并对人类社会实践和生产活动产生决策影响的数据。数据库(Database)数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。SQLServer2005数据库应用技术清华大学出版社1.1.1基本概念数据库管理系统数据库管理系统(DBMS)是数据库系统的核心软件之一,是位于用户与操作系统之间的一层数据管理软件。DBMS的用途是科学地组织和存储数据、高效地获取和维护数据。SQLServer2005数据库应用技术清华大学出版社DBMS的主要功能数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象数据操纵功能提供数据操纵语言(DML)操纵数据实现对数据库的基本操作(查询、插入、删除和修改)SQLServer2005数据库应用技术清华大学出版社DBMS的主要功能数据库的运行管理保证数据的安全性、完整性多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能数据库数据批量装载,数据库转储介质故障恢复数据库的重组织性能监视等SQLServer2005数据库应用技术清华大学出版社DBMS的类型DBMS根据采用的数据模型的不同,可以分为:层次型网状型关系型面向对象型SQLServer2005数据库应用技术清华大学出版社1.1.1基本概念数据库系统数据库系统(DBS)是有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。SQLServer2005数据库应用技术清华大学出版社应用系统用户用户用户应用开发工具数据库管理员数据库管理系统数据库操作系统SQLServer2005数据库应用技术清华大学出版社数据库应用系统数据库应用系统是在数据库管理系统(DBMS)支持下建立的计算机应用系统,简写为DBAS。数据库应用系统是由数据库系统、应用程序系统、用户组成的。例如,以数据库为基础的教学管理系统、财务管理系统、人事管理系统、图书管理系统等等。SQLServer2005数据库应用技术清华大学出版社1.1.2数据描述数据处理3个阶段SQLServer2005数据库应用技术清华大学出版社1.2数据库设计的步骤SQLServer2005数据库应用技术清华大学出版社数据库设计的步骤数据库设计过程一般分为以下六个阶段:需求分析:进行数据库设计首先必须准确了解与分析用户需求(包括数据和处理)。概念结构设计:它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。逻辑结构设计:是将概念结构转换成某个DBMS所支持的数据模型,并对其进行优化。SQLServer2005数据库应用技术清华大学出版社物理结构设计:是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。数据库实施:设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库运行与维护:数据库应用系统经过试运行后,即可投入运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。SQLServer2005数据库应用技术清华大学出版社1.3销售管理数据库的需求分析需求分析的任务就是对现实世界要处理的对象(组织、部门、企业等)详细调查和分析;收集支持系统目标的基础数据和处理方法;明确用户对数据库的具体要求。在此基础上确定数据库系统的功能。SQLServer2005数据库应用技术清华大学出版社需求分析的步骤(1)调查组织机构情况。(2)调查各部门的业务活动情况。(3)明确对新系统的要求。(4)初步的分析调查结果。(5)建立相关的文档。如用户单位的组织机构图、业务关系图、数据流程图和数据字典,编写需求分析说明书。SQLServer2005数据库应用技术清华大学出版社常用的需求调查方法跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。SQLServer2005数据库应用技术清华大学出版社销售管理数据库的需求分析(续)【例】为某公司设计一个商品销售管理信息系统的需求分析。该公司主要从事商品零售贸易业务。即从供应商手中采购商品,并把这些商品销售到需要的客户手里,以商品服务费赚取利润,即商品。SQLServer2005数据库应用技术清华大学出版社数据流程图的基本画法数据来源数据输出处理数据流数据存储数据流数据流程图要表述出数据来源、数据处理、数据输出以及数据存储,它主要反映了数据和处理的关系。信息要求处理要求SQLServer2005数据库应用技术清华大学出版社需求分析——数据流程图客户公司部门采购订单供应商供应商信息采购销售客户信息销售订单商品商品信息商品信息员工员工信息员工信息SQLServer2005数据库应用技术清华大学出版社数据字典数据字典是各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要结果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。SQLServer2005数据库应用技术清华大学出版社数据项数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}其中取值范围、与其他数据项的逻辑关系(例如,该数据项等于另几个数据项的和,该数据项值等于另一数据项的值等)定义了数据的完整性约束条件,是设计数据检验功能的依据。SQLServer2005数据库应用技术清华大学出版社数据项数据项名称数据类型及长度说明员工编号字符,固定长度6前2位为部门号,后4位为在部门内序号姓名字符,可变长度8性别字符,固定长度2取值范围男或女……SQLServer2005数据库应用技术清华大学出版社数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}SQLServer2005数据库应用技术清华大学出版社数据结构“员工”是销售管理系统中一个核心数据结构,它可以描述如下:数据结构:员工含义说明:是员工管理子系统的主体数据结构,定义了一个员工的有关信息组成:员工编号,姓名,性别,出生年月,聘任时间,工资,奖金,工作部门SQLServer2005数据库应用技术清华大学出版社数据流数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}其中数据来源是说明该数据流来自哪个过程。数据流去向是说明该数据流将到哪个过程去。平均流量是指在单位时间(每天、每周、每月等)里的传输次数。高峰期流量则是指在高峰时期的数据流量。SQLServer2005数据库应用技术清华大学出版社数据流数据流名称:商品信息来源:商品去向:处理——销售包含的数据项:名称单价库存量已售数量SQLServer2005数据库应用技术清华大学出版社数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}其中数据量是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。存取方法包括批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。流入的数据流要指出其来源,流出的数据流要指出其去向。SQLServer2005数据库应用技术清华大学出版社处理过程处理过程的具体处理逻辑一般用判定表或判定数来描述。数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}其中简要说明主要说明该处理过程的功能及处理要求。功能是指该处理过程用来做什么(而不是怎么做),处理要求包括处理频度要求,如单位时间里处理多少事务,多少数据量;响应时间要求等。SQLServer2005数据库应用技术清华大学出版社处理过程处理过程“销售”可描述如下:处理过程:销售说明:根据商品的销售情况统计销售量输入:商品信息,客户信息输出:销售订单处理:根据商品的销售情况统计销售量SQLServer2005数据库应用技术清华大学出版社数据需求商品信息=名称+单价+库存量+已售数量……供应商信息=公司名称+地址+联系人姓名+联系电话+Email……采购订单=商品信息+供应商信息+订购数量+订购时间……客户信息=客户名称+联系人姓名+联系电话+公司地址+Email……销售订单=商品信息+客户信息+销售时间+销售数量……部门信息=部门名称+负责人+办公电话+部门人数……员工信息=姓名+性别+出生年月+聘任时间+工资+奖金+职位+工作部门……SQLServer2005数据库应用技术清华大学出版社概念结构设计概念结构设计的任务概念结构设计的任务就在需求分析的结果上,抽象化后成为概念模型。概念模型通常利用E-R图来表达。SQLServer2005数据库应用技术清华大学出版社实体与联系1、实体:现实世界中的客观存在的并可区分识别的事物称为实体。2、实体集(EntitySet):同型实体的集合称为实体集。如所有的员工、所有的商品等。3、属性:实体的特征。属性值的取值范围称为该属性的域。【例】使用哪些属性来描述公司的员工特征?公司员工使用员工号、姓名、性别、出生年月、雇佣日期、工资等来属性来描述。SQLServer2005数据库应用技术清华大学出版社4、实体型(EntityType)用实体名及其属性名描述同一类实体,简称实体型。如员工(员工号、姓名、性别、出生年月、雇佣日期、工资)就是一个实体型。5、键(Key)能唯一标识一个实体的属性或属性集称为实体的键或码。若一个关系有多个候选码,则选定其中一个为主键(Primarykey)。如员工的员工号,员工的姓名可能有重名,不能作为员工实体的键。SQLServer2005数据库应用技术清华大学出版社实体与联系(续)联系(Relationship):在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。实体内部的联系:指组成实体的各属性间的联系。实体之间的联系:不同实体集间的联系3、实体间的联系(1)一对一联系(1:1)(2)一对多联系(1:m)(3)多对多联系(m:n)SQLServer2005数据库应用技术清华大学出版社概念模型——实体联系模型1对1联系定义:若对于实体集A中的每一个实体,实体集B中只有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。实体型A联系名实体型B11领导主管部门11SQLServer2005数据库应用技术清华大学出版社概念模型——实体联系模型1对多联系定义:若对于实体集A中的每一个实体,实体集B中有n个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。实体型A联系名实体型B1n包括部门员工