数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)

简介: 数据库系统概论 ---- 第二章 -- 关系数据库(2.1~2.3)(重要知识点)

前言

【数据库系统概论----第二章–关系数据库(2.1~2.3)】中重要的知识点进行归纳整理

1. 关系

关系为笛卡尔积的有限子集。

关系为一张二维表。

笛卡尔积本身在实体空间中是无意义的,关系为从笛卡尔积中取出有意义的子集。

  • 相关术语:
  • 目(度):表中有几列就为几度或几目。
  • 有几行为几元关系。
  • 表的每行对应一个元组。
  • 表的每列对应一个域,表的每列对应一个属性,n目关系有n个属性。
  • 候选码:若关系中的某一属性可以唯一标识一个元组,称该属性为候选码。
  • 主码:若一个关系有多个候选码,选定其中一个为主码。
  • 主属性:候选码的属性为主属性。
  • 非主属性(或非码属性):不包含任何候选码中的属性为非主属性或非码属性。
  • 全码:如果关系模式的所有属性都是这个关系模式的候选码,为全码。
  • 关系可以有三种类型,基本关系(又称基本表或基表)、查询表、视图表。
  • 基本表是实际存在的表,是实际存储数据的逻辑表示。
  • 查询表是查询结果对应的表。
  • 视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

2. 基本关系的性质

  1. 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
  2. 不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。(属性名唯一性)。
  3. 列的顺序无所谓,即列的次序可以任意交换。
  4. 任意的两个元组的候选码不能取相同的值。
  5. 行的顺序无所谓,即行的次序可以任意交换。
  6. 分量必须取原子值,即每一个分量都必须取不可分的数据项(不能表中有表)。

关系模型要求关系必须规范化,即要求关系必须满足一定的规范条件。这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分割的数据项。规范化的关系简称为范式。


3. 关系模式

关系的描述称为关系模式。

  • 关系模式的形式化表示:R(U, D, DOM, F)
  • R为关系名
  • U为组成该关系的属性名集合
  • D为U中属性所来自的域
  • DOM为属性向域的映像集合(各行值对应域中的取值)
  • F为属性间数据的依赖关系集合
  • 关系模式通常简记为R(U)R(A1,A2,...)其中Ai为属性名。
  • 关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的。

4. 关系操作

  • 关系操作的特点:集合操作方式,即操作的对象和结果都是集合。
  • 常用的关系操作:
  • 查询(关系操作最主要的部分):
    查询操作又可以分为选择、投影、连接、除、并、差、交、笛卡尔积等,其中选择、投影、并、差、笛卡尔积是5种基本操作,其他操作可以用基本操作来定义和导出。
  • 数据更新操作:
    插入、删除、修改
  • 常用的关系操作:选择、投影、连接、除、并、交、差、笛卡尔积
  • 基本的关系操作(5种):选择、投影、并、差、笛卡尔积。

5. 关系数据语言的分类

  1. 关系代数:用对关系的运算来表达查询要求。
  2. 关系演算:用谓词来表达查询要求。
  3. 结构化查询语言(SQL):介于关系代数和关系演算之间。

6. 外码

设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks对应,称F是R的外码,并称基本关系R为参照关系(关系R中的F参照了关系S中的Ks),基本关系S为被参照关系或目标关系


7. 关系的完整性

  1. 实体完整性:主码(关系模式中主码作为唯一性标识)中的属性即主属性不能取空值。
  2. 参照完整性:外码或者取空值,或者等于被参照关系中某个元组的主码值。
  3. 用户定义的完整性:应用领域需要遵循的约束条件。

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

相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
3月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
3月前
|
SQL 关系型数据库 数据库
数据库空间之谜:彻底解决RDS for SQL Server的空间难题
【8月更文挑战第16天】在管理阿里云RDS for SQL Server时,合理排查与解决空间问题是确保数据库性能稳定的关键。常见问题包括数据文件增长、日志文件膨胀及索引碎片累积。利用SQL Server的动态管理视图(DMV)可有效监测文件使用情况、日志空间及索引碎片化程度。例如,使用`sp_spaceused`检查文件使用量,`sys.dm_db_log_space_usage`监控日志空间,`sys.dm_db_index_physical_stats`识别索引碎片。同时,合理的备份策略和文件组设置也有助于优化空间使用,确保数据库高效运行。
76 2
|
3月前
|
关系型数据库 数据库 数据安全/隐私保护
"告别繁琐!Python大神揭秘:如何一键定制阿里云RDS备份策略,让数据安全与效率并肩飞,轻松玩转云端数据库!"
【8月更文挑战第14天】在云计算时代,数据库安全至关重要。阿里云RDS提供自动备份,但标准策略难以适应所有场景。传统手动备份灵活性差、管理成本高且恢复效率低。本文对比手动备份,介绍使用Python自定义阿里云RDS备份策略的方法,实现动态调整备份频率、集中管理和智能决策,提升备份效率与数据安全性。示例代码演示如何创建自动备份任务。通过自动化与智能化备份管理,支持企业数字化转型。
92 2
|
3月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
80 0
|
4月前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6月前
|
SQL 关系型数据库 Serverless
阿里云关系型数据库RDS
阿里云关系型数据库RDS
256 49
|
5月前
|
消息中间件 关系型数据库 Serverless
函数计算产品使用问题之如何通过vpc来连接rds数据库
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
5月前
|
关系型数据库 数据管理 数据库
数据管理DMS产品使用合集之如何极速恢复RDS(关系型数据库服务)中的数据表
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
112 3
|
4月前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
149 0
|
5月前
|
关系型数据库 MySQL 测试技术
《阿里云产品四月刊》—瑶池数据库微课堂|RDS MySQL 经济版 vs 自建 MySQL 性能压测与性价比分析
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代