1第二章物流数据库及其管理技术2学习目标•了解数据库的历史、概念及系统构成;•了解数据库发展的新技术、新方向及数据挖掘基础知识;•掌握数据模型、数据设计理论与技术。3主要内容•数据库基础知识•数据库技术及设计•数据仓库与数据挖掘4第一节数据库基础知识5一、数据库概述(一)基本概念和术语•数据(Data)•信息(Information)•数据库DB(DataBase)•数据库管理系统DBMS(DataBaseManagementSystem)•数据处理•数据管理6(二)数据库技术发展历史•人工管理•文件系统•数据库系统7(三)数据库技术发展历史与现状第一代:层次和网状数据库IBM公司于1968年研制成功层次数据库IMS,它是世界上第一个DBMS系统。第二代:关系数据库系统(RelationalDBMS,RDBMS)1970年E.F.Codd提出关系数据理论,开创了数据库系统的新纪元,后来又发表了多篇论文,奠定了关系数据库的理论基础。30年来,关系数据库的研究取得了辉煌的成就,涌现了许多性能良好的商品化关系数据库管理系统,如DB2,Oracle,Ingres,Sybase,Informix等,关系数据库的应用领域也不断扩大。第三代:面向对象的数据库系统(ObjectOrientedDBMS,OODBMS)8(四)数据库发展方向•在数据库管理系统上,主要表现在以下四个方面。(1)面向对象数据库;(2)对象—关系数据库;(3)并行数据库;(4)分布式数据库。•在数据库应用方面,主要表现在以下四个方面:(1)数据仓库;(2)数据挖掘;(3)OLAP;(4)时态数据库。910二、数据模型•概念模型(也称语义模型)•数据模型(如网状、层次及关系模型)11二、数据模型(一)概念模型概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。概念模型独立于具体的机器和DBMS。概念模型是现实世界的抽象描述,是现实世界到机器世界的一个中间层次,反映现实世界所涉及的对象及对象间的联系。12•实体联系模型反映的是现实世界中的事物及其相互联系•相关概念–实体(entity)——是客观世界中描述客观事物的概念,可以指事物本身,也可以指事物之间的联系–属性——指实体具有的某种特性。用来描述实体–联系——现实世界的事物间存在的相互关系•一是实体内部的联系•一是实体之间的联系–实体联系模型通过E-R图形表示信息世界中的实体、属性、关系的模型(一)概念模型——实体联系模型13•E-R模型中的对应关系:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)(一)概念模型——实体联系模型(E-R图)14(一)概念模型——E-R图数据库的E-R图常用以下图形表示:15(一)概念模型——E-R图(举例)假如一个学生选修课程,则学生与课程之间是选修关系。对于实体学生和课程,其各有自己的属性。图中联系“选修”也有属性,它的属性是学生选修某门课程的“成绩”。16(二)数据模型——相关概念•数据结构:描述系统的静态特性,即组成数据库的对象类型。包括数据本身的类型(如内容、性质)和数据之间的联系。•数据操作:描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则。一般有检索、更新(插入、删除、修改)操作。数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言。•数据的约束条件:是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容。17(二)数据模型——三种数据模型介绍层次模型网状模型关系模型18【例2-1】描述图2-9所示的学生选课关系模型•学生(学号,姓名,年龄,性别,系别,年级)•课程(课程号,课程名,学分)•选课(学号,课程号,成绩)19三、数据库系统组成•数据库系统指带有数据库的整个计算机系统,包括硬件、软件、数据以及人员。20四、关系数据库介绍关系数据库系统是支持关系模型的数据库系统,是基于严格数据模型的一种数据库系统。1970年E.F.Codd提出关系数据模型:“ARelationalModelofDataforLargeSharedDataBanks”,1970之后,提出了关系代数和关系演算的概念,1972年提出了关系的第一、第二、第三范式,1974年提出了关系的BC范式,80年代后,关系数据库系统成为最重要、最流行的数据库系统。典型实验系统有SystemR、UniversityINGRES,典型商用系统有ORACLE、SYBASE、INFORMIX、DB2、SQLServer等。21五、SQL语言SQL语言的概念SQL语言的特点常用SQL语言22(一)SQL语言的概念SQL语言(StructuredQueryLanguage)是处理关系数据库的标准语言,并且市场上的任何数据库产品都支持SQL。SQL是20世纪70年代早期在IBM公司的研究所开发的SystemR中实现的,随后又在IBM公司的其他商品和其他公司的商品中实现。SQL原先是作为特殊的“数据子语言”出现的,然而,随着持久存储模块(PSM)在1996年成为了标准,SQL已经变成了计算上完全(computationallycomplete)的语言。T-SQL(TransactstructureQueryLanguage)是一种增强的SQL,它在SQL语言的基础上扩充了许多新的内容。23(二)SQL语言的特点综合统一高度非过程化面向集合的操作方式同一种语法结构提供两种使用方式(自含式语言;嵌入式语言)语言简捷,易学易用24(三)常用SQL语言SQL语言由以下部分组成,包括:DDL(DataDefinitionLanguage)DML(DataManipulationLanguage)DCL(DataControlLanguage)存储过程和触发器嵌入式SQL语言25•定义表:如创建表,删除表,修改表定义;•定义视图:如创建视图、删除视图、间接修改视图定义(删除+创建视图);•定义索引(内模式或内部视图):如创建索引、删除索引、间接修改索引定义(删除+创建索引)1.SQL数据定义语言(DDL)功能262.SQL数据操纵语言(DML)SQL数据操纵语言提供了select,insert,delete和update命令,完全覆盖关系各种运算。273.SQL数据控制语言(DCL)数据控制亦称为数据保护,包括数据安全性控制、完整性控制、并发控制和数据恢复。284.存储过程和触发器•存储过程是为了完成特定功能汇集而成的一组命名了的SQL语句集合,该集合编译后存放数据库管理系统中,可根据实际情况重新编译,该过程可直接运行,也可以远程运行。•触发器是一种特殊的存储过程。它的优点是不管什么原因造成的数据变化都能自动响应,对于每条SQL语句,触发器仅执行一次,事务可用于触发器中。295.嵌入式SQL语言•SQL的表达能力相比高级语言有一定的限制,有些数据访问要求单纯使用SQL无法完成,因此,有时候要将SQL语言嵌入到高级语言中使用。嵌入式SQL语言的执行过程如图30第二节数据库技术及设计31主要内容数据库设计理论数据库设计技术32一、数据库设计理论(一)基本概念•关系模式•数据依赖•函数依赖•码•范式•规范化331.关系模式关系模式(RelationSchema)是对一个关系的描述,用来定义关系。关系模式的形式化表示为:R(U,D,Dom,F)其中,R——关系名;U——属性集合;D——属性来自的域;Dom——属性向域的映射;F——属性间数据的依赖关系。•关系模式可简化为一个三元组:R(U,F)342.数据依赖•数据依赖是通过一个关系中间属性值的相等与否体现出来的数据间的相互关系。•对于一个三元组R(U,F),当且仅当U上的一个关系r,满足数据依赖关系F时,r称为关系模式R(U,F)的一个关系。353.函数依赖•设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖X。364.码•设K为RU,F中的属性或属性组,若K-U,则K为R的候选码(CK),若候选码多于一个,则选定其中的一个作为主码(PK)。5.范式•满足不同程度要求的约束集称为不同的范式。6.规范化•一个低一级范式的关系模式,通过模式分解(投影运算)可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化。37(二)范式1.第一范式(1NF)当且仅当一个关系R中,每一个分量都是不可再分的数据项时,R∈1NF。即要求属性是原子的、不可再分的。382.第二范式(2NF)假定只有一个候选码,且该候选码是主码:当且仅当一个关系变量属于1NF,且该关系变量的每一个非码属性都完全函数依赖于主码时,该关系变量属于2NF。进一步分解的作用是消除传递函数依赖,也正是消除了这种传递函数依赖才解决了更新异常问题。39解决上述问题的方法是将一个非2NF关系分解为多个2NF的关系。教师关系:教师代码,姓名,职称;课题关系:研究课题号,研究课题名称;教师与课题关系:教师代码,研究课题号。经过上述规范化后的这些关系都符合2NF的要求。403.第三范式(3NF)第三范式(假定关系变量只有一个候选码,且该候选码是主码):当且仅当一个关系变量属于2NF且该关系变量的所有非码属性都不传递依赖于主码时,该关系变量属于3NF。规范化过程的第二步可以归纳为利用投影消除非码属性间的传递函数依赖41消除表2-8中传递依赖的方法,是将原关系分解为如下几个3NF关系:产品关系:产品代码,产品名,生产厂名;生产厂关系:生产厂名,生产厂地址。424.BC范式(BCNF)如果一个关系变量的所有非平凡的、完全的函数依赖的决定因素是候选码,则该关系变量属于Boyce/Codd范式(BCNF)。函数依赖图中唯一的一个箭头是从候选码中出来的。前面已经说过,每一个候选码总有箭头出来,而BCNF认为这里没有其他箭头,也就是说,在规范化过程中已没有箭头可消除。4344二、数据库设计技术数据库设计概述;数据库设计特点;数据库设计方法;数据库设计过程;45(一)数据库设计概述数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。46(二)数据库设计的特点(1)数据库建设是硬件、软件和数据的结合,常有“三分技术,七分管理,十二分基础数据”的说法。(2)数据库设计应该与应用系统设计相结合,即数据库设计应包含两方面的内容。结构(数据)设计:设计数据库框架或数据库结构。行为(处理)设计:设计应用程序、事务处理等。设计时,要重视对应用中数据语义的分析和抽象,同时要重视对行为的设计。4748(三)数据库设计方法•手工试凑法•规范设计法•计算机辅助设计•数据库设计过程49(四)数据库设计过程50第三节数据仓库与数据挖掘51一、数据仓库概述•数据仓库的产生及发展•数据仓库的体系结构52(一)数据仓库的产生及发展•传统数据库系统无法提供决策分析支持,主要表现在决策处理中的系统响应、决策数据需求和决策数据操作方面。数据仓库DW(DataWarehouse)是支持决策支持系统的、面向主题的、集成的、稳定的、带有商业应用软件的数据库系统。53(二)数据仓库的体系结构54二、数据挖掘数据挖掘的产生与发展数据挖掘过程数据挖掘工具介绍55(一)数据挖掘的产生与发展56(二)数据挖掘过程57(三)数据挖掘工具第一代数据挖掘软件:CBA第二代数据挖掘软件第三代软件,SPSSClementine第四代数据挖掘软件58三、数据挖掘的应用传统的数据挖掘技术现代数据挖掘技术与发展应用实例59(一)传统的数据挖掘技术•数据的聚集与度量技术;•柱状图数据挖掘技术。线形回归是最简单的回归形式;•非线性回归数据挖掘技术。聚类数据挖掘技术;•最近邻数据挖掘技术;60(二)现代数