数据库概论

数据模型

2020-01-01 00:13 CST
2020-01-01 00:13 CST
CC BY-NC 4.0

数据模型

第二章 数据模型

2.1 数据模型的基本概念

  • 数据模型及其组成成分:数据结构,数据操作,数据约束
  • 数据模型的核心,不同类型数据模型的区分依据
  • 三个抽象层次上的数据模型概念:概念数据模型,逻辑数据模型,物理数据模型

2.2 数据模型的四个世界

  • 现实世界,概念世界,信息世界,计算机世界

2.3 概念世界与概念模型

  • E-R模型与E-R图(包括扩充E-R模型)
  • 实体,属性,联系
  • 多值属性(multi-valued attribute) & 组合属性(composite attribute)
  • 联系上的函数对应关系 & 参与方式(Cardinality of Entity Participation in a Relationship)
  • IS-A联系,弱实体
  • 面向对象模型:对象,对象标识符,类,方法,超类和子类,聚合和分解,继承和合成

2.4 信息世界和逻辑模型

  • 关系模型:关系,属性,值域(域),元组,关系数据库,关键字

2.5 计算机世界与物理模型

  • 逻辑模型的物理存储:项,记录,文件,索引,集簇
  • 提高文件访问效率的常用方法:索引,集簇,HASH

数据模型的基本概念

数据模型: 描述数据的结构,定义在该数据结构上可执行的操作以及数据之间必须满足的约束条件

组成:数据结构、数据操作、数据约束

数据结构

描述数据的类型、内容、性质以及数据间的联系

是一个数据模型的基础,也被称为数据模式,数据模式是划分不同数据模型的依据,是数据模型的核心

数据操作

不同数据结构上不同的操作方式与操作类型

数据约束

描述数据结构之间数据的相互联系,包括语法/语义关系,数据间的制约与依存关系、动态变化规则

不同层次的数据模型

概念数据模型:按照用户的观点实现世界中的数据和信息进行建模,刻画内在结构与关系,但是不涉及具体的描述细节与实现,如实体-联系(E-R)模型、面向对象模型

逻辑数据模型(对应了外模式与概念模式):DBMS实现,按数据库系统观点对数据建模,现在一半分为结构化与非结构化,常见的有关系模型、对象关系模型

物理数据模型(对应了内模式):DBMS实现,按照计算机系统观点对数据进行建模

数据模型的四个世界

使用数据模型概念可以将现实中的反映到计算机中数据库的实现,是一个逐步反映的过程,包括现实世界、概念世界、信息世界、计算机世界

现实世界:根据用户需求(数据需求与处理要求)而划定边界的一个应用环境

概念世界:E-R模型,OO模型,这些与具体的DBMS和计算机无关

信息世界:以概念世界为基础,选定特定的DBMS构造而成的逻辑数据模型

计算机世界:在计算机中物理实现,侧重于数据库物理存储结构的描述,包括存储结构的设计、存取路径的设计(文件结构:堆/直接/索引)、存储空间的分配

概念世界与概念模型

是一个较为抽象、概念化的世界

E-R模型(实体-联系模型)

核心概念:实体、属性、联系

ER图:实体:矩形; 属性:椭圆形; 联系:菱形;连接实体集与属性,联系与属性,实体集与联系

实体:客观存在且能相互区别的事物,概念世界中的基本单位,每个实体都有一个实体名用于区分

属性:实体所具有的某种特性或者特征,属性可以有值,一个属性可以取的值的集合称作该属性的,每个属性有一个属性名,所有属性的属性名构成了这个实体的实体型具有共性的实体指的是有相同的实体型

联系:一个实体集中的实体与另一个实体集中的实体存在的对应关系,包括二元联系,多元联系,单个实体集内部的联系

函数对应关系:

  • 1:1
  • 1:m
  • m:n

联系也可以具有属性

属性的描述:属性名

实体的描述:实体+实体型

实体集(具有相同实体型的实体的集合)的描述:实体名+实体型+关键字

扩充E-R模型

IS-A联系:若实体集B是实体集A的一个子集,且具有比实体集A更多的属性,称两者存在IS-A联系,其中实体集A称为超实体集,实体集B称为子实体集,实体集B可以继承A中所有属性

在EE-R图中,用子实体集指向超实体集的单项箭头表示该联系

IS-A具有继承性与传递性

要求子实体集的并集等于超实体集(覆盖约束)与任意两个子实体集不相交(不相交约束

弱实体:实体A的存在需要依赖其他某个实体(如职工vs家属),在EE-R图中表示为从弱实体到联系的有向箭头

属性的划分标识符(关键字)描述符组合属性(多个简单的属性用来描述一个属性,如fname,lname用来描述name这个属性)、多值属性(多值的,如hobbies,双线段表示)

属性基数:二元组(x,y)描述属性上的取值数量特征

  • (0,?) 可以取空值
  • (1,?) 不允许取空值
  • (?,1) 每一个实体在该属性上最多只有一个值,即单值属性
  • (?,N) 每个实体在该属性上可以取多值,即多值属性

参与基数:(实体,联系)

  • 最大参与基数:max-card(E,R),为1表示最多与F中实体一个有联系(单值参与),为N是可能多个实体有联系(多值参与)
  • min-card(E,R):为0可能与另一个实体集中的无联系(可选参与),为1至少与一个有联系(强制参与)
  • 参与基数:Card(E,R)=(min-card(),max-card())

面向对象模型

对象:能相互区分的事物,由对象标识符、静态特性(对象中的属性)、动态特性(可以施加在对象上的方法/操作)组成

对象标识符:每个对象均具有的一个能相互区别的名字

类:具有相同属性、方法的对象集合

方法

超类和子类(IS-A关系)

聚合和分解(IS-PART-OF关系)

继承和合成:单继承/多继承(子类有1/多个超类)

谓词模型

P(x,y,z):为true当且仅当存在一个元组(x,y,z)满足谓词P

信息世界和逻辑模型

E-R模型可以对应的逻辑模型:层次模型、网状模型、关系模型

EE-R模型可以对应的逻辑模型:对象关系模型

面向对象模型对应的逻辑模型:面向对象模型

关系模型

基本数据结构:二维表

数据操纵:对一张表/多张表间的查询,对一张表的删除、插入与修改

关系模式:关系的关系名及其属性名的集合

关系数据库模式:关系数据库中所有关系的关系模式的集合

元组:关系中的每一行

关键字:属性集中唯一标识关系中的一个元组

主关键字:候选关键字中选一个

外关键字:关系R中的属性集F取值来自于关系S中的主关键字K,称属性集F是关系R的外关键字

计算机世界与物理模型

项:文件系统中最小基本单位,项内符号不能继续分割

记录:若干项组成,记录内的各项间有内在语义联系

文件:记录的集合

提高读写操作效率

索引:文件的记录与物理地址间建立一张对应关系表(可以有多级索引)

集簇:查找记录时按照某项的项值查找,将具有相同或者相邻的项值的记录聚集在相同磁盘块内

HASH:通过hash间查找的记录转换成物理地址