第二章: 关系数据库


       ❖ 掌握 
⬧ 关系的定义、特点;
⬧ 关系的三类完整性约束;
⬧ 传统集合运算和专门的关系运算 
       ❖ 了解 
⬧ 关系的操作及其分类、关系演算 
       ❖ 重点
⬧ 关系数据结构、关系的三类完整性约束、关系代数 
       ❖ 难点 
⬧ 专门的关系运算

❖ 1.第一节 关系数据结构及形式化定义

1.1.关系

1.1.1.域
  1. 定义:域是一组具有相同数据类型的值的集合
1.1.2.笛卡尔积
  1. 笛卡尔积:域上的一种集合运算

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

  3. ⬧ 所有域的所有取值的一个组合

  4. ⬧ 其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)

  5. ⬧ 元素中的每一个值di叫做一个分量

  6. ⬧ 一个域允许的不同取值个数称为这个域的基数

  7. 基数(Cardinal number)
    ➢若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则 D1×D2×…×Dn的基数M为:
    在这里插入图片描述

  8. ⬧ 笛卡尔积的表示方法
    ➢笛卡尔积可表示为一个二维表
    ➢表中的每行对应一个元组,表中的每列对应一个域

在这里插入图片描述

1.1.3.关系
  1. ❖ 关系 :
    D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为
    ⬧ R:关系名
    ⬧ n:关系的目或度(Degree)R(D1,D2,…,Dn)
    在这里插入图片描述
  2. ❖ 关系的术语
    ⬧ 表(table)、列(column)、行(row)
    ⬧ 关系(relation)、元组(tuple)、属性(attribute)

一个表就代表一个关系,行列的组合就叫分量
在这里插入图片描述
3. ❖ 关系术语
⬧ 候选码(Candidate key) 全码(All-key)
⬧ 主码 主属性 非主属性

  • 候选码:唯一能表示数据的最简属性(列)

  • 一个表可以有多个候选码

  • 候选码可以是组合形成的

  • 主码只允许出现一个,在候选码里面选择

  • 主属性:候选码的任一个属性

  • 非主属性:非候选码的任一个属性。1

  • 全码:所有列都是候选码,缺一不可

在这里插入图片描述

  1. ❖ 三类关系
    1. ⬧ 基本关系(基本表或基表)
      实际存在的表,是实际存储数据的逻辑表示
    2. ⬧ 查询表
      查询结果对应的表
    3. ⬧ 视图表
      由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
❖ 基本关系的性质 (重点)
  1. ❖ 基本关系的性质 (重点)
    ⬧ ① 列是同质的(Homogeneous)
    ⬧ ② 不同的列可出自同一个域

    • ➢ 其中的每一列称为一个属性
    • ➢ 不同的属性要给予不同的属性名

    ⬧ ③ 列的顺序无所谓, 列的次序可以任意交换
    ⬧ ④ 任意两个元组的候选码不能相同
    ⬧ ⑤ 行的顺序无所谓,行的次序可以任意交换
    ⬧  分量必须取原子值


1.2.关系模式

1.2.1. 什么是关系模式

一张表的表头就是关系模式
一张表除了表头的数据就是关系

  • ❖ 关系模式是对关系的描述,是静态的、稳定的
  • ❖ 关系是关系模式在某一时刻的状态或内容,是动态的、随时间不断变化的
  • ❖ 关系模式和关系往往统称为关系,通过上下文加以区别

在这里插入图片描述
在这里插入图片描述

DOM就是取值范围

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

1.3.关系数据库

  1. ❖ 关系数据库
    • ⬧ 在一个给定的应用领域中,所有关系的集合构成一个关系数据库
  2. ❖ 关系数据库的型与值
    • ⬧ 关系数据库的型也称关系数据库模式,是对关系数据库的描述
    • ⬧ 关系数据库的值是关系模式在某一时刻对应的关系的集合,简称为关系数 据库

❖ 2.第二节 关系操作

2.1 常用的关系操作 (5种基本运算)

  1. ⬧ 查询:选择、投影、连接、除、并、交、差
  2. ⬧ 数据更新:插入、删除、修改
  3. ⬧ 查询的表达能力是其中最主要的部分
  4. ⬧ 选择、投影、并、差、笛卡尔积是5种基本操作

== 选择、投影、并、差、笛卡尔积是5种基本操作 ==

2.2.关系操作的特点 :

  • ⬧ 集合操作方式:操作的对象和结果都是集合,一次一集合的方式

在这里插入图片描述


❖ 3.第三节 关系的完整性(重点)

   - 实体完整性
   - 参照完整性
   - 用户定义的完整性
  1. ❖ 实体完整性和参照完整性:
    关系模型必须满足的完整性约束条件

称为关系的两个不变性,应该由关系系统自动支持

  1. ❖ 用户定义的完整性:
    ⬧ 应用领域需要遵循的约束条件,体现了具体领域中的语义约束
  2. 模型中实体及实体间的联系都是用关系来描述的,因此可能存在着 关系与关系间的引用

3.1.实体完整性(主属性非空)

在这里插入图片描述

3.2.参照完整性

在这里插入图片描述
外码F不能是R主码
R终于有一个属性F可以找到S中指定数据,所以F是R的外码
外码只能取空值或者对应表中有的数值
外码没有组合,就是单个的

在这里插入图片描述


3.3.用户定义的完整性

在这里插入图片描述

涉及到具体要求,不要求也没事


❖ 4.第四节 关系代数

4.1.传统集合运算

在这里插入图片描述
在这里插入图片描述

1. 并(Union)

在这里插入图片描述

2.差

在这里插入图片描述

3.交

在这里插入图片描述

4.笛卡尔积(不要求相同的目)

在这里插入图片描述
元组的数目是乘的关系


4.2.专门的集合运算

0.基础

在这里插入图片描述

A1,A2,An是元组的属性

在这里插入图片描述

A是属性
在这里插入图片描述

R 中拿出一行与 S 中一行拼在一起
在这里插入图片描述
X中某一个确定的数值对应的Z中所关联的数值的集合


1.选择

在这里插入图片描述

从行角度考虑信息
在这里插入图片描述
选择, 条件 从哪里选择,
列上无损失,选择的是行

2.投影

在这里插入图片描述
在这里插入图片描述

投影可能会损失行,因为结果里面可能会重复

3.链接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44627608/article/details/104687564