大家好,欢迎来到IT知识分享网。
思维导图: 
2.2.1 基本的关系操作
笔记:2.2 关系操作
—
2.2 关系操作概述
– 关系模型定义了关系操作的能力,但不规定具体的实现语法。
– 根据上述定义,不同的关系数据库管理系统可以具备不同的语言来实现这些操作。
2.2.1 基本关系操作
1. 查询 (Query) 和 数据操作 (Data Manipulation)
– 查询 (Query):关系模型具有强大的查询能力。
– 数据操作 (Data Manipulation):包括插入 (Insert)、删除 (Delete)、修改 (Update)。
2023/11/23补充
我的理解:
其实在我看来其实就是对数据库的操控操作。本质还是对数据的操控。
2. 查询操作的分类
– 选择 (Select):基于条件筛选元组。
– 投影 (Project):选择某些属性,忽略其他属性。
– 连接 (Join):基于共同属性组合两个关系。
– 除 (Divide):一种特殊的查询操作。
– 并 (Union):两个关系的并集。
– 差 (Except):一个关系与另一个关系的差集。
– 交 (Intersection):两个关系的交集。
– 笛卡儿积:组合两个关系的所有可能元组。
3. 基本操作与复合操作
– 选择、投影、并、差、笛卡儿积被视为5种基础操作。
– 其他操作可以从这五种基本操作中派生。
2.2.2 关系操作的特性
– 集合操作方式:关系操作的核心思想是集合论,即每次操作处理的对象和结果都是元组的集合。这也被称为“一次一集合 (set-at-a-time)”方式。
– 对比非关系模型:与之相对,非关系数据模型采用“一次一记录 (record-at-a-time)”方式来进行数据操作。
—
2.2.2 关系数据语义的分类
笔记:2.2.2 关系数据语言的分类
—
2.2.2.1 关系数据语言的历史及分类
1. 早期的关系操作表现形式:
– 关系代数 (Relational Algebra): 用运算表达查询要求。
– 关系演算 (Relational Calculus): 用谓词表达查询要求。
– 可以进一步细分为:
– 元组关系演算: 基于元组变量的谓词。
– 域关系演算: 基于域变量的谓词。
我的理解:
其实这里就是要告诉我们关系数据语言的历史,让我们更好的理解这一概念。
2. 关系完备性:
– 语言如果能表示关系代数所表达的查询,则具有关系完备性。
– 已证实:关系代数、元组关系演算、域关系演算三者在表达能力上等价。
3. 实际关系数据库语言与理论模型的差异:
– 虽然关系代数、元组关系演算和域关系演算是理论的查询语言,但与实际数据库系统的语言存在差异。
– 实际查询语言除基础功能外,还有附加功能如:聚集函数、关系赋值、算术运算等。
4. 结构化查询语言 (SQL):
– 介于关系代数与关系演算之间的语言。
– 不仅支持查询,还具备数据定义、数据控制等多种功能。
– SQL体现了关系数据语言的优点,是关系数据库的标准语言。
2.2.2.2 关系数据语言分类总览:
1. 关系代数语言: 如 ISBL。
2. 关系演算语言: 分为
– 元组关系演算语言: 如 ALPHA、QUEL。
– 域关系演算语言: 如 QBE。
3. 具有关系代数和关系演算特点的语言: 如 SQL。
2.2.2.3 SQL的特性:
– 高度非过程化: 用户无需知道数据检索的具体路径。
– 查询优化机制: 数据库系统自动选择最佳存取路径,提高查询效率。
—
总结:
重点
- 基本关系操作:理解查询(Query)以及数据操作(如插入(Insert)、删除(Delete)、修改(Update))的基本原理。
- 查询操作的分类与应用:掌握选择(Select)、投影(Project)、连接(Join)等操作的具体应用。
- 关系操作的集合性质:理解关系操作作为集合操作(Set-at-a-time)的特性,与非关系模型(一次一记录操作)的区别。
- 关系数据语言的分类:了解不同的关系数据语言如关系代数、元组关系演算、域关系演算以及结构化查询语言(SQL)。
- SQL的特点和应用:SQL的非过程化特性、查询优化、以及其在数据定义、数据操作和数据控制中的应用。
难点
- 理解不同查询操作的差异与联系:特别是选择、投影、连接等操作在实际使用中的不同。
- 抽象的查询语言与实际应用的差异:如关系代数、关系演算与SQL之间的联系与区别。
- SQL的高级特性:理解SQL中的高级功能,如聚集函数、优化查询等。
- 查询优化的概念:理解关系数据库如何优化查询,选择最有效的存取路径。
易错点
- 混淆不同类型的关系操作:尤其是在查询操作中,如将选择和投影操作混淆。
- SQL语法和逻辑错误:在编写SQL查询时,容易出现语法或逻辑错误,特别是在进行复杂的连接和子查询时。
- 忽视集合操作的特性:在处理关系操作时,忘记其操作对象和结果都是集合的特性,可能导致错误的理解和结果。
- 过度或错误地使用SQL的高级功能:例如,不恰当地使用聚集函数或忽视查询优化的原则。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129686.html