【数据库系统概论】关系数据库中的关系数据结构

  • 前言
  • 关系
  • 关系模式
  • 关系数据库
  • 关系模型的存储结构
  • 感谢

前言

上一篇文章【数据库系统概论】数据模型介绍了数据库系统中的数据模型的基本概念。其中提到了关系模型是最重要的一种数据模型。下面将介绍支持关系模型的数据库系统——关系数据库
按照数据模型的三大要素,关系模型由关系数据结构关系操作集合关系完整性约束三部分组成。本篇文章将介绍这三部分内容中的第一部分即关系数据结构。

关系

关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。
在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。关系模型建立在集合代数的基础上。

下面从集合论的角度给出关系数据结构的格式化定义:

  1. 域(Domain)
    域是一组具有相同数据类型的值的集合。域(集合)的元素时单值。

  2. 笛卡尔积
    给定一组域D1,D2,…,Dn,允许其中某些域是相同的。
    D1,D2,…,Dn 的笛卡尔积为:
    D1×D2×…×Dn = {(d1,d2,…,dn)|diDi,i=1,2,…,n}

    通俗的讲,笛卡尔积的元素(d1,d2,…,dn)就是依次从每个域(集合)中取出一个值而形成的组合。也叫做元组。而元素(d1,d2,…,dn)中的每一个值di 叫作一个分量。一个域中的元素数就是基数

    笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中的每列对应一个域。

    例如,给出3个域:
    D1=导师集合SUPERVISOR={张清玫,刘逸}
    D2=专业集合SPECIALITY={计算机专业,信息专业}
    D3=研究生集合POSTGRADUATE={李勇,刘晨,王敏}
    D1,D2,D3的笛卡尔积为:
    D1×D2×D3={
    (张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
    (张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
    (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
    (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
    (刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
    (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }
    基数为2×2×3=12
    表示为:【数据库系统概论】关系数据库中的关系数据结构_第1张图片

  3. 关系
    笛卡尔积并不都具有实际语义。将其中具有现实意义的数据抽取出来就形成了关系。所以关系是笛卡尔积的一个有限子集

    • 属性
      关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。n目关系必有n个属性。

    • 候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。简单的情况:候选码只包含一个属性。
      主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
      主属性:候选码的诸属性称为主属性(Prime attribute)。

    关系可以有三种类型:

    • 基本关系(基本表或基表)
      实际存在的表,是实际存储数据的逻辑表示
    • 查询表
      查询结果对应的表
    • 视图表
      由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

关系模式

在数据库中要区分型和值。关系数据库中,关系模式是型,关系是值。关系模式是关系的描述。

关系模式通常可以简记为:R (U) 或 R (A1,A2,…,An)
R: 关系名
A1,A2,…,An : 属性名
注意:域名及属性向域的映象常常直接说明为
属性的类型、长度

关系模式和关系往往笼统称为关系。在具体情况中通过上下文加以区别。

关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库。

关系数据库也有型和值的区分。
关系数据库的型:也叫关系数据库模式,是对关系数据库的描述。它包括域上的若干关系模式。
关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库。

关系模型的存储结构

若干表在存储设备中如何组织?不同的DBMS的处理方式不一样。

  • 有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成。
  • 有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理。

感谢

好啦,这次的分享就到这里,感谢大家看到这里

你可能感兴趣的:(数据库,数据结构)