回覆列表
  • 1 # 伊始Spring

    關係的基本運算有兩類:

    →傳統的集合運算(並、差、交等)

    →專門的關係運算(選擇、投影、自然連線、除法、外連線),有些查詢需要幾個基本運算的組合,要經過若干步驟才能完成。

    一、傳統的集合運算

    1、並(UNION) 設有兩個關係R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算子為∪。記為T=R∪S。

    2、差(DIFFERENCE) R和S的差是由屬於R但不屬於S的元組組成的集合,運算子為-。記為T=R-S。

    3、交(INTERSECTION) R和S的交是由既屬於R又屬於S的元組組成的集合,運算子為∩。記為T=R∩S。 R∩S=R-(R-S)。

    二、專門的關係運算

    1、選擇運算

    從關係中找出滿足給定條件的那些元組稱為選擇。其中的條件是以邏輯表示式給出的,值為真的元組將被選取。這種運算是從水平方向抽取元組。 

    FOR和WHILE均相當於選擇運算。

    如:LIST FOR 出版單位="高等教育出版社" AND 單價<=20

    2、投影運算

    從關係模式中挑選若干屬性組成新的關係稱為投影。這是從列的角度進行的運算,相當於對關係進行垂直分解。在FOXPRO中短語FIELDS相當於投影運算。 如: LIST FIELDS 單位,姓名

    3、連線運算

    連線運算是從兩個關係的笛卡爾積中選擇屬性間滿足一定條件的元組。

    4、除法運算

    在關係代數中,除法運算可理解為笛卡爾積的逆運算。

    設被除關係R為m元關係,除關係S為n元關係,那麼它們的商為m-n元關係,記為R÷S。商的構成原則是:將被除關係R中的m-n列,按其值分成若干組,檢查每一組的n列值的集合是否包含除關係S,若包含則取m-n列的值作為商的一個元組,否則不取。

    5、外連線運算

    選擇和投影運算都是屬於一目運算,它們的操作物件只是一個關係。聯接運算是二目運算,需要兩個關係作為操作物件。

    ①、聯接( inner join, left join, right join,full join) 聯接是將兩個關係模式透過公共的屬性名拼接成一個更寬的關係模式,生成的新關係中包含滿足聯接條件的元組。運算過程是透過聯接條件來控制的,聯接條件中將出現兩個關係中的公共屬性名,或者具有相同語義、可比的屬性。聯接是對關係的結合。

    設關係R和S分別有m和n個元組,則R與S的聯接過程要訪問m×n個元組。由此可見,涉及到聯接的查詢應當考慮最佳化,以便提高查詢效率。

    ②、自然聯接(nature join) 自然聯接是去掉重複屬性的等值聯接。它屬於聯接運算的一個特例,是最常用的聯接運算,在關係運算中起著重要作用。

  • 中秋節和大豐收的關聯?
  • win10家庭版,怎麼遠端控制?