数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)(上)

简介: 数据库系统概论 ---- 第二章 -- 关系数据库(2.4 关系代数)

2.4 关系代数

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询

运算的三大要素:

1.运算对象

2.运算符

3.运算结果

关系代数的运算对象是关系,运算结果也为关系。

关系代数用到的运算符包括两类:

1.集合运算符

2.专门的关系运算符

关系代数的运算按运算符的不同可以分为:

1.传统的集合运算

传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向进行,即行的角度来进行。

2.专门的关系运算

专门的关系运算不仅涉及行而且涉及列。使用比较运算符和逻辑运算符来辅助专门的关系运算符进行操作。

2.4.1 传统的集合运算

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

设关系R和关系S具有相同的目n,即两个关系都有n个属性,且相应的属性取自同一个域,t是元组变量,t∈R表示t是R的一个元组。

  • 相容性:
    两个关系具有相同的目。
    两个关系相应的属性取自同一个域。

1. 并(基本运算)

关系R与关系S的并记作,R∪S = { t | t∈R ∨ t∈S } ,其结果仍为n目关系,由属于R或属于S的元组组成。

并为行的并,所有行合成一个表,除去重复的

2. 差(基本运算)

关系R与关系S的差记作,R-S ={ t | t∈R ∧ t∉S } ,其结果仍为n目关系,由属于R而不属于S的所有元组组成。

3. 交(非基本运算)

关系R与关系S的交记作,R∩S ={ t | t∈R ∧ t∈S } ,其结果关系仍为n目关系,由 属于R 属于S的元组组成。关系的交可以用差来表示,即 R∩S = R - (R-S)。

4. 笛卡尔积(基本运算)

两个分别为n目和m目的关系R和S的笛卡尔积是一个 (n+m)列 的元组的集合(不具有相容性)。元组的前n列为关系R的一个元组,后m列是关系S的一个元组。

若R有k1个元组,S有k2个元组,则关系R和关系S的笛卡尔积有 k1 * k2个元组 。记作

2.4.2 专门的关系运算

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

引入记号:

  1. 关系模式为R(A1,A2,…,An),它的一个关系设为R。t∈R表示 t 是R的一个元组。t[Ai] 则表示元组 t 中相应于属性 Ai 的一个分量。即为元组中一个属性的值

  1. 若A = { Ai1,Ai2,…,Aik },其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则称A为属性列或属性组。t[Ai] = ( t[Ai1],t[Ai2],…,t[Aik] )表示元组 t 在属性列A上诸分量的集合。

即对关系R和关系S的属性进行拼接

设有一个学生-课程的数据库,包括学生关系Student,课程关系Course,选修关系SC,后面的多个例子将会对这三个关系进行运算。

1. 选择(基本运算)

选择又称限制。它是在关系R中选择满足给定条件的诸元组,记作:

其中F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。

逻辑表达式F的基本形式为:X1 θ Y1 ,其中 θ 表示比较运算符,X1,Y1等是属性名,或为常量,或为简单函数,属性名可以使用属性的序号来代替。在基本选择的条件上可以进一步进行逻辑运算

相关实践学习
使用DAS实现数据库SQL优化
本实验介绍如何通过数据库自治服务DAS对RDS MySQL高可用实例进行SQL优化,包含购买RDS实例并创建数据库、数据导入、生成并优化慢SQL、执行优化后的SQL语句等实验步骤。
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
阿里云RDS云数据库全解析:产品功能、收费标准与活动参考
与云服务器ECS一样,关系型数据库RDS也是很多用户上云必买的热门云产品之一,阿里云的云数据库RDS主要包含RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB等几个关系型数据库,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。本文为大家介绍阿里云的云数据库 RDS主要产品及计费方式、收费标准以及活动等相关情况,以供参考。
|
5月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
5月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
973 152
|
5月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
796 156
|
10月前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
10月前
|
人工智能 运维 关系型数据库
|
5月前
|
弹性计算 关系型数据库 数据库
云数据库RDS数据库迁移上云
阿里云RDS是一种安全稳定、高性价比的在线数据库服务,支持弹性伸缩,帮助用户轻松部署与扩展数据库。提供实例创建、白名单设置、数据库与账号管理、便捷连接等功能,简化运维操作,保障数据安全。
|
5月前
|
关系型数据库 MySQL 数据库
云时代MySQL:RDS与自建数据库的抉择
在云计算时代,选择合适的数据库部署方案至关重要。本文深入对比了AWS RDS与自建MySQL的优劣,帮助您在控制权、运维成本和业务敏捷性之间找到最佳平衡点。内容涵盖核心概念、功能特性、成本模型、安全性、性能优化、高可用方案及迁移策略,为您提供全面的决策参考。
|
6月前
|
关系型数据库 MySQL 程序员
从自建MySQL到阿里云RDS:程序员的数据库减负革命
如果你正在为自建MySQL数据库的高成本运维发愁,为凌晨三点的主从同步故障告警而崩溃,为开发团队频繁索要新测试库的要求感到窒息——是时候开启一场数据库的自我救赎了。 程序员更需构建"技术敏锐度+工程落地能力+跨域协作"的三维竞争力,通过创建技术组合形成差异化优势。企业应建立持续学习机制,提供AI沙盒环境促进技术转化。