数据库系统概述 2.1关系模型概述

一、关系数据结构及形式化定义

1.关系

  • 单一的数据结构-关系
    • 现实世界的实体以及实体之间的各种联系都可以用关系来表示
  • 逻辑结构–二维表
    • 从用户角度来看,关系模型中数据的逻辑结构是一张二维表
  • 关系模式是建立在集合代数的基础上

接下来看和关系相关的几个名词

    • 域是一组具有相同数据类型的值的集合
    • 数学中的取值范围在数据库中就是域
  • 笛卡尔积

笛卡儿积就是关系代数里的一个概念,表示两个表中的每一行数据任意组合的结果。比如:有两个表,左表有m条数据记录,x个字段,右表有n条数据记录,y个字段,则执行交叉连接后将返回m*n条数据记录,x+y个字段。笛卡儿积示意图如图所示。
在这里插入图片描述

  • 元组

    • 笛卡尔积中每一个元素称为一个n元组,简称元组
    • 在我们的二维表中一行就是一个元组
  • 分量

    • 笛卡尔积元素(d1,d2,d3,…,dn)中的每一个值di称为一个分量
      在这里插入图片描述
    • 基数
      • 基数是针对域来说的

      • 一个域允许的不同取值个数称为这个域的基数。若Di(i=1,2,……,n)为有限集,其基数为mi(i=1,2,……,n),则 D1 * D2 * …… * Dn 的基数M为:M= \prod_{i=1}^{n}mi
        在这里插入图片描述

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

  • 关系:D1 * D2 * …… * Dn的子集叫做在域D1,D2,……,Dn上的关系,表示为 R(D1,D2,……,Dn).

    • 这里的 R 表示关系的名字(二维表的名字),n 是关系的目或度。比如二维表有5个属性,那么关系的目就是5
      • 关系中的每个元素是关系中的元组,通常用 t 表示。
      • 当n=1时,称该关系为单元关系,或一元关系。
      • 当n=2时,称该关系为二元关系。
      • D1,D2,…DN表示属性名

在这里插入图片描述

2.关系的表示

  • 关系的表示

    • 关系也是一个二维表,表的每一行对应一个元组,表的每一列对应一个域,一个属性
  • 属性

    • 关系中不同列可以对应相同的域,为了进行区分,对每一个列起名字,叫做属性,n目关系必有n个属性
    • 候选码(Candidate key)
      • 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
        简单的情况:候选码只包含一个属性
      • 比如说学生的学号和身份证号都可以唯一确定一条记录,这个时候选择哪一个都可以,它们都是候选码
    • 全码(All-key)
      • 最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
      • 也就是说给一个属性,不能确定是哪一条记录
      • 下面这个表是学生选课表,一个学生选了很多的课,根据学号,或者课程号,我们并不能唯一确定一条记录,不过学号和课号联合在一起,可以唯一确定
      • 最坏的情况就是,要给出表中所有的属性,我们才可以唯一确定一条记录,这样叫做全码
学生选课表
学号 课号 成绩
001 01 85
001 02 98
001 03 89
002 01 75
002 02 86
002 03 100
  • 主码
    若一个关系有多个候选码,则选定其中一个为主码(Primary key)
    主码和码的关系就像班长和班长候选人之间的关系
  • 主属性
    候选码的属性称为主属性(Prime attribute)
  • 非主属性
    不包含在任何侯选码中的属性称为非主属性(Non-Prime attribute)或非码属性(Non-key attribute)
  • 三类关系
    ①基本关系(基本表):实际存在的表,是实际存储数据的逻辑表示
    ②查询表:查询结果对应的表(虚拟的表)
    ③视图表:由基本表或其他视图表导出的表,是虚拟的表,不对应实际存储的数据
  • 基本关系的性质
    ① 列是同质的(Homogeneous)
    ② 不同的列可出自同一个域
    其中的每一列称为一个属性
    不同的属性要给予不同的属性名
    ③ 列的顺序无所谓,,列的次序可以任意交换
    ④ 任意两个元组的候选码不能相同
    ⑤ 行的顺序无所谓,行的次序可以任意交换
    ⑥ 分量必须取原子值(这是规范条件中最基本的一条)
    在这里插入图片描述

二.关系模式

1.关系模式的定义

关系模式是对关系的描述,关系模式是型,关系是值

  • 元组集合的结构
    • 属性构成、属性来自的域、属性和域之间的映像关系
    • 一个关系通常由赋予它的元组语义确定
    • 现实的世界还存在着完整性约束
      在这里插入图片描述

2.关系模式与关系

关系模式是静态的,稳定的
关系是动态的,随着世界不断变化的

就相当于我们现在有一个模具,通过它可以生产产品,这个模具是固定不变的,但是生产出来的产品是不一样的

关系是关系模式在某一时刻的状态或内容,在实际工作中,关系模式和关系往往统称位关系,需要通过上下文加以区别

三、关系数据库

1.关系数据库定义

关系数据库:所有关系的集合构成一个关系数据库

2.关系数据库的型与值

①关系数据库的型: 关系数据库模式,是对关系数据库的描述
②关系数据库模式:
若干域的定义,在这些域上的若干关系模式
③关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库

四、关系模型的存储结构

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

猜你喜欢

转载自blog.csdn.net/qq_52797170/article/details/124553647