• 关系数据库系统是支持关系模型的数据库系统

  • 关系模型由数据结构、关系操作集合和完整性约束三部分组成

  • 单一的数据结构------关系

    • 但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系
  • 关系操作

    • 关系模型中常用的关系操作包括两类:

      查询操作:选择、投影、连接、除、并、交、差
      增加、删除、修改操作

    • 特点:操作的对象和结果均是集合:一次一集合

    • 关系数据语言:

      三类:关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言

2.1 关系

  • 在关系模式中,数据是以二维表的形式存在的,这个二维表就叫做关系。

  • 关系理论是以集合代数理论为基础的,因此我们可以用集合代数给出二维表的“关系”定义。

  • 为了从集合论的角度给出关系的定义,我们先引入域和笛卡尔积的概念

    1. 域(domain)

      • 定义:域是一组具有相同数据类型的值的集合,又称为值域(用D表示)

      • 例如:整数、实数、长度小于25字节的字符串的集合、大于等于0且小于等于100的正整数等。

      • 域中所包含的值的个数称为域的基数(用m表示)

      • 关系中用域表示属性的取值范围

        例如:

        D1={李力,王平,刘伟} m1=3
        D2={男,女} m2=2

      • 域中的值无排列次序

    2. 笛卡尔积(cartesian product)

      笛卡尔积是域上的一种集合运算。

      • 定义:给定一组域D1,D2,…,Dn,允许其中某些域是相同的,D1,D2,…,Dn的笛卡尔积为D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n}。其中,每一个元素(d1,d2,…,dn)叫做一个n元组,或简称元组。元素中的每一个值di叫做一个分量。

      • 一个域允许的不同取值个数称为这个域的基数

      • 若Di(i=1,2,…,n)为有限集,Di中的集合元素个数称为Di的基数,用mi(i=1,2,…,n)表示,则笛卡尔积D1×D2×…×Dn的基数M(即元素(d1,d2,…,dn)的个数)为所有域的基数的累乘之积,即在这里插入图片描述

      • 笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中的每一列的值来自一个域。

        • 例如 给出三个域:在这里插入图片描述

          则 D1,D2,D3的笛卡尔积为在这里插入图片描述

          其中,(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组。张清玫,计算机专业,李勇,刘晨等都是分量。

          该笛卡尔积的基数为2x2x3=12,也就是说,D1xD2xD3一共有2x2x3=12个元组。这12个元组可列成一张二维表。

          SUPERVISOR SPECIALITY POSTGRADUATE
          张清玫 计算机专业 李勇
          张清玫 计算机专业 刘晨
          张清玫 计算机专业 王敏
          张清玫 信息专业 李勇
          张清玫 信息专业 刘晨
          张清玫 信息专业 王敏
          刘逸 计算机专业 李勇
          刘逸 计算机专业 刘晨
          刘逸 计算机专业 王敏
          刘逸 信息专业 李勇
          刘逸 信息专业 刘晨
          刘逸 信息专业 王敏
    3. 关系(relation)

      • 定义:D1×D2×…×Dn得到子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)。
      • 其中:R为关系名,n称为关系的目或度(degree)
        当n=1时,称为单元关系
        当n=2时,称为二元关系
        … …
        当n=n时,称为n元关系
      • 关系是笛卡尔积的有限子集,即是一个二维表,行对应一个元组、列对应一个域、每列的名称称为属性。
      • n目关系必有n个属性。
    4. 属性,码的概念

      1. 候选码与关键字

        • 能唯一标识关系中元组的属性或属性集,则称该属性或属性集为候选码(Candidate Key),也称候选关键字或候选码。如:

          • “学生关系”中的学号能唯一的标识每一个学生,则属性学号是学生关系的候选码。
          • 在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选码。
        • 如果一个关系中有多个候选码,可以从中选择一个作为查询、插入和删除元组的操作变量,被选用的候选码称为主关系码(Primary Key),或简称为主键、主码、关系键、关系字。

          • 例如:在学生关系中假设存在身份证号属性,则“学号”和“身份证号”都可以作为学生关系的候选码,如果选定“学号”作为数据操作的依据,则“学号”为主关系码
        • 主属性与非码属性

          • 主属性:候选码(集合)的属性,包含在任何一个候选码中的各属性称为主属性。
          • 非主属性(非码属性):非候选码的属性,不包含在任何候选码中的属性称为非码属性,或非主属性。
          • 在最简单的情况下,一个候选码只包含一个属性,在最极端的情况下,所有属性的组合是关系的候选码,这时称为全码(all-key)
        • 关系类型

          • 基本关系(通常又称为基本表或基表):实际存在的表,实际存储数据的逻辑表示。
          • 查询表:查询结果对应的表。
          • 视图表:由基本表或其它视图表导出的表,是虚表,不对应实际存储的数据。
        • 基本关系具有的性质:

          1. 列是同质的(homogeneous),每一列的分量,是同一类型的数据。
          2. 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
          3. 列的顺序无所谓,即列的次序可以任意交换。由于列顺序是无关紧要的,因此在许多实际关系数据库产品中增加新属性时,永远插至最后一列。
          4. 任意两个元组的候选码不能取相同值。因为数据上集合中没有相同的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。
          5. 行的顺序无所谓,即行的次序可以任意交换。因为集合中的元素是无序的,所以作为集合元素的元组也是无序的。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。
          6. 分量必须是取原子值,即每一个分量都必须是不可分的数据项。即是一个确定的值,而不是值的集合。属性值可以是空值,表示“未知”或“不可使用”,即不可“表中有表”。满足此条件的关系称为“规范化关系”,否则称为“非规范化关系”。

          关系模型要求关系必须是规范化(normalization)的,即要求关系必须满足一定的规范条件。这些规范条件中的最基本一条就是,关系的每一个分量必须是一个不可分的数据项。规范化的关系简称为范式。

2.2 关系模式

  • 关系数据库中,关系模式是型,关系是值.
  • 关系模式是对关系结构的描述,是关系的框架,或称为表框架。它应该:
    • 指出这个元组集合的结构,即它由哪些属性构成,这些属性来自那些域,以及属性与域之间的映像关系
    • 关系模式应当刻画出这些完整性约束条件。
  • 定义:关系的描述称为关系模式(relation schema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U,D,DOM,F)
  • 其中:其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
  • 其中R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映像常常直接说明为属性的类型和长度
  • 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的;关系是关系模式在某一时刻的状态或内容,动态的、随时间不断变化的。

2.3 关系数据库

在关系模型中,实体以及实体之间的联系都是用关系来表示的。在一个给定的应用领域中,所有关系的集合构成一个关系数据库。

关系数据库也有的概念,其型就是关系数据库模式,是对关系数据库的描述,相对固定;其值就是关系数据库内容,代表现实世界中的实体,而实体是随着时间不断变化的,所以其值在不同的时刻会有所变化

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