数据库知识整理——关系模型

关系模型核心概念解析

关系模型是一种用于数据库管理的数学模型,由 Edgar F. Codd 在 1970 年提出。它以关系(表)的形式组织数据,使用集合论和谓词逻辑作为理论基础。

关系模型的基本术语

  • 关系:一张二维表
  • 元组:表中一行
  • 属性:表中一列
  • 域:属性的取值(在关系型数据库中所有的域都是原子数据,例如:整数、字符,而集合、数组为非原子数据)
  • 关系模式:对关系的描述,如:关系名(属性名1,属性名2,.……,属性名n)
  • 候选码:能唯一标识一个元组的属性组合,如(身份证,名字,性别),(身份证,电话)
  • 主码:在多个候选码中选择一个,如(身份证,名字,性别)
  • 主属性:在所有候选码中都存在的属性,如身份证
  • 外码:另一个关系的码
  • 全码:所有属性构成的属性组
  • 超码:一个包含码的属性集

关系模式的定义

表示为:R(U, D, dom, F)

U:该关系的属性名集合;D:U中属性的域;dom:属性向域的映像集合;F属性间的依赖关系集合。

关系模式中的关系数据结构

一张二维表格

关系模型中的关系操作集合

选择

在关系R中选择满足条件的元组集合,定义为:

F中的运算对象是属性名(或列的序号)或常数,运算符、算术比较符和逻辑运算符。

例如选取R关系中第1个属性值大于等于第6 个属性值的元组:

选取R关系中第1个属性值大于6的元组:

投影

在关系R中选择若干属性组成新的关系,定义为:

A为要投影的属性组名。

连接

连接分为θ连接、等值连接和自然连接3种。连接运算是从两个关系R和S的卡儿积中选取满足条件的元组。因此,可以认为笛卡儿积是无条件连接,其他的连接操作认为是有条件连接,下面分别介绍。

  • θ连接:从R与S的笛卡儿积中选取属性间满足一定条件的元组,记作:

    其中,XθY为连接的条件,θ是比较运算符,X和Y分别为R和S上度数相等且可比的属性组。也可表示为:

    i和j为从两个关系R和S中选取R的第i列和S的第j列。θ连接可以由基本的关系运算笛卡儿积和选取运算导出。因此,0连接可表示为:

  • 等值连接:当θ为“=”时,称之为等值连接,记为:

  • 自然连接:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉,记为:

外连接

外连接运算是连接运算的扩展,可以处理由于连接运算而缺失的信息。

上面几个表的自然连接:

左外连接:取出左侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值 nul 充填所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。如

右外连接:取出右侧关系中所有与右侧关系中任一元组都不匹配的元组,用空值 nul 充填所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。如

除运算是同时从关系的水平方向和垂直方向进行运算。给定关系R(X,Y)和S(Y,Z),X、Y、Z为属性组。R÷S应当满足元组在X上的分量值x的象集包含关系S在属性组Y上投影的集合。其形式定义如下:

其中,为x在R中的象集,x=,且R÷S的结果集的属性组为X。

关系R与S具有相同的关系模式时,分别属于R和S的元组集合,记为:

关系R与S具有相同的关系模式时,属于R同时又属于S的元组构成的集合,记为:

关系R与S具有相同的关系模式时,属于R但不属于S的元组集合,记为:

笛卡尔积

n目关系R、m目关系S,则二者的笛卡尔积是一个n+m目的元组集合,前n属于R,后m属于S,记作RXS,其形式定义如下:

如果R和S中有相同的属性名,可在属性名前加关系名作为限定,以示区别。

关系模型中的关系完整性约束

  • 实体完整性:主码中属性不能为空
  • 参照完整性:R1中的外码的每个值必须能在对应的R2中主码的值中找到,或为空值
  • 用户定义的完整性:用户对某一具体数据指定的约束条件进行检验

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值