数据模型(Data Model)
概念
- 数据模型是对数据特征的抽象。
- 数据模型就是对现实世界的模拟、描述或表示
- 建立数据模型的目的是建立数据库来处理数据。
三要素
①数据结构
。主要描述数据的类型、内容、性质、数据间的联系
②数据操作
。 主要描述在相应的数据结构的操作类型与操作方式
③数据约束
。 主要描述数据结构内数据间的语法、语义联系,他们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效、相容。
类型
①概念模型
。 着重于对客观世界复杂事物的描述及对它们内在联系的刻画。目前,最著名的概念模型有:实体联系模型(E-R模型)、面向对象模型、谓词模型等。
②数据模型
。是面向数据库系统的模型,着重于在数据库一级的实现。成熟并大量的使用数据模型有:层次模型、网状模型、关系模型、面向对象模型
③物理模型
。是面向计算机物理实现的模型,此模型给出了数据模型在计算机上的物理结构的表示。
一、E-R模型
E-R模型的3个基本概念
①实体
。指客观存在并且可以互相区别的事物。可以是实际的事物,也可以是抽象的事件
②联系
。实体间的对应关系称为联系。
实体间的联系的类型:①一对一联系(1:1);②一对多联系(1:n);③多对多联系(n:m)。
③属性
。描述实体的特性称为属性
- 实体(集) 之间必须通过 联系来建立关系
- 实体和联系是概念世界的基本元素,而属性是附属于实体和联系的,本身不构成独立的单位
E-R图
实体集——矩 形
属 性——椭圆形
联 系——菱 形
图形连接线段注明联系的类型(eg:1:1;1:n)
二、关系模型
关系模型是目前最常用的数据模型之一,他的数据结构非常的单一。
关系模型中的术语
- 关系:采用二维表来表示关系,一个二维表就是一个关系,简称表。由表框架和表的元组组成。
- 属性:二维表的一列称为属性,二维表的中属性的个数称为属性元素。
- 值域:每个属性的取值范围
- 元组:二维表的一行称为元组
- 候选码:二维表中唯一标识元组的最小属性集
- 主键(主码):若一个二维表有多个候选码,则选定其中一个作为主键供用户使用
- 外键(外码):表M中某属性集是表N的候选键或主键,则称该属性集为表M的外键或外码。
- 关系的七性质:
①元组个数的有限性。
②元组唯一性;
③元组次序无关性;
④元组分量的原子性;(元组的分量是不可分割的基本数据项)
⑤属性名唯一性;
⑥属性名的次序无关性;
⑦分量值域的同一性;(属性的分量具有与该属性相同的值域,或者说列是同质的)
满足以上7个性质的二维表称为关系,以二维表为基本结构所建立的模型称为关系模型。
关系模型的完整性约束
①实体完整性约束。若属性M是关系的主键,则属性M中属性值不能为空值;
②参照完整性约束。若属性(属性组)A是关系M的外键,它与关系N的主键相对应,则对应关系M中的每个元组在A的值必须为:要么取空值(A的每个属性都为空值),要么等于关系N中某个元组的主键值。
③用户定义的完整性约束。反映了某一具体应用所涉及的数据必须满足的语义要求。(自定义)