关系数据库中关系代数的基本运算有哪些

简单地说,关系代数是数据库操作的基础。
它定义了一组工作关系(表)的规则。
其实很简单。
关系代数的基本运算包括选择运算、投影运算、并运算、集合差运算、笛卡尔积运算和重命名运算。
其中,select、projection和rename是一元运算,其他四种是对两个关系进行操作的二元运算。

我们先来说说最重要的事情——选择操作。
比如我们去年上线的一个项目,我们用这个操作来过滤一定条件的记录,也就是3 000左右的数据级别。
很多人没有注意到这一点。
本质上,这就像大海捞针一样,需要精确的定位条件。

还有一点,投影操作类似于缩小表格,只留下必要的列。
去年我们处理的数据中,我们只保留了关键信息,去掉了不必要的细节,提高了效率。

还有一个更重要的细节——笛卡尔积,用行话来说就是雪崩效应。
事实上,前部的轻微延迟会降低整个后部的性能。
该操作会产生大量中间结果,实际应用中应谨慎使用。

一开始我以为这些操作很简单,但后来我发现这是错误的。
每个操作都有其特定的应用场景和注意事项。
等等,还有别的事。
关系代数的附加操作,如集合交集、自然连接、赋值、外连接等,是为了更灵活的数据处理而设计的。

最后,我想提醒您一个简单的陷阱:高级关系代数运算,例如广义投影和聚合函数。
虽然这些操作很强大,但是如果不理解它们的逻辑,很容易导致结果不准确。
我觉得值得一试,但是需要结合具体问题具体分析。

数据库系统 | 笔记整理(2)——关系数据库

关系模型使用称为“关系”的单一数据结构来表示实体和关系。
关系是域的笛卡尔积的子集。
关系的逻辑结构是一个二维表。
关系模式描述了关系的结构,包括属性、域和依赖关系。
关系数据库是应用程序域中所有关系的集合。
关系运算是集合运算,包括选择、投影、并集等。
关系代数使用运算来表达查询,操作数和结果都是关系。
实体完整性要求主要属性不为空。
参照完整性要求外键值为空或等于参照关系的主键值。
用户定义的完整性是应用程序域的语义约束。

什么是关系运算?

这些是关系运算的类型。
简而言之,就是过滤、获取列、合并、分割等操作。

选择是根据条件选择数据。
上周我刚处理了一个案例,客户想排除3 0岁以上的客户。

投影意味着获取特定的列。
该项目只需要您的姓名和电话号码。

Join 表示连接表。
自然连接会自动检测公共字段,这非常有用。

部门很特殊。
数据我记不太清楚了,但大概是这样的,满足多个条件。

联合意味着合并和联合。
差异集就是选择什么有这个,什么没有。
交叉意味着有这个,有那个。

笛卡尔积是总和的组合。
我用得不多,但它值得了解。

视图是一个虚拟表。
数据仅在查询时生成,不占用空间。

在扩展操作中,链接和并集基本上含义相同。
就我个人而言,我更喜欢使用自然联系。

您如何看待拆分和视图之间的区别?