欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库复习—第二章

程序员文章站 2022-07-03 20:11:12
第二章2.1 关系数据结构及形式化定义关系数据模型的三要素:关系数据结构关系操作集合关系完整性约束基本关系的6条性质:列是同质的不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名列的顺序无所谓,列的次序可以任意交换任意两个元组的候选码不能相同行的顺序无所谓,行的次序可以任意交换分量必须取原子值(这是规范条件中最基本的一条)关系术语:元组:关系中的每个元素是关系中的元组元组个数:表中行的个数基数:一个域允许的不同取值个数属性:...

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

  • 关系数据模型的三要素
    • 关系数据结构
    • 关系操作集合
    • 关系完整性约束
  • 基本关系的6条性质
    • 列是同质的
    • 不同的列可出自同一个域
      • 其中的每一列称为一个属性
      • 不同的属性要给予不同的属性名
    • 列的顺序无所谓,列的次序可以任意交换
    • 任意两个元组的候选码不能相同
    • 行的顺序无所谓,行的次序可以任意交换
    • 分量必须取原子值(这是规范条件中最基本的一条)
  • 关系术语
    • 元组:关系中的每个元素是关系中的元组
    • 元组个数:表中行的个数
    • 基数:一个域允许的不同取值个数
    • 属性:关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性
    • 目或度或元数或n元组的n:关系模型中属性的个数,也可以说表中列的个数
  • 关系模式与关系
    • 关系模式:
      • 对关系的描述
      • 静态的、稳定的
    • 关系:
      • 关系模式在某一时刻的状态或内容
      • 动态的、随时间不断变化的(因为关系操作在不断地更新着数据库中的数据)

2.2 关系操作

  • 关系操作

    • 查询操作:选择投影、连接、除、、交、笛卡尔积(5种基本操作)
    • 数据更新:插入、删除、修改
  • 关系操作的特点

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

2.3 关系的完整性

  • 完整性约束

    • 实体完整性(主码):若属性(或属性组)A是基本关系R的主属性,则属性A不能取空值(空值就是“不知道”或“不存在”或“无意义”的值)

      • 例:选修(学号,课程号,成绩)
        “学号、课程号”为主码
        “学号”和“课程号”两个属性都不能取空值
    • 参照完整性(外码):若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

      • 或者取空值(F的每个属性值均为空值)

      • 或者等于S中某个元组的主码值

      • 例:学生(学号,姓名,性别,专业号,年龄),专业(专业号,专业名)

        ​ 学生关系中每个元组的“专业号”属性只取两类值:
        ​ 1. 空值,表示尚未给该学生分配专业
        ​ 2. 非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配一个不存在的专业

    • 用户定义完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

      • 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能
    • 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性

  • 有关主码和外码概念和判断

    • 主码:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则该属性组为候选码

      ​ 若一个关系有多个候选码,则选定其中一个为主码

      • 候选码的诸属性称为主属性
      • 不包含在任何侯选码中的属性称为非主属性或非码属性
    • 外码:设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码

      ​ 如果F与Ks相对应,则称F是R的外码

      ​ 基本关系R称为参照关系,基本关系S称为被参照关系或目标关系

      • 例:学生(学号,姓名,性别,专业号,年龄),专业(专业号,专业名)
        “专业号”属性是学生关系的外码
        学生关系为参照关系,专业关系是被参照关系

2.4 关系代数

  • 关系代数是一种抽象的查询语言,它用对关系的运算来表达查询

  • 运算对象是关系,运算结果亦为关系

  • 传统的集合运算:从行的角度进行(并、差、交、笛卡尔积

    • 笛卡尔积:关系的笛卡尔积的元素是元组
      • 笛卡儿积的目:属性个数,n元组的n,元数(列数)
      • 笛卡儿积的基数:元组数(行数)
  • 专门的关系运算:不仅涉及行而且涉及列(选择、投影、连接、除)

    • 选择:在关系R中选择满足给定条件的诸元组(是从的角度进行运算)
    • 投影:从R中选择出若干属性列组成新的关系(是从的角度进行运算)
    • 连接:也称为θ连接,从两个关系的笛卡尔积中选取属性间满足一定条件元组
  • 等值连接和自然连接的异同

    • 等值连接:θ为“=”的连接运算
    • 自然连接:是一种特殊的等值连接
      • 两个关系中进行比较的分量必须是相同的属性组
      • 在结果中把重复的属性列去掉

本文地址:https://blog.csdn.net/weixin_45883310/article/details/110651912