数据库系统概论:关系数据库

关系数据库

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

关系

关系数据库是的结合,表具有名表中一行是一系列值的关系,表是关系得集合。一个关系称为一个元组,任一个元组称为元组变量。每列的头部称为属性,其取值范围称为
域:属性Di值集合
笛卡尔积:域上的集合运算
在这里插入图片描述
关系R:D1XD2X…XDn子集,是一张表,n是关系的目或度,n=1是单元关系,n=2是二元关系。n目关系必有n个属性
元组:表中一行,笛卡尔积中每个元素
分量:笛卡尔积元素中的每个值叫做一个分量
元组变量:关系中R中代表元组的变量,其域为所有元组
码:

  • 候选码:关系中的某一属性组,能唯一表示一个元组,而其子集不能
  • 主码:一个关系有多个候选码,则定其中一个为主码
  • 主属性:候选码的所有属性
  • 非主(码)属性:不包含在任何候选码中的属性
  • 全码:关系模式的所有属性都是这个关系模式的候选码
    任意两个元组得候选码不能相同。

三类关系

  • 基本关系:实际存在的表。是实际存储数据的逻辑表示。
  • 查询表:查询结果对应的表。
  • 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库DB=<{R},{op},{C}>

关系数据语言分类

  • 关系代数语言(例ISBL):对关系的运算
  • 关系演算语言:谓词
    元组关系演算语言(例ALPHA、QUEL)
    域关系演算语言(例QBE)
  • 具有关系代数和关系演算双重特点的语言
  • 结构化查询语言SQL

关系的完整性

三类完整性约束:‘
实体完整性和参照完整性:
关系模型必须满足的完整性约束条件
称为关系的两个不变性,应该由关系系统自动支持

  • 实体完整性
    1、若属性A是主属性。则A不能取空值
  • 参照完整性
    关系间的引用:
    外码:设F是基本关系R的一个或一组属性,但不是关系R的码。 如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,基本关系R称为参照关系
    基本关系S称为被参照关系或目标关系
    在这里插入图片描述
    若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码Ks相对应(基本关系R 和S 不一定是不同的关系),则对于R 中每个元组在F 上的值必须为:
    或者取空值(F 的每个属性值均为空值)
    或者等于S 中某个元组的主码值
    在这里插入图片描述
  • 用户定义完整性:
    应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
    针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
    关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能
    在这里插入图片描述

关系代数

表可以看作元组的集合,所以关系代数操作可分为集合运算和专门表运算
在这里插入图片描述
在这里插入图片描述

  • 并运算U
    在这里插入图片描述
  • 差运算-
    在这里插入图片描述
  • 交运算∩
    在这里插入图片描述
  • 笛卡尔积X
    在这里插入图片描述
  • 选择运算符
    在这里插入图片描述
  • 投影运算
    在这里插入图片描述
  • 连接运算
    在这里插入图片描述
    在这里插入图片描述
发布了21 篇原创文章 · 获赞 0 · 访问量 334

猜你喜欢

转载自blog.csdn.net/weixin_44225940/article/details/103940215