《数据厍设计与开发》讲义 1.2关系代数 关系模型的重要部分是关系操纵,关系 代数是一种抽象的查询语言,是关系数 据操纵语言的一种传统表达方式,它是 用对关系的运算来表达查询的。利用关 系代数可以演示一个查询语言从关系数 据库系统中检索信息的潜力,可以用最 简单的形式来表达所有关系数据库查询 语言必须完成的运算的集合,这些基本 的运算对解释标准查询语言SQL如何被执 行很有帮助,同时也有利于培养关系运 算的思维能力 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.2关系代数 • 关系模型的重要部分是关系操纵,关系 代数是一种抽象的查询语言,是关系数 据操纵语言的一种传统表达方式,它是 用对关系的运算来表达查询的。利用关 系代数可以演示一个查询语言从关系数 据库系统中检索信息的潜力,可以用最 简单的形式来表达所有关系数据库查询 语言必须完成的运算的集合,这些基本 的运算对解释标准查询语言SQL如何被执 行很有帮助,同时也有利于培养关系运 算的思维能力
《数据厍设计与开发》讲义 1.2关系代数 关系代数的运算对象是关系,运算结果亦为关 系。关系代数用到的运算符包括四类;集合运 算符、专门的关系运算符、算术比较符和逻辑 运算符。关系代数的运算按运算符的不同可分 为传统的集合运算和专门的关系运算两类。其 中传统的集合运算将关系看成元组的集合,其 运算是从关系的“水平”方向即行的角度来进 行。而专门的关系运算不仅涉及行而且涉及列 比较运算符和逻辑运算符是用来辅助专门的关 系运算符进行操作的。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.2关系代数 • 关系代数的运算对象是关系,运算结果亦为关 系。关系代数用到的运算符包括四类;集合运 算符、专门的关系运算符、算术比较符和逻辑 运算符。关系代数的运算按运算符的不同可分 为传统的集合运算和专门的关系运算两类。其 中传统的集合运算将关系看成元组的集合,其 运算是从关系的“水平”方向即行的角度来进 行。而专门的关系运算不仅涉及行而且涉及列。 比较运算符和逻辑运算符是用来辅助专门的关 系运算符进行操作的
《数据厍设计与开发》讲义 关系代数运算符 运算符符号含义键盘格式示例 U并」 UNION RUS,,或 R UNION S 集合∩交| INTERSECT|Rns,或 R INTERSECT S 运算符 差 MINUS R-S,或 R MINUS S ×乘| TIMES R×S,或 R TIMES S 0|选择 R where c|o姓名→录三”(S)或 专门 s where姓名=张三’ 关系π投影|R[] π考号,姓名(S)或S考号,姓名」 运算符∞连接 JOIN R∞S,或RJ0INS 除 DIVIDEBY R÷S,或 R DIVIDEBY S 关系代数中这些运算经有限次复合后形成的式子称为关系 代数表达式。 北京邮电次学软优学 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 关系代数运算符 运算符 符号 含义 键盘格式 示例 集合 运算符 ∪ 并 UNION R∪S,或 R UNION S ∩ 交 INTERSECT R∩S,或 R INTERSECT S - 差 MINUS R-S,或 R MINUS S × 乘 TIMES R×S,或 R TIMES S 专门 关系 运算符 σ 选择 R where C σ姓名=“张三”(S)或 S where 姓名=‘张三’ π 投影 R[ ] π考号,姓名(S)或S[考号,姓名] ∞ 连接 JOIN R∞S,或R JOIN S ÷ 除 DIVIDEBY R÷S,或R DIVIDEBY S 关系代数中,这些运算经有限次复合后形成的式子称为关系 代数表达式
《数据厍设计与开发》讲义 1.2.1传统的集合运算 ·传统的集合运算是二目运算,包括并、差、交 广义笛卡尔积。 ·定义1.2.1设关系R和关系S具有相同的目n(即 两个关系都有n个属性),且相应的属性取自同 个域,则可以定义并、差、交运算如下 并( Union):关系R与关系S的并记作 RUS={t|t∈R∨t∈S} 其结果仍为n目关系,由属于R或属于S的元组 组成 差( Difference):关系R与关系S的差记作:R- S={t|t∈R∧t!∈S} 其结果仍为n目关系,由属于R而不属于S的所 有元组组成。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.2.1传统的集合运算 • 传统的集合运算是二目运算,包括并、差、交、 广义笛卡尔积。 • 定义1.2.1 设关系R和关系S具有相同的目n(即 两个关系都有n个属性),且相应的属性取自同 一个域,则可以定义并、差、交运算如下: –并 (Union): 关 系 R 与 关 系 S 的 并 记 作 : R∪S={t|t∈R∨t∈S} 其结果仍为n目关系,由属于R或属于S的元组 组成。 –差(Difference): 关系R与关系S的差记作:R— S={ t|t∈R∧t!∈S } 其结果仍为n目关系,由属于R而不属于S的所 有元组组成
《数据厍设计与开发》讲义 1.2.1传统的集合运算 交( Intersection):关系R与关系S的交记作: R∩S={tt∈R∧t∈S 其结果仍为n目关系,由既属于R又属于S的元 组组成。关系的交可以用差来表示,即R∩S=R-(R 广义笛卡尔积( Extended cartesian product):两 个分别为n目和m目的关系R和S的广义笛卡尔积是 个(n+m)列的元组的集合。元组的前n列是关系R的 个元组,后m列是关系S的一个元组。若R有k1个 元组,S有k2个元组,则关系R和关系S的广义笛卡 尔积有k1×k2个元组。记作: R×S={ trts tr∈R∧ts∈S 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.2.1传统的集合运算 –交 (Intersection): 关 系 R 与关系 S 的交记作: R∩S={ t|t∈R∧t∈S } 其结果仍为n目关系,由既属于R又属于S的元 组组成。关系的交可以用差来表示,即R∩S=R-(RS)。 –广义笛卡尔积(Extended Cartesian Product):两 个分别为n目和m目的关系R和S的广义笛卡尔积是一 个(n+m)列的元组的集合。元组的前n列是关系R的 一个元组,后m列是关系S的一个元组。若R有k1个 元组,S有k2个元组,则关系R和关系S的广义笛卡 尔积有 k1×k2 个 元 组 。 记 作 : R×S={trts|tr∈R∧ts∈S }