数据库系统原理与应用第二章.ppt
第二章 数据库建模,数据库系统的主体之一就是数据库。设计数据库就是确定数据库中保留什么信息,确认各种信息之间存在的联系。数据库建模就是使用合适的语言或表示方式表示出这种信息。常用的方法有:ER(Entity Relationship 实体联系)图IDEF1x(Integration DEFinition method 集成定义方法)图ODL(Object-Definition Language 对象定义语言)方法,第二章 数据库建模,信息世界的描述 1 现实世界 2 信息世界 3 机器世界,第二章 数据库建模,三种不同的范筹内使用不同的术语,2.1实体-联系模型,实体-联系模型,简称为E-R模型,它是这样认识现实世界的:现实世界是由一组称作实体的基本对象以及这些对象间的联系构成的。同一类型的所有实体的集合称作实体集,同一类型的所有联系的集合称作联系集。,2.1 ER图的基本概念,2.1.1 实体集和实体集中的属性1实体(Entity)2实体集3实体类型 4属性5实体标识(码或键),2.1 ER图的基本概念,2.1.2 联系集和联系集中的属性6联系 7联系集 8联系类型,2.1 ER图的基本概念,联系集 图书作者,2.1 ER图的基本概念,2.1.3 绘制ER图 1、ER图的图元,2.1 ER图的基本概念,2.1.3 绘制ER图 2、ER图实例,多对多,2.2 ER图设计的原则,真实性原则避免冗余原则简单性原则适合性原则,2.3 对约束建模,约束就是对客观对象的属性和关系的取值范围进行限制的手段。映射约束键码约束参照完整性约束域约束其它约束,2.3 对约束建模,映射约束 映射约束就是指一个实体集中的实体通过联系集可以同另一个实体集相联系的实体数量。映射可以描述两个实体集之间的联系,也可以描述多个实体集之间的联系。两个实体集之间的联系有:一对一、一对多、多对一、多对多几种情况。,2.3 对约束建模,2、键码约束 超键码是一个或多个属性的集合,这些属性的组合可以使人们在一个实体集中唯一地标识出一个实体。键码,若存在一个超键码,它的任意真子集都不能成为超键码,这个超键码就是键码。,2.3 对约束建模,3、参照完整性约束 参照完整性有时也称为存在依赖约束。当不同实体集中的实体之间存在依赖关系时,实体集就有主实体集和支配实体集之分。,2.3 对约束建模,4、域约束 每一个属性都有一定的取值,其大小、范围和类型等约束称为域约束。5、其它约束,2.4 ER图的高级技术,特殊化技术概括技术属性继承性技术概括约束设计聚集技术,2.5其它几种模型,IDEF1x图:IDEF1x(Integration DEFinition method 集成定义方法)是另一种建立数据库模型的方法。与ER图相比,其产生的较晚,从功能上讲,IDEF图具有更加完善的语法、增强的图形表达能力、规范的开发过程、标准的文本格式、大量的软件建模工具。因此IDEF图的使用越来越广泛。,2.5其它几种模型,OLD(Object Definition Language)方法:随着软硬件技术的不断发展,人们对数据库的认识越来越深入。简单的二维表格(关系型数据库)已经无法表达诸如多媒体数据、超文本数据、多维数据、CAD数据等海量数据和复杂的联系。于是提出了面向对象的数据库,它把客观世界的对象依然看成是一个完整的对象,建立描述该对象的数据和对象之间联系的面向对象模型。该技术目前仍不成熟。ODL是一种基于面向对象技术建立数据库模型的方法。,2.6关系模型,关系模型是目前应用最广泛的数据库模型,它具有严格的理论体系,许多商品化的数据库系统都是依此为基础的。关系模型是一种用二维表来表示实体数据和实体之间关系等信息的数据库模型。每个表有多个列,每列有唯一的列名。如图所示:类似于ER模型,表和表之间也会有相应的联系。下表是一个关系实例。,2.6关系模型,1、属性 2、模式(库结构)3、元组(记录)4、域(属性的取值情况)5、关系的等价表述方法(列与行的位置不重要)6、ER图中的联系集到关系模式的转换,2.7 常见的数据库形式,数据(信息)是管理信息系统的基础。如何把信息以最优的方式组织起来,使用户方便、灵活、有效地使用,这就是数据库设计的基本出发点。数据存储发展的几个阶段:数据与程序一体化;独立的数据文件数据库层次型数据库网状型数据库关系型数据库,2.7.1 层次型数据库,用树型结构表示实体与实体之间联系的数据模型(1对1、1对m)。,学院,系,教研室,部(处),科(室),工厂,车间,2.7.2 网状型数据库,网状模型是以记录类型为节点的网状数据模型(n对m)。,学院,系,教研室,部(处),科(室),工厂,车间,2.7.3 关系型数据库模型,一般来讲,用表格数据的形式来表示实体和实体之间联系的模型叫关系模型。,汽车配件表,实体,属性,属性值,关键字,关系型数据库构造方法,使用方便 数据冗余小第一范式 如果关系模式R中的每个属性值都是不可再分的最小单位,则该R满足第一范式。,关系型数据库构造方法,关系型数据库构造方法,第二范式 如果关系模式R满足第一范式,且它的每一个非主属性都完全依赖于同一主关键字,则该R满足第二范式。,关系型数据库构造方法,第二范式 如果关系模式R满足第一范式,且它的每一个非主属性都完全依赖于同一主关键字,则该R满足第二范式。,关系型数据库构造方法,第三范式 如果关系模式R满足第二范式,且它的每一个非主属性都不传递依赖于任何主关键字,则该R满足第三范式。,关系型数据库构造方法,