数据库原理总结(二)--------关系数据库(期末必备)

关系数据库

基本概念

是一组具有相同数据类型的值的集合

笛卡尔积
  1. 笛卡尔积

    笛卡尔积给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:
    D1×D2×…×Dn ={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
    即所有域的所有取值的一个组合,每个组合不能重复

  2. 元组(Tuple)
    笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。

  3. 分量(Component)
    笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。

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

关系
  1. 关系
    D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为 R(D1,D2,…,Dn)
    R:关系名
    n:关系的目或度(Degree)

  2. 元组
    关系中的每个元素是关系中的元组,通常用t表示。

  3. 单元关系与二元关系
    当n=1时,称该关系为单元关系(Unary relation)或一元关系

    当n=2时,称该关系为二元关系(Binary relation)

    **注意:关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。**从笛卡尔积中取出有实际意义的元组来构造出来的就是关系

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

  5. 基本关系的性质

    列是同质的,同一列的所有数据取自同一个域

    ② 不同的列(属性)可出自同一个域

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

    ③ 列的顺序无所谓,列的次序可以任意交换

    ④ 行的顺序无所谓,行的次序可以任意交换。

    **⑤ 任意两个元组的候选码不能相同。**任意两行不能全同。

    ⑥ 分量必须取原子值这是规范条件中最基本的一条

码的相关概念
  1. 码(Key)
    —>也叫超码/键,能够唯一标识一条元组的属性或属性集。

    表中的某个属性组,它可以唯一确定一个元组

  2. 候选码(Candidate key)

    —>候选键=候选码:能够唯一标识一条元组的最小属性集

    若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
    最简单的情况:候选码只包含一个属性,候选键是没有多余属性的超码

  3. 全码(All-key)
    最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)

  4. 主码
    若一个关系有多个候选码,则选定其中一个为主码(Primary key)

    • 主属性
      候选码的诸属性称为主属性(Prime attribute)
    • 非主属性
      不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)或非码属性(Non-key attribute)
  5. 外码(Foreign key)

    如果关系R2的一个或一个属性组X不是R2的主码,而是另一关系R1的主码,则该属性或属性组X称为关系R2的外码或外键,并称R2为参照关系,R1为被参照关系

  6. 概览码的全部
    在这里插入图片描述

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

    主码的值不能为空或部分为空

  2. 参照完整性

    如果关系R2的外码X与R1的主码相符,则X的每个值或等于R1中主码的某一个值或取空值

  3. 用户自定义完整性

    用户针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。如:选课关系中的成绩属性的取值范围是0-100

关系代数

运算符含义运算符含义
集合运算符∪ - ∩ ×并 差 交 笛卡尔积比较运算符> ≥ < ≤ = <>大于 大于等于 小于 小于等于 等于 不等于
专门的关系运算符σ π ⋈ ÷选择 投影 连接 除逻辑运算符Ø ∧ ∨非 与 或
传统的集合运算
  1. 并(Union)

    对R和S的要求:
    具有相同的目n(即两个关系都有n个属性)
    相应的属性取自同一个域
    R∪S (称为R,S的并)
    仍为n目关系,由属于R或属于S的元组组成
    R∪S = { t|t ∈R∨t ∈S }
    在这里插入图片描述

  2. 差(Difference)

    对R和S的要求:
    具有相同的目n
    相应的属性取自同一个域
    R - S (称为R,S的差)
    仍为n目关系,由属于R而不属于S的所有元组组成
    R -S = { t|t∈R∧t∉S }
    在这里插入图片描述

  3. 交(Intersection)

    对R和S的要求:
    具有相同的目n
    相应的属性取自同一个域
    R∩S (称为R,S的交)
    仍为n目关系,由既属于R又属于S的元组组成
    R∩S = { t|t ∈ R∧t ∈ S } R∩S = R –(R-S)
    在这里插入图片描述

  4. 笛卡尔积(Cartesian Product)

    严格地讲叫做广义的笛卡尔积(Extended Cartesian Product)
    R: n目关系,k1个元组
    S: m目关系,k2个元组
    R×S
    列:(n+m)列元组的集合
    元组的前n列是关系R的一个元组
    后m列是关系S的一个元组
    行:k1×k2个元组
    R×S = {tr ts |tr ∈R ∧ ts∈S }

    在这里插入图片描述

专门的关系的运算
象集

在这里插入图片描述

  1. 选取
    1. 含义
      在关系R中选择满足给定条件的诸元组
      σF® = {t|t∈R∧F(t)= ‘真’}
      F:选择条件,是一个逻辑表达式,基本形式为:
      X1θY1
      F 中使用的符号:> ≥ < ≤ = <> . ∧ ∨

    2. 选择运算是从关系R中选取使逻辑表达式F为真的元组

    3. 图示
      在这里插入图片描述

  2. 投影
    1. 含义
      从R中选择出若干属性列组成新的关系
      πA® = { t[A] | t ∈R }
      A:R中的属性列

    2. 投影操作主要是从列的角度进行运算

    3. 图示
      在这里插入图片描述

  3. 连接
    1. 连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组

    2. 连接操作是从行的角度进行运算

    3. 图示
      在这里插入图片描述

      • 自然连接 R ⋈ S的结果如下:

        在这里插入图片描述

      • 等值连接 R ⋈(R.B=S.B) S 的结果如下:

        在这里插入图片描述

      • 外连接
        在这里插入图片描述

  4. 除法
    1. 定义

      给定关系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上投影的集合,记作:
      R÷S ={tr[X]|tr∈R∧πY(S)∈Yx }
      Yx:x在R中的象集,x =tr[X]

    2. 例:设关系R、S分别为下图的(a)和(b),R÷S的结果为图©
      在这里插入图片描述

本文全为原创,部分图摘自网络,如有侵权,可评论联系。由于时间紧迫,难免有所不足,欢迎评论指正,如有帮到大家,欢迎一键三连。其余部分正在更新中……

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值