数据库:第二章 《关系模式》概念总结

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

1. 关系模式的相关概念:

域: 域是一组具有相同数据类型的值的集合

在这里插入图片描述
笛卡尔积: 域上的一种集合运算

其中每一个元素(d1,d2,d3,……dn)叫做一个元祖,元祖中的每一个值叫做一个分量。
【一个域允许的不同取值个数称为这个域的基数】

关系: D1D2…*Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)

这里的n是关系的目或度(n=1时,单元关系/一元关系;n=2时,两元关系)

候选码(候选关键字): 若在一个关系中,某一属性或 属性组的值能唯一的识别一个关系的元祖,其子集不能,则该属性组称为候选码

——属性组是候选码吗?
属性组也可以为候选码

主码(主关键字): 主码一定是候选码中的一个,且只能有一个

候选码的属性称为主属性
不包含在任何候选码中的属性称非主属性
【不能取空值】

外部码(外码): 若F是基本关系R的一个或一组属性,但不是关系R的码,KS是关系S的主码,如果F与KS相应,则称F是关系R的外码

【限制主表中没有次表中不能出现的】
基本关系R称为参照关系
基本关系S称为被参照关系
【外码可以为空】

全码: 关系模式的全部属性是这个关系的候选码

2. 关系类型:

基本关系: 实际存在的表,是实际存储数据的逻辑表示
查询表: 查询结果对应的表,是实际根本不存在的表
视图表(虚表): 由基本表或其他视图表导出的表,是虚表,值存放定义但不存储对应的数据,其对应的数据仍存储在基本表中

3. 基本关系的性质:

  • 列是同性质的
  • 不同的列属性必须有不同的属性名(不同的列可来自同一个域)
  • 任意两个元祖不能完全相同
  • 行的次序无所谓,可以任意交换
  • 不允许“表中套表”,即分量必须取原子值,每一个分量必须是不可分割的数据项

4.对关系的描述:

在这里插入图片描述
描述: R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合

关系模式必须指出这个元祖集合的结构
关系模式应当划出完整性约束条件

5. 关系与关系模式:

关系: 是关系体,关系模式某一时刻的状态和内容,随数据更新不断变化
关系模式: 是关系头,是对关系结构的描述,静态,稳定,固定不变

6. 关系数据库与关系数据库模式:

关系数据库模式:【型】是对关系数据库的描述。包括若干域的定义以及在这些域上定义的若干关系模式
关系数据库:【值】关系模式在某一时刻的关系的集合,随数据更新不断变化

7. 关系数据库的存储结构:

  1. 以表为单独的文件方式存储,交由操作系统进行管理
  2. 以大文件的方式存储,有DBMS与OS共同管理

二、关系操作

2.1. 常用关系操作:

查询(query): 选择(select)、投影(project)、连接(join)、笛卡尔积、除(divide)、并(union)、交(intersection)、差(except)
常见的关系操作: 查询(query),插入(insert)、删除(delete)、修改(update)
【选择、投影、并、差、笛卡尔积是5种基本的查询操作】
操作的对象和结果都是集合

2.2. 关系操作的特点:

  1. 关系操作语言一体化
  2. 关系操作方式一次一集合方式
  3. 关系操作语言是高度非过程化的语言
    关系代数语言: 用对关系的运算来表达查询要求的语言
    关系演算语言: 用查询得到的元祖应满足的谓词条件来表达查询要求的语言
    基于映像的语言: 具有关系代数和关系演算双重特点的语言(SQL语言)

2.3. 关系数据语言的分类

在这里插入图片描述


三、关系的完整性

3.1.关系的三类完整性约束

实体完整性和参照完整性: 关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持
用户定义完整性: 应用领域需要遵循的约束条件,体现了具体领域中的语义约束

3.2.实体完整性

关系的主属性不能取空值
空值就是“不存在”或“不知道”无实际意义的值

实体完整性规则说明:
(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3)关系模型中以主码作为唯一性标识。 (4)主码中的属性即主属性不能取空值。
主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性

3.3.参照完整性

若属性F是基本关系R的外码,它与基本关系S的主码KS相对应,则对于R中的每一个元组在F上的取值满足:
空值&等于S中某个元祖的主码值
在关系模型中实体及实体间的联系都是用关系来描述的

3.4.用户定义完整性

针对某一具体关系数据库的约束条件,反应某一具体应用所涉及的数据必须满足的语义要求
关系模式应提供定义和检验这类完整的机制,一遍用同一的系统的方法处理他们,而不需有应用程序撑到这一切


四、关系代数

关系代数是一种抽象的查询语言,它对关系的运算来表达查询
运算对象三要素: 运算对象,运算符,运算结果
在这里插入图片描述

4.1. 传统的集合运算

二目运算:并,差,交,笛卡尔积

  • 并(union)

在这里插入图片描述
其结果仍为n目关系,由属于R或属于S的元组组成

  • 差(except)

在这里插入图片描述
由属于R二不属于S的所有元组组成

  • 交(intersection) 在这里插入图片描述

由属于R而不属于S的所有元组组成,可用差来表示,R∩S=R-(R-S)

  • 笛卡尔积
    在这里插入图片描述

若R有K1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有K1×K2个元组
在这里插入图片描述

4.2. 专门的关系运算

选择: 又称为限制【选择是从行角度进行的运算】
在这里插入图片描述
F:选择条件,是一个逻辑表达式,取值为真或假。
【集合结构并没有变化,只是个数上的减少】

投影:【是从列角度进行的运算】
从R中选择出若干属性列组成新的关系,取消重复元素
在这里插入图片描述

连接: 也称为Θ连接【具体连接由关系Θ决定】
连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元祖

在这里插入图片描述
自然连接:自然连接是一种特殊的等值连接
两个关系中进行比较的分量必须是相同的属性组
在结果中把重复的属性列去掉

自然连接的含义:
R和S具有相同的属性组B
在这里插入图片描述

悬浮元组: 两个关系做自然连接时,关系R中某些元祖有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,被舍弃的元组称为悬浮元组。

外连接: 把悬浮元组也保存在结果关系中,而在其他属性上填空值(null)
左外连接:只保留左边关系R中的悬浮元组
右外连接:只保留右边关系S中的悬浮元组

在这里插入图片描述
除运算:

在这里插入图片描述
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性的及其值,且T的元组与S的元组的所有组合都在R中。
在这里插入图片描述

  • 33
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值