美文网首页
【软考中级数据库】【知识点整理】关系数据库

【软考中级数据库】【知识点整理】关系数据库

作者: clorislam_cmm | 来源:发表于2024-02-20 14:19 被阅读0次

基础知识

名词

  • 属性:描述事物的若干特征
  • 域:每个属性的取值范围对应一个值的集合,称为该属性的域
  • 候选码:关系中的某一属性或属性组的值能够唯一表示一个元组,则称该属性或属性组为候选码
  • 主码(主键):一个关系有多个候选码,则选定其中一个为主码
  • 主属性:包含在任何候选码中的属性成为主属性
  • 外码(外键):如果关系模式R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外码
  • 全码:关系模型的所有属性组是这个关系模型的候选码,成为全码

笛卡尔积与关系

  • 关系中属性的个数叫“元数”,元组的个数称为“基数”

关系的三种类型

  • 基本关系(基本表):实际存在的表
  • 查询表:查询结果对应的表
  • 视图:由基本表导出或者其他视图导出的表,数据库只存放它的定义,也成为虚表

关系数据库模式

  • 关系的描述成为关系模式,可形式化为R(U,D,Dom,F)
    1)R:关系名称
    2)U:属性名集合
    3)D:属性的域
    4)Dom:属性的映射关系
    5)F:依赖关系
  • 关系模型中,各列属性必须取相异的名称

完整性约束

  • 完整性规则防止的是对数据的意外破环
  • 关系的完整性约束共分为三类:实体完整性、参照完整性(也称引用完整性)、用户定义完整性
    1)实体完整性:关系中的主属性不能为空
    2)参照完整性:外键或者取空值或者等于主键值
    3)用户定义完整性:数据需满足应用的语义要求

关系运算

  • 并(Union):
    1)要求:参与并运算的两张关系表必须具有相同的属性(列名);
    2)运算方法:合并两个集合,去掉重复的;
    3)表达式:R ∪ S = { i ∣ i ∈ R ∨ i ∈ S } .
  • 差:
    1)要求:参与交运算的两张关系表必须具有相同的属性(列名);
    2)运算方法:R减去R和S的交集;
    3)表达式:R ∩ S = { i ∣ i ∈ R ∧ i ∈ S } .
  • 广义笛卡尔积
    1)要求:R表和S表可以拥有不同的属性(列)
    2)运算方式:域的笛卡尔积 = 域的基数相乘,
    3)表达式:R × S = { tr⌒ts| tr∈R ∧ ts∈S }
  • 投影:
    1)要求:所选的属性组A,B必须来源于R表的属性(列名)
    2)运算方式:从R表中选择指定的属性组(列)
    3)表达式:π A( R ) = { t[A]| t∈R }
  • 选择:
    1)运算方式:从R表中选择行
    2)表达式:σF( R ) = { t | t∈R ∧ F(t) = ‘真’ }

σ ₐ˃ₑ(R) :R表中a属性大于B属性的值元组
σ ₁>₄(R) :R表中第一个属性大于第四个属性的元组
σ ₁>'₄'(R):R表中第一个属性大于4的元组

  • 交:

  • 连接:
    1)要求:A、B属性组(列)必须分别为R表和S表中的属性,且具有可比性(如皆为日期属性、数值属性等);
    2)运算方法:先使用广义笛卡尔积(见上文)算出R×S,再在R×S中选取符合逻辑表达式F的元组
    3)表达式:R ⋈AθBS = { tr ⌒ ts | tr ∈ R ∧ ts ∈ S ∧ tr[A] = ts[B] }

  • 等值连接:
    1)要求:在满足连接要求的前提下,逻辑表达式F中的  θ“=”;
    2)运算方式:先使用广义笛卡尔积(见上文)算出R×S,再选取表R的属性A与表S的属性B值相等的元组
  • 自然连接
    1)要求:R.A = S.A(必须有相同的属性名且域相同才可以进行自然连接)
    2)运算方法:再在R×S中选取两表中属性C值 相等 的元组,建立新表,并删除重复的相同属性组,仅保留一组即可
  • 左外连接=自然连接+左侧表中失配的元组
  • 右外连接=自然连接+右侧表中失配的元组
  • 全外连接=自然连接+两侧表中失配的元组
    失配属性为null
  • 除:
    1)要求:在满足连接要求的前提下,R表和S表中必须要有相同的属性A(列A);
    2)表达式:R ÷ S = { tr[X] | tr∈R ∧ ∏y(S)⊆YX }
    3)运算方法:

1.分出X、Y、Z三个属性集
2.列出S对Y属性集的投影
3.找出R中满足x值对应的象集包含了关系S对Y属性集的x值


image.png
image.png
  • 聚集函数:输入一个值的集合返回单一值作为结果

相关文章

网友评论

      本文标题:【软考中级数据库】【知识点整理】关系数据库

      本文链接:https://www.haomeiwen.com/subject/hvwvadtx.html