关系代数 (关系模型)

理解关系数据库(关系模型),需要了解关系代数(关系模型)。

关系代数有如下演算。

◆4つの集合演算
和集合演算(Union)
差集合演算(Difference)
共通集合演算(Intersection)
直積演算(Cartesian Product)

◆4つの関係演算
射影演算(Projection)
選択演算(Selection)
結合演算(Join)
商演算(Division)

【和集合演算(Union)】

和(union)演算 R ∪ S は、R と S を、R の全ての組(タプル、行)と S の全ての組で構成される一つの関係を返す。 この演算では、R と S が型適合であることが前提となる。 重複する組は除去される。

【差集合演算(Difference)】

差(difference)演算 R − S は、R から、S に属する組を取り除いた関係を返す。 この演算では、R と S が型適合であることが前提となる。

【共通集合演算(Intersection)】

交わり(交差、共通、積、intersection)演算 R ∩ S は、R と S の両方に属する組から関係を返す。 この演算では、R と S が型適合であることが前提となる。 交わり演算と等価な演算を、差演算を使って表現することができる。

R ∩ S = R − (R − S)

【直積演算(Cartesian Product)】

直積(積、デカルト積、cartesian product)演算 R × S は、R と S の組の全ての組み合わせの関係(デカルト積)を返す。 言い換えると、R がもつ全ての組が、S のもつ全ての組と、組み合わせられる。 直積演算では、R と S が型適合である必要は無い。 直積演算 R × S の組の数は、R の組の数と S の組の数を、掛け算した数になる。 直積演算 R × S の属性の数は、R の属性の数と S の属性の数を、足し算した数になる。

【射影演算(Projection)】

射影(projection)演算は、ある関係から属性を限定した関係を返す。 射影演算は、Rを構成する属性集合から、いくつかの属性を抽出する。 βを抽出する属性の集合とすると、射影は、πβ(R) もしくは R[β] と記述することができる。

【選択演算(Selection)】

制限(restriction)は、選択(selection)ともいい、ある関係から、指定した条件に合う組の集合を関係として返す。( Ø:=、≠、<、≦、≧、>)

【結合演算(Join)】

結合 (join) は、2つの関係から1つの関係を返す演算であり、直積演算と制限演算を組み合わせた演算に相当する。 一般に、結合を直積演算と制限演算の組み合わせと考えると、この制限演算の制限条件は、A θ B の普通の属性比較が真となるという条件である(θは行おうとする結合演算に応じた比較演算子)。 θ比較の比較演算子は、<、≤、=、>、≥、<> である。 この一般化された結合演算の概念は、θ結合(シータ結合)とも呼ばれる。 一般化された結合演算であるθ結合を具象化した演算として、この節で述べる等結合自然結合準結合(半結合)などがある。 この他に外結合(外部結合)も考案されているが、外結合の妥当性については議論の対象となっており、後の節で説明する。  ( Ø:=、≠、<、≦、≧、>)

【商演算(Division)】

商(division)演算 R ÷ S は、直積演算とは対称となる逆の演算と考えることができる。 関係Rと関係Sがあり、 β {\displaystyle \beta } を R の属性集合、 γ {\displaystyle \gamma } を S の属性集合とする。 β ∩ γ = ∅ {\displaystyle \beta \cap \gamma =\varnothing } が成立する場合、次のようになる。

T = R × S {\displaystyle T=R\times S}
T ÷ S = R {\displaystyle T\div S=R}

时间: 2024-10-02 18:01:38

关系代数 (关系模型)的相关文章

元组演算与关系代数关系

用元组演算实现关系代数 关系运算的安全性 不产生无限关系和无穷验证的运算被称为安全的.

数据库精华知识点总结(1)—数据库的三层模式和二级映像,E-R(实体联系图)图,关系模型

