回覆列表
  • 1 # 使用者3525491356839

    關係的基本運算有兩類:一類是傳統的集合運算(並、差、交等),另一類是專門的關係運算(選擇、投影、聯接等),有些查詢需要幾個基本運算的組合,要經過若干步驟才能完成。   一、傳統的集合運算  1、並(UNION) 設有兩個關係R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算子為∪。記為T=R∪S。   2、差(DIFFERENCE) R和S的差是由屬於R但不屬於S的元組組成的集合,運算子為-。記為T=R-S。   3、交(INTERSCTION) R和S的交是由既屬於R又屬於S的元組組成的集合,運算子為∩。記為T=R∩S。 R∩S=R-(R-S)。   二、選擇運算  從關係中找出滿足給定條件的那些元組稱為選擇。其中的條件是以邏輯表示式給出的,值為真的元組將被選取。這種運算是從水平方向抽取元組。 在FOXPRO中的短語FOR<條件>和WHILE<條件>均相當於選擇運算。   如:LIST FOR 出版單位="高等教育出版社" AND 單價<=20   三、投影運算  從關係模式中挑選若干屬性組成新的關係稱為投影。這是從列的角度進行的運算,相當於對關係進行垂直分解。在FOXPRO中短語FIELDS<欄位1,欄位2,…>相當於投影運算。 如: LIST FIELDS 單位,姓名   四、聯接運算  選擇和投影運算都是屬於一目運算,它們的操作物件只是一個關係。聯接運算是二目運算,需要兩個關係作為操作物件。   1、聯接 聯接是將兩個關係模式透過公共的屬性名拼接成一個更寬的關係模式,生成的新關係中包含滿足聯接條件的元組。運算過程是透過聯接條件來控制的,聯接條件中將出現兩個關係中的公共屬性名,或者具有相同語義、可比的屬性。聯接是對關係的結合。在FOXPRO中有單獨一條命令JOIN實現兩個關係的聯接運算。如:   SELE 1   USE 定單   SELE 2   USE 商品   JOIN WITH A TO XGX FOR A->貨號=貨號 AND 庫存量>=A->定購量   設關係R和S分別有m和n個元組,則R與S的聯接過程要訪問m×n個元組。由此可見,涉及到聯接的查詢應當考慮最佳化,以便提高查詢效率。   2、自然聯接 自然聯接是去掉重複屬性的等值聯接。它屬於聯接運算的一個特例,是最常用的聯接運算,在關係運算中起著重要作用。   如果需要兩個以上的關係進行聯接,應當兩兩進行。利用關係的這三種專門運算可以方便地構造新的關係。   五、外關鍵字  如果一個關係中的屬性或屬性組並非該關係的關鍵字,但它們是另外一個關係的關鍵字,則稱為該關係的外關鍵字。   綜上所述,關係資料庫系統有如下特點:   (1)資料庫中的全部資料及其相互聯絡都被組織成關係,即二維表的形式。   (2)關係資料庫系統提供一種完備的高階關係運算,支援對資料庫的各種操作。   (3)關係模型有嚴格的數學理論,使資料庫的研究建立在比較堅實的數學基礎上。 

  • 中秋節和大豐收的關聯?
  • 要增強審計的,服務意識是什麼?