mysql关系模型详细介绍

文章目录

  • 关系数据模型
    • 组成 和操作方式
    • 关系完整性约束
    • 基本术语
    • 关系的特征
  • 关系的完整性
    • 实体完整性
    • 参照完整性
    • 用户定义的完整性
    • 完整性约束的作用
  • 关系代数
    • 传统的集合运算
    • 专门的关系运算
      • 选择
      • 投影
      • 连接
      • 除法

关系数据模型

组成 和操作方式

关系数据模型由关系数据结构,关系操作集合,关系完整性约束三部分组成
关系操作:集合的操作方式

关系完整性约束

数据库的完整性是指数据的正确性和相容性,利用完整性约束。DBMS可以帮助用户阻止非法数据的输入

  1. 实体完整性约束
  2. 参照完整性约束
  3. 用户定义的完整性约束
    (简单来说关系完整性约束就是保障数据准确,有效)

基本术语

  1. 关系:用于描述数据的一张二维表,组成表的行称为元组,组成表的列称为属性,列(或属性)的取值范围称为元组中的每一个属性值称为元组的一个分量
  2. 候选码:(也称候选键)能唯一标识关系中每一个元组的最小属性集。一个关系可有多个候选码。(例如:学生信息表中,在没有重名的情况下,候选码有两个,分别是学号和姓名)
  3. 主键:(或称主码)它是一个唯一识别关系中元组的最小属性集合。用户可以从关系的候选码中指定一个作为关系的主键。一个关系最多只能指定一个主键。
  4. 主属性:候选码中的所有属性钧称为主属性。
  5. 非主属性:不包含在任何候选码中的属性称为非主属性。
  6. 全码:关系中所有属性的组合是该关系的一个候选码,则该候选码称为全码。
  7. 外键:关系R中的某个属性K是另一个关系S中的主键,但不是R中的主键,则称该属性K是关系R的外键。通过外键可以建立两表间的联系。(R为参照关系,K为被参照关系或目标关系)

关系的特征

  1. 列是同质的:即每一列的分量是同一数据类型,并且来自同一个
  2. 关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。即行、列无序
  3. 关系中的任意两个元组不能相同
  4. 关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。

关系的完整性

实体完整性

规则:若属性A是基本关系R的主属性,则属性A不能取空值。
一个关系通常是对现实世界的某一实体的描述,关系对应现实世界中的实体集,元组对应实体,实体是相互可区分的,通过主码来唯一标识,若主码为空,则出现不可标识的实体,这是不容许的。
(例如:学生信息(学号,姓名,年龄,性别)中的学号是主键,所以学号这个属性不能为空值

参照完整性

规则:外键或者取空值(要求外键的每个属性均为空值),或者等于被参照关系中的主键的某个值。
-----------参照关系就是定义外键与主键之间的引用规则。--------
(例如:学生(学号,姓名,出生日期,专业号),专业(专业号,专业名称)学生关系中参照了专业关系中的主键”专业号“)

【注】:不仅两个或两个以上的关系间可以存在引用关系,同一关系内部属性间也可能存在引用关系,外码与所参照的属性必须定义在同一个(或一组)域上。(例如:学生(学号,姓名,出生日期,班长学号),这里的班长也是一名学生,它参照了学生关系中的“学号”属性)。

用户定义的完整性

针对某个具体数据库的约束条件,由应用环境决定,它反映某一具体应用所涉及的数据必须满足的语义要求,即给出某些属性的取值范围等约束条件。

完整性约束的作用

数据完整性的作用就是要保证数据库中的数据是正确的,提高了数据库的正确度.一般在插入(insert),删除(delete),更新(update)语句执行后开始检查约束.

关系代数

关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。
运算三要素:运算对象,运算符,运算结果。

传统的集合运算

传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。
mysql关系模型详细介绍_第1张图片
笛卡尔积:一是两个关系的元组集合所组成的新关系。
(例如:R×S的目数为R与S的目数之和,R×S的元组个数为R和S的元组个数的乘积。)
mysql关系模型详细介绍_第2张图片

专门的关系运算

选择

从关系R中选择符合条件的元组构成新的关系(σ)。
在这里插入图片描述

mysql关系模型详细介绍_第3张图片

投影

从关系R中选择若干属性列组成新的关系(Π)
在这里插入图片描述

mysql关系模型详细介绍_第4张图片

连接

从R×S的笛卡儿积中,选取属性满足某一条件的元组。
等值连接:从R×S的笛卡儿积中。选出R,S中属性组相等的那些元组。
自然连接:特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中删除重复的属性列。

例:
mysql关系模型详细介绍_第5张图片
mysql关系模型详细介绍_第6张图片

除法

关系R(X,Y)和S(Y , Z) ,其中X,Y,Z为属性组。R中的Y与S中的Y必须出自同一域。则R÷S得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上的分量值x的象集Yx,包含S在Y上的投影的集合。
在这里插入图片描述
mysql关系模型详细介绍_第7张图片


如有错误,遗漏和不合理的地方,欢迎大佬指正()

你可能感兴趣的:(笔记,mysql,数据库,sql)