2.2 《数据库系统概论》之关系操作、关系完整性、关系代数
文章目录
- 0.思维导图
- 1.关系操作
- (1)基本关系操作
- (2)关系数据库语言的分类
- 2.关系的完整性
- (1)关系的三类完整性约束
- (2) 实体完整性(Entity Integrity)
- (3)参照完整性
- ❶ 关系间的引用
- ❷ 外码(Foreign Key)
- ❸ 参照完整性规则
- (4)用户定义的完整性
- 3.关系代数
- (1)关系代数运算符
- (2)传统的集合运算
- ① 并(Union)
- ② 差(Difference)
- ③ 交(Intersection)
- ④ 笛卡尔积(Cartesian Product)
- (3)专门的关系运算
- ① 几个记号
- ② 选择(Selection)
- ③ 投影(Projection)
- ④ 连接(Join)
- ❶ 左连接、右连接、外连接
- ⑤ 除(Division)
- ⑥ 综合举例
0.思维导图
1.关系操作
(1)基本关系操作
- 常用的关系操作
- 查询:选择、投影、连接、除、并、交、差
- 数据更新:插入、删除、修改
- 查询的表达能力是其中最主要的部分
- 选择、投影、并、差、笛卡尔基是5种基本操作
- 关系操作的特点
- 集合操作方式:操作的对象和结果都是集合,
一次一集合
的方式
- 集合操作方式:操作的对象和结果都是集合,
(2)关系数据库语言的分类
- 关系代数语言
用对关系的运算来表达查询要求;
代表:ISBL;
关系演算语言:用谓词来表达查询要求; - 元组关系演算语言
谓词变元的基本对象是元组变量;
代表:APLHA, QUEL; - 域关系演算语言
谓词变元的基本对象是域变量;
代表:QBE; - 具有关系代数和关系演算双重特点的语言;
代表:SQL(Structured Query Language) ;
2.关系的完整性
(1)关系的三类完整性约束
- 实体完整性和参照完整性:
关系模型必须满足的完整性约束条件;
称为关系的两个不变性
,应该由关系系统自动支持; - 用户定义的完整性:
应用领域需要遵循的约束条件,体现了具体领域中的语义约束 ;
(2) 实体完整性(Entity Integrity)
若属性A是基本关系R的主属性,则属性A不能取空值
例:
SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
POSTGRADUATE:
主码(假设研究生不会重名)
不能取空值实体完整性规则的说明
(1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现 实世界的一个实体集。
(2) 现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3) 关系模型中以主码作为唯一性标识。
(4) 主码中的属性即主属性不能取空值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性
(3)参照完整性
❶ 关系间的引用
❷ 外码(Foreign Key)
- 设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的
外码
,即该码是另一个表的主码。 - 基本关系R称为
参照关系
(Referencing Relation),即本表。 - 基本关系S称为
被参照关系
(Referenced Relation) 或目标关系
(Target Relation),即外码对应的主码所在的表。
- 关系R和S不一定是不同的关系
- 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上
- 外码并不一定要与相应的主码同名,当外码与相应的主码属于不同关系时,往往取相同的名 字,以便于识别
❸ 参照完整性规则
若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
- 或者取空值(F的每个属性值均为空值)
- 或者等于S中某个元组的主码值
- 外码的值要么为空,要么为S中某个元组的主码值
(4)用户定义的完整性
- 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
- 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能
3.关系代数
(1)关系代数运算符
(2)传统的集合运算
① 并(Union)
② 差(Difference)
③ 交(Intersection)
④ 笛卡尔积(Cartesian Product)
(3)专门的关系运算
① 几个记号
② 选择(Selection)
③ 投影(Projection)
④ 连接(Join)
❶ 左连接、右连接、外连接
⑤ 除(Division)
⑥ 综合举例
2.2 《数据库系统概论》之关系操作、关系完整性、关系代数相关推荐
- 数据库系统概论:第九章 关系查询和关系优化
查询优化一般可以分为代数优化和物理优化.代数优化是指关系代数表达式的优化,物理优化指的是通过存取路径和底层操作算法的选择进行的优化. 9.1 关系数据库系统的查询处理 9.1.1 查询处理步骤 1. ...
- 数据库系统概论--第六章 关系数据理论
问题的提出 一个关系模式应该是一个五元组:R(U,D,DOM,F) 这里: 关系名R是符号化 的元组语义. U为一组属性. D为属性组U中华的属性所来自的域. DOM为属性到域的映射. F为属性组U上 ...
- 数据库系统概论--读书笔记--8 关系运算: 选择 投影 连接 除运算
专门的关系运算: 选择 投影 连接 除运算 1.设关系模式为R(A1,A2,⋯ ,An)R(A_1,A_2,\cdots,A_n)R(A1,A2,⋯,An), 一个关系设为R.t∈Rt\in R ...
- 《数据库系统概论》6.0——关系数据理论 大学生笔记
文章目录 1.思维导图 2.问题提出 (1) 数据库规范化理论发展 (2)概念回顾 (3)关系模型的形式化定义 (4)数据依赖 定义 分类 (5)数据依赖F对关系模式的影响 (**1)数据冗余(Dat ...
- 数据库系统概论 ---- 第五章 -- 数据库完整性
文章目录 第五章 -- 数据库完整性 5.1 实体完整性 5.1.1 定义实体完整性 5.1.2 实体完整性检查和违约处理 5.2 参照完整性 5.2.2 参照完整性检查和违约处理 5.3 用户定义的 ...
- (数据库系统概论|王珊)第二章关系数据库-第二节、第三节:关系操作和关系完整性
文章目录 一:关系操作 (1)基本的关系操作 (2)关系数据语言的分类 二:关系完整性约束 (1)实体完整性 (2)参照完整性 A:参照关系 B:外码 C:参照完整性规则 (3)用户自定义完整性 一: ...
- 笔记 ~ 第二章 - 2.2 关系操作、关系完整性、关系代数、关系演算
目录 1. 关系操作 (1)基本关系操作 ① 常用的关系操作 ② 关系操作的特点 (2)关系代数语言 ① 关系代数语言 ② 关系演算语言 ③ 具有关系代数和关系演算双重特点的语言 2. 关系的完整性 ...
- 数据库系统概论②——关系数据库基础
本篇文章主要讲解关系数据库基础中的基本概念,包括关系模型概述.关系的完整性约束等等内容. 同时想要了解更多数据库系统概论知识的朋友可以看下我的上一篇文章数据库系统概论①--数据库系统基本概念 文章目录 ...
- 《数据库系统概论》学习笔记
第0章 脚手架 0.1 写在前面 本学习笔记的主要用途,是来回顾数据库的一些基本理论知识和SQL语句. 学习笔记的主要参考文献,为王珊著的<数据库系统概论>(第5版,2014)和教育部考试 ...
- 数据库系统概论总结复习
数据库系统概论-第五版 1. 绪论 1.1. 数据库4个基本概念 1.1.1. 数据 描述事物的符号记录,数据与其语义是不可分的. 1.1.2. 数据库 数据库是长期存储在计算机内.有组织的.可共享的 ...
最新文章
- flutter打包的app有多大_Flutter-最近搞了个项目(常用控件,第三方基本库)-底部导航,登录,启动画面,webview等...
- Java实现大数乘法_java实现大数加法、乘法(BigDecimal)
- Acwing第 1 场周赛【完结】
- vue移动端过渡动画_Vue.js实现微信过渡动画左右切换效果
- Weblogic调试延长时间
- APISpace 标准中文电码查询API
- AD快捷键还原为默认配置
- html内容转换中文乱码怎么办,HTML中文乱码怎么解决?
- MySQL:数据库练习题-3
- python存钱挑战_案例(4):52周存钱法
- 开发到底要不要转行软件测试?
- tibco rv java实例_Tibco RV - fault tolerance
- 【Linux】SOCKET编程
- 论文领读|基于 VQVAE 的长文本生成
- 了解一下iframe页面嵌入使用,轻松实现页面集成
- 机器学习工具包SHOGUN用户文档翻译完成
- 车载bc8android蓝牙,android蓝牙接收单片机数据并绘制波形
- 鼠害对计算机硬件的影响,电脑机箱漏电对电脑硬件伤害大吗
- 爬虫技术框架——Heritrix
- 示波器的基本使用 USBee逻辑分析仪的使用 USBee AX-Pro示波器的使用
热门文章
- .NET 环境中使用RabbitMQ
- 使用nginx+Apache负载均衡及动静分离
- redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory...
- java 中的finally 语句块执行顺序
- .Net程序员安卓学习之路5:使用xutils注入View和事件以及图片的显示
- 获取IOS应用的子目录
- Java开发中文件读取方式总结
- ASA SSL ××× Anyconnect SBL(Start Before Logon)用于在外网登录域(上)
- SQL SERVER 2005无法远程连接的问题
- ASP.net:命名空间“System.Xml”中不存在类型(是缺少程序集引用吗?)