关联式代数RelationalAlgebra.PPT

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关联式代数RelationalAlgebra

右外部合併執行結果的關聯表是取回右邊關聯表的所有值組,例如:Students和Instructors關聯表的右外部合併運算式,如下所示: Result = Students rightInstructors 5-3-2 合併運算-右外部合併 完全外部合併執行結果的關聯表是取回兩邊關聯表的所有值組,例如:Students和Instructors關聯表的完全外部合併運算式,如下所示: Result = Studentsleft rightInstructors 5-3-2 合併運算-完全外部合併 除法運算(Division)類似數學除法,這是一種二運算元的運算子,其中一個運算元關聯表是除關聯表,一個是被除關聯表,可以找出除關聯表在被除關聯表中的「所有」資料。 5-3-3 除法運算-說明 若關聯表R=(r1, r2, …, rm, s1, s2, …sn),S=( s1, s2, …sn),S的關聯表綱要是R的子集,除法運算的基本語法與定義,如下所示: R÷S = { t | (t x S)?R, t∈r1, r2, …, rm(R) } 上述語法的除法運算結果的關聯表綱要為:(r1, r2, …, rm),其值組t屬於關聯表R,在與關聯表S執行卡笛生乘積運算後,其運算結果仍為R的子集。 5-3-3 除法運算-語法與定義(說明) 除法運算的2個運算元需要滿足一些條件,如下所示: 被除關聯表的屬性需要比除關聯表至少多一個,Books關聯表有3個屬性,Authors只有一個。 除關聯表的屬性集合是被除關聯表屬性集合的子集,例如:Books關聯表擁有Authors關聯表的author屬性,它是Books關聯表屬性集合的子集。 5-3-3 除法運算-語法與定義(條件) 除法運算不滿足交換律和結合律,而且並不是關聯式代數的基本運算子,因為它可以使用基本運算子來導出,若關聯表R=(r1, r2, …, rm, s1, s2, …sn),S=( s1, s2, …sn),如下所示: R÷S = πr1, r2, …, rm (R)-πr1, r2, …, rm((πr1, r2, …, rm (R) x S)-R) 5-3-3 除法運算-語法與定義(導出) Books和Authors關聯表為例的除法運算式範例,如下所示: Result = Books÷Authors 除法運算式可以使用基本運算子導出,Books Authors運算式可以寫成: Result=πcode, title (Books)-πcode, title ((πcode, title (Books) x Authors)-Books) 5-3-3 除法運算-範例1 首先執行πcode, title (Books) x Authors的卡笛生乘積運算: 5-3-3 除法運算-範例1(導出過程1) 與Books關聯表執行差集運算:(πcode, title (Books) x Authors)-Books,這是Books關聯表中不屬於Books÷Authors的值組,如下: 最後,再與Books關聯表執行差集運算:πcode, title (Books)-πcode, title ((π code, title (Books) x Authors)-Books),就可以得到Books÷Authors的結果。 5-3-3 除法運算-範例1(導出過程2) 5-3-3 除法運算-範例2 聯集(Union)運算源於傳統集合論,聯集是一種二元運算子,可以將2個關聯表的所有值組合併成一個關聯表,而且會將重複值組刪除掉。 5-2-3 聯集運算 若關聯表R與S為聯集運算的2個運算元,且都滿足「聯集相容」,聯集運算的基本語法與定義,如下所示: R∪S = S∪R = { t | t∈R∨t∈S } 上述語法的聯集運算滿足交換律,也滿足結合律,運算取出屬於關聯表R或屬於關聯表S的值組t。 5-2-3 聯集運算-語法與定義 在聯集運算的2個關聯表都需滿足聯集相容的2個條件,如下所示: 運算式2個關聯表運算元必須擁有相同的屬性數,即相同維度。 對應屬性必須擁有相同的定義域。 5-2-3 聯集運算-聯集相容 以Inventory1和Inventory2關聯表為例的聯集運算式範例,如下所示: Result = Inventory1∪Inventory2 運算式相當於SQL語言的SELECT和UNION指令,如下所示: SELECT * FROM Inventory1 UNION SELECT * FROM Inventory2 5-2-3 聯集運算-範例1 在聯集運算式的2個關聯表一定擁有相同的關聯表綱要。 如果是2個不同的關聯表綱要,只需部分屬性相同,一樣可以配

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档