资源描述:
《《数据库设计与开发》讲义》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.2关系代数关系模型的重要部分是关系操纵,关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。利用关系代数可以演示一个查询语言从关系数据库系统中检索信息的潜力,可以用最简单的形式来表达所有关系数据库查询语言必须完成的运算的集合,这些基本的运算对解释标准查询语言SQL如何被执行很有帮助,同时也有利于培养关系运算的思维能力。郭文明2003.06.051.2关系代数关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类;集合运算符、专门的
2、关系运算符、算术比较符和逻辑运算符。关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。其中传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向即行的角度来进行。而专门的关系运算不仅涉及行而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。郭文明2003.06.05关系代数运算符运算符符号含义键盘格式示例集合运算符∪并UNIONR∪S,或RUNIONS∩交INTERSECTR∩S,或RINTERSECTS-差MINUSR-S,或RMINUSS×乘TI
3、MESR×S,或RTIMESS专门关系运算符σ选择RwhereCσ姓名=“张三”(S)或Swhere姓名=‘张三’π投影R[]π考号,姓名(S)或S[考号,姓名]∞连接JOINR∞S,或RJOINS÷除DIVIDEBYR÷S,或RDIVIDEBYS关系代数中,这些运算经有限次复合后形成的式子称为关系代数表达式。郭文明2003.06.051.2.1传统的集合运算传统的集合运算是二目运算,包括并、差、交、广义笛卡尔积。定义1.2.1设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取
4、自同一个域,则可以定义并、差、交运算如下:并(Union):关系R与关系S的并记作:R∪S={t
5、t∈R∨t∈S}其结果仍为n目关系,由属于R或属于S的元组组成。差(Difference):关系R与关系S的差记作:R—S={t
6、t∈R∧t!∈S}其结果仍为n目关系,由属于R而不属于S的所有元组组成。郭文明2003.06.051.2.1传统的集合运算交(Intersection):关系R与关系S的交记作:R∩S={t
7、t∈R∧t∈S}其结果仍为n目关系,由既属于R又属于S的元组组成。关系的交可以用差来
8、表示,即R∩S=R-(R-S)。广义笛卡尔积(ExtendedCartesianProduct):两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。记作:R×S={trts
9、tr∈R∧ts∈S}郭文明2003.06.05传统集合运算举例RABCa1b1c1a1b2c2a2b2c1R∪SABCa1b1c1a1b2c2a2b2c1a1b
10、3c2SABCa1b2c2a1b3c2a2b2c1R∩SABCa1b2c2a2b2c1郭文明2003.06.05传统集合运算举例RABCa1b1c1a1b2c2a2b2c1R-SABCa1b1c1R×SABCABCa1b2c1a1b2c2a1b2c1a1b3c2a1b2c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1SABCa1b2c2a1b3c2a2b2c1郭文明2003.06.051.
11、2.2专门的关系运算专门的关系运算包括选择、投影、连接、除等。为了叙述上的方便,先引入几个常用记号。设关系模式为R(Al,A2,…,An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量。若A={Ai1,Ai2,…,Aik},其中Ail,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。郭文明2003.06.051.2.2专门的关系运算R为n目关系,S为m目关系。tr∈R,ts∈S,trts称为元组的连接。它是一个n+m列的元
12、组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。给定一个关系R(X,Z),X和Z为属性组。定义t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]︱t∈R,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合。郭文明2003.06.05学生-课程数据库S学生表学号姓名性别年龄所在系SnoSnameSsexSageSdept2000101张明男19CS2000102李华女20IS2000103王强男18MA2000104秦