首页 > 技术文章 > 数据库---数据库系统3

Yjiaw 2022-03-22 19:02 原文

数据库系统

一、关系的三类完整性约束:

  1. 实体完整性和参照完整性: 关系模型必须满足的完整性约束条件。称为关系的两个不变性,应该由关系系统自动支持。
  2. 用户定义的完整性: 应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

二、实体完整性:

1、规则3.1 实体完整性规则(Entity Integrity)

  • 若属性A是基本关系R的主属性,则属性A不能取空值
  • 例:student(学号,姓名,性别,专业)
  • 主码“学号”不能取空值

2、实体完整性规则的说明:

(1) 实体完整性规则是针对基本关系而言的。

(2) 现实世界的实体是可区分的,即它们具有某种唯一性标识。

(3) 关系模型中以主码作为唯一性标识。

(4) 主码中的属性即主属性不能取空值。

注:主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。

三、参照完整性:

  • 现实世界中的实体之间往往存在某种联系,在关系模型中,实体及实体间的联系都是用关系来描述的。
  • 参照完整性用于描述实体之间的联系。
  • 一般用外码实现。 外码:取作本表(子表)属性之一的外表(主表)
  • 主码。 主码值先在主表中生成,后在子表中引用。
  • 外码:
  1. 设F是基本关系R的一个或一组属性,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。
  2. 关系R称为参照关系(Referencing Relation)。
  3. 关系S称为被参照关系(Referenced Relation),或目标关系(Target Relation)(被引用表)。

四、参照完整性规则:

1、规则3.2 参照完整性规则:若属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

  • 或者取空值(F的每个属性值均为空值)
  • 或者等于S中(被引用表)某个元组的主码值

五、用户定义的完整性:

  1. 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
  2. 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。

六、数据库系统的结构:

1、从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。

2、数据库系统模式的概念

1)模式(Schema)

  • 数据库逻辑结构和特征的描述
  • 是型的描述
  • 反映的是数据的结构及其联系
  • 模式是相对稳定的

2)实例(Instance)

  • 模式的一个具体值
  • 反映数据库某一时刻的状态
  • 同一个模式可以有很多实例
  • 实例随数据库中的数据的更新而变动

七、数据库系统的三级模式结构

  1. 外模式( External Schema)
  2. 概念模式(Logical Schema)
  3. 内模式(Internal Schema)

1、外模式(External Schema):

1)外模式(也称子模式或用户模式)

  • 数据库用户(包括应用程序员和最终用户)
  • 使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

2)外模式的用途

保证数据库安全性的一个有力措施

注:每个用户只能看见和访问所对应的外模式中的数据

2、概念模式(Logical Schema)

1)概念模式(也称为逻辑模式或模式)

  • 数据库中全体数据的逻辑结构和特征的描述
  • 包括数据的逻辑结构(数据项的名字、类型、取值范围等)、数据之间的联系、数据有关的安全性、完整性要求

2)一个数据库只有一个概念模式

3)概念模式的地位:

  • 是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关
  • 与具体的应用程序、开发工具及程序设计语言无关

3、内模式(Internal Schema):

1)内模式(也称存储模式)

  • 是数据物理结构和存储方式的描述
  • 是数据在数据库内部的表示方式
  1. 记录的存储方式(顺序存储,B树结构存储,hash方法存储)
  2. 索引的组织方式
  3. 数据是否压缩存储 数
  4. 据是否加密
  5. 数据存储记录结构的规定

2)一个数据库只有一个内模式

4、模式的关系

 

推荐阅读