資料庫的關係代數

2022-07-28 19:03:21 字數 1290 閱讀 7954

###並差交使用的前提是:

###1.這三個操作符所操作的關係有相同的目(即:有相同數目的列屬性)

###2.相應的屬性取自同乙個

###並交差都不改變關係的列數,但是笛卡爾積改變了關係的列數

##專門的關係運算

##選擇、投影、連線、除

##1.選擇(又稱為限制)

###將符合篩選要求的元組顯示出來(選擇:只改變表元組的數目)

##2.投影

###從原有的表中選擇出若干的列組成新的關係

###投影不僅僅改變的是列的資料,也可能改變元組的數目

###因為在進行投影的時候可能將原有的可以唯一的確定乙個元組的列去掉之後,造成重複的行出現,從而導致投影之後元組的數目也跟著發生變化。

##3.連線

###等值連線(連線條件為=)

###從關係的笛卡爾積中選取a,b屬性值相等的那些元組,即等值連線(不去除重複的列)

###自然連線

###與等值連線類似,但是不同點是自然連線將重複的列去掉了。

###外連線(所謂的左表右表:在sql語句中以from後的表為左表)

###左外連線:保留左表中的全部的資訊,未匹配的用null代替

###右外連線:保留右表中的全部的資訊,未匹配的用null代替

##4.除

###給定關係r (x,y) 和s (y,z),其中x,y,z為屬性組。r中的y與s中的y可以有不同的屬性名,但必須出自相同的域集。r與s的除運算得到乙個新的關係p(x),p是r中滿足下列條件的元組在x屬性列上的投影:元組在x上分量值x的象集yx包含s在y上投影的集合。

附加的內容:除法的推導

例子:設關係r(a,b,c),s(b,c,d),r/s?

r與s的關係如下:

a1的象集

a2的象集

a3的象集

a4的象集

s在(b,c)上的投影為

最終的結果:

(個人理解:其中s在除法中表示乙個標準,s中的內容(即:b,c,其中d是無關量,其中的b,c應該與r中的b,c相對應,a即所要求的內容)表示所要達到的標準,而a/s表示從a中篩選出符合標準的內容),a/s所的結果為達到s中的標準的內容

資料庫關係代數

概述 傳統的集合運算 並,差,交,笛卡爾積 專門的關係運算 r和s 具有相同的目n 即兩個關係都有n個屬性 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r或屬於s的元組組成 r s r和s 具有相同的目n 相應的屬性取自同乙個域 r s 仍為n目關係,由屬於r而不屬於s的所有元組組成 r s...

資料庫 關係代數

目錄 有了資料庫,還要通過查詢來獲得資料。sql是常用的查詢語言,但我想用更抽象的查詢語言來表達,從思路上去理解而忽略實現細節。下面將介紹關係代數。在介紹查詢語言之前,先定義乙個資料庫例項 sailors sid integer,sname string,rating interger,age re...

資料庫的關係代數

關聯式資料庫的資料操作分為查詢和更新兩類。查詢語句用於各種檢索操作,更新操作用於插入 刪除和修改等操作。關係查詢語言根據其理論基礎的不同分成兩大類 1.關係代數語言 查詢操作是以集合操作為基礎運算的dml語言。2.關係演算語言 查詢操作是以謂詞演算為基礎運算的dml語言。關係代數的五個基本運算 關係...