数据库 关系数据库

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

定义:在一个给定的应用领域中,所有关系的集合构成一个关系数据库

关系数据库的型:关系数据库模式,对关系数据库的描述

关系数据库的值:关系数据库,是关系模式在某一时刻对应的关系的集合

关系数据结构

关系——值

关系模型的数据结构非常简单,只包含单一的数据结构——关系

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

笛卡尔积

域上的一组集合运算

关系

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

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

主属性:候选码的诸属性

非主属性、非码属性:不包含在任何候选码中的属性

最简单的情况:候选码只包含一个属性

最极端的情况:关系模式的所有属性是这个关系模式的候选码,称为全码

候选码不一定是主码,但主码一定是候选码

所有的码都是候选码

关系的类型:基本关系(基本表、基表)、查询表和视图表

  • 基本表:实际存在的表,是实际存储数据的逻辑表示
  • 查询表:临时表,列表不存在,是查询结果对应的表
  • 视图表:虚表,是由基本表或其他视图表导出的表,不对应实际存储的数据【只有表头,无数据,数据在基本表中】

关系作为关系数据模型的数据结构时,给予的限定和扩充:

基本关系的性质:

  • 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域
  • 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名
  • 列的顺序无所谓,即列的次序可以任意交换
  • 任意两个元组的候选码不能取相同的值,违背了码的特性
  • 行的顺序无所谓,即行的次序可以任意交换
  • 分量必须取原子值,即每一个分量都必须是不可分的数据项

第一范式:关系的每一个分量必须是一个不可分的数据项

关系模式——型

关系数据库中,关系模式是型,关系是值,关系模式是对关系的描述

定义:

关系是关系模式在某一时刻的状态或内容,关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据

关系操作

基本的关系操作

关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分

关系的查询表达能力很强,是关系操作中最主要的部分

查询操作可以分为选择、投影、连接、除、并、差、交、笛卡尔积……

5 种基本操作:选择、投影、并、差、笛卡尔积

其他操作可以用基本操作定义和导出,交可以用差表示

关系操作的特点是集合操作方式,即操作的对象和结果都是集合

关系数据模型的数据操作方式称为一次一集合的方式

非关系数据模型的数据操作方式称为一次一记录的方式

关系数据语言的分类

关系的完整性

关系模型中的三类完整性约束:

  • 实体完整性
  • 参照完整性
  • 用户定义的完整性

实体完整性和参照完整性是关系模型必须满足的完整性约束条件,关系的两个不变性

实体完整性

实体完整性规则:若属性(指一个或一组属性)A 是基本关系 R 的主属性,则 A 不能取空值("不知道"或"不存在"或"无意义"的值)

主属性≠主码

对于实体完整性规则的说明:

  1. 实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集
  2. 现实世界中的实体是可区分的,即它们具有某种唯一性标识
  3. 关系模型中以主码作为唯一性标识
  4. 主码中的属性不能取空值,如果取了空值,说明存在某个不可标识的实体,即存在不可区分的实体

参照完整性

参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须:

参照关系 R(F,... ) 被参照关系 S(Ks,... )

  • 或者取空值(F 的每个属性值均为空值)
  • 或者等于 S 中某个元组的主码值

用户定义的完整性

关系代数

定义:关系代数是一种抽象的查询语言,用关系的运算表达查询

运算的三大要素:运算对象、运算符、运算结果

  • 关系代数的运算对象是关系
  • 关系代数的运算结果是关系
  • 关系代数的运算符:集合运算符和专门的关系运算符

关系代数表达式:关系代数中,选择、投影、连接、除、并、差、交、笛卡尔积复合后形成的表达式

传统的集合运算

传统的集合运算是二目运算,包括并、差、交、笛卡尔积 4 种运算

运算前提:关系 R 和关系 S 具有相同的目 n(即两个关系都有 n 个属性),且相应的属性取自同一个域

t 是元组变量,t ∈ R 表示 t 是 R 的一个元组

记作:R∪S={t|t∈R∨t∈S}

结果:n 目关系,由属于 R 和属于 S 的元组组成

记作:R-S={t|t∈R∧t∉S}

结果:n 目关系,由属于 R 而不属于 S 的所有元组组成

记作:R∩S={t|t∈R∧t∈S}

结果:n 目关系,由既属于 R 又属于 S 的元组组成

用差表示:R∩S=R-(R-S)

笛卡尔积

此处的笛卡尔积是广义的笛卡尔积,此处笛卡尔积的元素是元组

专门的关系运算

专门的关系运算包括选择、投影、连接、除运算……

选择

投影

投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可以出现重复行,应取消完全相同的行

连接

实质:笛卡尔积和选择

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

外连接:把悬浮元组保存在结果关系中,在其他属性上填空值,那么这种连接叫做外连接,记作 R⋈S

左外连接:只保留左边关系 R 中的悬浮元组

右外连接:只保留右边关系 S 中的悬浮元组

除运算

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何hyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值