Data base: 长期存储在计算机内,有组织的,可共享的大量数据集合.基本特征:永久存储,可共享,有一定的物理和逻辑结构. Data base manage system(DBMS):用户和os之间的一层数据管理软件. 1.提供数据操纵语言DML对数据库增删改查 2.数据库的建立和维护 3.提供数据控制功能:在数据库建立,运行和维护时,DBMS管理数据的安全性,完整性,并发控制和故障的系统恢复,(也就是数据库的事务管理和运行管理) 4.与其它软件系统通信 Data base system(D

关系模型介绍

2.1 关系数据库的结构 关系数据库由表(table)的集合构成,每个表有唯一的名字.例如,instructor表记录了有关教师的信息,它有四个列首:ID.name.dept_name和salary.该表中每一行记录了一位教师的信息,包括该教师的ID.name.dept_name以及salary.类似的,course表存放了关于课程的信息,包括每门课程的course_id.title.dept_name和credits.注意,每位教师通过ID列的取值进行标识,而每门课程则通过course_id列

数据库系统原理——ER模型与关系模型

    数据库系统是软件的一种,数据库系统自然而然也有他自己的生命周期--生存期.它的生存期从规划开始,一直到将它卸载不用了.它的中间过程很复杂,为了实现用户的想法,数据库有关人员将现实生活中的数据进行抽象,然后在进行分类与操作,让后将数据整合到一起,将它们封装成了一个系统让用户使用它,最后数据库有关人员在对它们的成果进行不断地维护,这样不仅满足了用户的需要,还体现了全心全意为人民服的观点.     1  软件与数据库的关系     数据库系统是软件这一个超类的实例化成的一个子类而已,当然,还可

数据库设计之E-R模型转换成关系模型

个人重构版机房收费系统中需要自己重新设计数据库,那么如何设计数据库呢?这也是咱们自考中一门重要的课程<数据库原理>,对于考过这科的同学想必已经从中受益,直接就可以学以致用.我是今年10月份考这本书,所以就先实践一把. 原先看过的耿建玲老师的视频,里面重点讲解的是数据库内部的具体操作,没有怎么涉及到数据库设计中不可或缺的一个步骤即从概念模型到逻辑模型的转换.进入正题: 背景:数据系统生存期 我们把数据库应用系统从开始规划.设计.实现.维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生

数据仓库数据库设计方法---关系模型和多维模型比较分析

数据仓库中广泛采用的数据库设计模型有两种:关系型和多维型.普遍认为在数据仓库的设计方法中关系模型是“Inmon”方法而多维模型是“Kimball”方法. 先来看下关系模型,关系型数据以一种称为“标准化”的形式存在.数据标准化是指数据库设计会使数据分解成非常低的粒度级,标准化数据以一种孤立模式 存在,这种情况下对数据表里的数据关系要求很严格.一般遵循3NF范式.采用关系型设计的数据库一般具有较强的灵活性和多功能性(可以支持数据的多种视 图). 再来看下多维模型,多维模型一般有星型模式.雪花模式.混

mongoose - 数据关系模型

********************** 作者:  张启卫 时间: 2017年5月23号 功能: mongoDB 与 mongoose 数据关系模型 * 一对一 * 一对多 * 多对多 ********************** 一.嵌入式的(Embed) 1. 添加mongoose模块, 连接数据库 var mongoose = require('mongoose'); mongoose.connect("mongodb://localhost/data_test"); 2.

关系模型关系模型

关系模型研究的内容 一个关系就是一个Table,关系模型就是处理Table的 在处理Table时涉及到以下内容 如何来描述一个Table,一个Table由哪些要素组成 规定Table上的操作和Table与Table之间的操作 定义表的约束与操作的约束 关系模型三要素 基本结构 (Table) 基本操作(U.-.X.σ.π.÷.∩) 完整性约束(实体完整.参照完整.用户自定义完整性) 表/关系 下图是对一张表的定义,我们称表也为关系. 域:所有可取的列值构成的集合.域的笛卡尔积的子集被成为关系.

关系型数据库-关系模型R(U,D,dom,F)解析

关系模型可以形式化表示为R(U,D,dom,F) R:关系名 D:属性的域 dom:属性的映射关系 F:依赖关系 就表A(A1,A2,A3)而言: 1.A为关系名(R). 2.如果A1为number(2)类型,那么属性的域为-99~99之间,即为A1属性的域(D). 3.如果A2属性为身份,域可为 ”导师“ 和 ”研究生“ ,对应于导师和研究生都有一个(列表)域,这种对应关系称之为属性的映射关系(dom). 4.在A表中A1是主键,如果A1表满足2NF,那么有F={A1-->A2,A1-->A