1第4章数据库与数据仓库4.1数据的描述与组织4.2数据库管理技术4.3数据模型4.4关系的规范化4.5数据库设计4.6数据仓库与数据挖掘24.1数据的描述与组织4.1.1三个世界1.现实世界2.信息世界3.计算机世界(或数据世界)将客观事物抽象(能用计算机存储和处理的)为数据过程的三个阶段如图4-1所示344.1.2数据组织的层次数据的组织一般分为:数据项——反映实体的某种属性记录——反映一个实体或其部分数据文件——反映某类实体数据库——反映整个实体集合5事物集合事物性质实体集合属性实体数据项记录文件现实世界信息世界数据世界数据组织的层次结构6784.2数据库管理技术4.2.1数据管理的发展•1.简单应用阶段(20世纪50年代以前)9•2.文件系统阶段(20世纪50年代后期到60年代中期)10•3.数据库系统阶段(20世纪60年代后期)11•4.2.2数据库管理系统1.数据库系统(DBS)•数据库系统是指在计算机系统中引入数据库后的系统,这类系统由五部分组成:硬件系统、数据库集合、数据库管理系统(DBMS)及相关软件、数据库管理员(DataBaseAdministrator,简记为DBA)和用户。2.数据库管理系统(DBMS)•DBMS是数据库系统的核心,是位于用户和操作系统之间的一个数据管理软件,其基本功能是:(1)数据库的定义功能(2)数据库的操作功能(3)数据库的保护功能(4)数据库的维护功能(5)数据的存储管理124.3数据模型•4.3.1信息模型(概念模型)•1.信息模型的要素(1)实体(Entity)(2)实体集(Entityset)(3)属性(Attribute)(4)联系(Relationship)(5)键(Key)(6)域(Domain)13•2.两个实体集之间联系的分类(1)一对一联系记为1﹕1(2)一对多联系记为1:n(3)多对多联系记为m:n实体联系模型(Entity—RelationshipModel,简记为E-R模型)是P.S.Chen于1976年提出的。这个模型直接从现实世界中抽象出实体类型及实体间联系,然后用实体联系图(E-R图)表示数据模型。设计E-R图的方法称为E-R方法。14•在E-R图中有下面四个基本成分:(1)矩形框,表示实体类型(考虑问题的对象)。(2)菱形框,表示联系类型(实体之间的联系)。(3)椭圆形框,表示实体类型和联系类型的属性。(4)直线,联系类型与其涉及的实体类型之间以直线连接,用来表示它们之间的联系,并在直线端部标注联系的种类(1﹕1、1﹕n或m﹕n)。1516•4.3.2数据模型1.数据模型的三要素•数据模型是严格定义了的概念集合。数据库的数据模型应包含数据结构、数据操作和完整性约束三部分。其中:(1)数据结构是指对实体类型和实体间联系的表达和现实。(2)数据操作是指对数据库检索和更新(包括插入、删除、修改)两大类操作。(3)数据完整性约束给出数据及其联系所具有的制约和依赖规则。这些规则用于限定数据库的状态及状态的变化,以保证数据库中数据的正确、有效和安全。17•2.数据模型与信息模型的关系18•3.关系模型RelationalModel•实际数据库系统中所支持的主要数据模型是:层次模型(HierarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)。层次模型和网状模型统称为非关系模型。在非关系模型中,实体型用记录型来表达,实体之间的联系被转换成记录型之间的两两联系。•关系模型的主要特征是用表格结构表达实体集,用外键(或外码即是和其它表中的主键相关的列)表示实体间联系。•关系模型是由若干个关系模式组成的集合•关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张表格。19•关系模型中的主要术语:①关系:一个关系对应于我们平常讲的一张表;②元组:表中的一行称为一个元组;③属性:表中的一列称为属性,给每一列起的一个名称即属性名;④主码:表中的某个属性组,它们的值唯一地标识一个元组;⑤域:属性的取值范围;⑥分量:元组中的一个属性值;⑦关系模式:对关系的描述,用关系名(属性1,属性2,……,属性n)来表示,其中主码下面加上下划线。2021•4.3.3概念模型向关系模型的转换•由E-R图向关系模型转换可按下述的3条规则进行:1、一个实体型转换为一个关系,实体的属性就是该关系的属性,实体的码就是该关系的码。2、一个联系也可以转换为一个关系,与该联系相连的各实体的码以及联系的属性可转换为关系的属性:——若联系为1:1,则所连接的各实体的码均是该关系的码。——若联系为1:N,关系的码为N端实体的码。——若联系为M:N,则关系的码为所连接的各实体码的组合。3、码相同的关系可以合并22对应的关系模型如下:零件表(零件号,零件名称,单价)供应商表(供应商编号,供应商名称,供应商地址,邮编)零件供应表(零件号,供应商编号,数量,金额)23•4.4关系的规范化•1.第一范式(1NF)(1)关系中每个数据项(元组中每个分量)必须是一个不可分的数据项,即此项所表达的实体属性必是原子属性,且要求数据项没有重复组。(2)列是同质的,即每一列中所有数据项类型相同。各列指定一个相异的名字,列的次序任意。(3)各行相异,不允许有重复的行,行的次序任意。满足上述要求的关系,叫做关系的第一范式(1NF),否则称为非规范形式。在建立关系数据模式时,必须将非规范形式规范化。2425•第一范式是基本的,但存在一些问题按此关系所建的数据库有以下几个缺点:(1)冗余度高。如张一这个教师的名字等基本信息由于他有两个学历而要存储两次,浪费了存储空间。(2)维护困难。这种关系对于数据的修改,删除,插入等操作都十分不方便,例如:张一的记录要删除就要两个同时删除。(3)容易造成数据的矛盾。由于维护操作的不便,许多数据的多次存储稍有疏忽就会使同一数据在数据库中的结果不同,同一个张一可能具有不同的工资,这就造成了数据库的矛盾性。26•2.第二范式(2NF)•从第一范式中分解出新的关系,使每个关系里都可确定一个或几个属性作为关系的主关键字,使该关系中的其他属性都完全依赖于它而定,从而消去非主属性对主关键字的不完全依赖性,所得的关系叫第二范式的关系。27•第二范式仍然会造成一些麻烦。表4-5(a)这个关系:实际上也有数据冗余,容易造成数据矛盾等问题,其原因就在于这些属性间存在着如下的一种传递依赖关系,即:教师编号级别级别工资从而使:教师编号级别工资28•3.第三范式(3NF)•消去非主属性对主关键字的传递依赖性,称为第三范式。现在只要把第二范式的关系恰当拆开为几个关系即可达目的。如表4-5(a)的关系,拆开为表4-6(a)和表4-6(b)两个关系,就都是第三范式了29304.5数据库设计•1.数据库设计方法简述–手工试凑法–规范设计法•有新奥尔良(NewOrleans)方法。它将数据库设计分为四个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)31•2.数据库设计步骤(1)需求分析•需求分析的任务是对现实世界要处理的对象(组织、部门企业等)进行详细调查。调查的重点是“数据”和“处理”,通过调查获得每个信息使用者对数据库的要求。•具体步骤:①了解组织机构情况,为分析信息流做准备;②了解各部门业务情况,调查个部门输入和使用的数据及处理数据的方式与算法;③确定数据库的信息组成及计算机系统应实现的功能。32(2)概念结构设计•概念结构设计的任务是对用户的需求进行综合、归纳和抽象,产生一个独立于DBMS的概念数据模型。在概念结构设计阶段,所用的代表工具主要是E-R图。构造概念数据模型时要注意的是:应充分反映现实世界中实体与实体之间的联系;满足不同用户对数据处理的要求;易于理解,可以与用户交流;易于更改;易于向关系模型转化。(3)逻辑结构设计•逻辑结构设计的任务是将概念模型转换为某个DBMS支持的数据模型,然后再对转换后的模型进行定义描述,并对其进行优化,最终产生一个优化的数据库模式。•数据库逻辑设计的步骤主要分两步:①把概念模型转换为关系模式,按一定的规则向数据模型转换;②将转换得到的数据模型进行修改完善。33(4)物理结构设计•物理结构设计的任务是为逻辑结构选取最适合应用环境的物理结构,包括存储结构和存取方法。它主要依赖于给定的计算机系统。在进行物理结构设计时主要考虑数据存储和数据处理方面的问题。数据存储是确定数据库所需要存储空间的大小,以尽量减少空间占用为原则。数据处理决定操作次数的多少,应尽量减少操作次数,使相应的时间越快越好。(5)数据库的实施•完成数据库的物理设计之后,设计人员就要选定的DBMS提供的数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,成为DBMS可接受的源代码;再经过调试产生目标模式,然后就可以组织数据入库了。(6)数据库的运行与维护344.6数据仓库与数据挖掘•4.6.1数据仓库1.数据仓库的概念数据仓库的概念是由数据仓库之父W.H.Inmon提出来的,他指出数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持经营管理中的决策制定过程。35•2.数据仓库与数据库的区别•数据库是面向事务的设计,数据仓库是面向主题设计的。•数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。•数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计的。•数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。36•3.数据仓库的特性(1)面向主题:操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。(2)集成的:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。(3)相对稳定的:数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。(4)反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从37•4.数据仓库的基本结构•数据仓库中的信息存储,是根据对数据的不同深度处理来分成不同层次的。其结构一般划分为以下几个方面:(1)历史性详细数据层。它存储历史数据,供分析、建模、预测之用。(2)当前详细数据层。存储最新详细数据,是进一步分析数据的基础。(3)不同程序的归纳总结信息层。可包含多个层次,根据所需分类和归纳的不同深度而定,如按周、月、年统计的数据。(4)专业分析信息层。进一步专业分析的结果,如统计分析、运筹分析、时间序列分析以及表面数据的内在规律分析等。(5)结构信息。数据仓库的内部结构信息,反映各种信息在数据仓库中的位置分布和处理方式等,以便检索查询之用。38•5.数据仓库工具的组成–数据集市–关系数据库–数据源–数据准备区–各种服务工具•如联机分析处理(OLAP)、数据挖掘工具、预定义报表39•4.6.2数据挖掘•1.数据挖掘的概念•2.数据仓库与数据挖掘的关系•3.数据仓库与数据挖掘的区别•4.数据挖掘方法与算法数据挖掘(DataMining),又称为数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。40用户界面模式评估数据挖掘引擎数据库或数据仓库服务器数据库数据仓库万维网其他信息存储库知识库数据清理、集成和选择图4-14典型数据挖掘系统结构4142•6.数据挖掘的主要应用方向(1)财务分析的数据挖掘(2)电信行业的数据挖掘(3)零售业的数据挖掘