關係代數的自然連線符號 關係資料模型(二)

2021-10-12 20:57:19 字數 2043 閱讀 7094

關係的完整性約束

完整性分析

包括:實體完整性、參照完整性、使用者自定義的完整性

空值: 空值意指「缺失的值」

 允許元組在某些屬性上取空值非常方便,商品化dbms也都支援空值。例如,關係departments表中,乙個元組在dheadno上可能取空值,表示該院系目前沒有院長,它可能是新成立的院系,或者因為人事調動目前還沒有院長

 需要注意的是,空值是未知的值,它不能參與運算,即便兩個空值比較, 其結果只能是「不知道」。 例如,兩個人在「性別」屬性上都取空值。不能說這兩個人性別一樣

 對於空值,可以問 「元組t在屬性a上值是空值嗎?」

實體完整性規則:關係r的所有元組在主碼上的值必須惟一,並且在主碼的任何屬性上都不能取空值

參照完整性規則

例子students (sno, sname, ***, birthday, enrollyear, speciality, dno)

courses (cno, cname, period, credit)

sc (sno, cno, grade)

 這三個關係之間也存在引用,關係sc中「sno」必須是students中乙個已有的學生,關係sc中的「cno」必須是courses中乙個已有的課程

外碼:如果fk是關係r的屬性集,並且不是r的碼,但是fk與關係r』的主碼k』對應,則稱fk是關係r的外碼。其中r是參照關係,r』是被參照關係(r與r』不一定是不同的關係),並稱fk參照r』的主碼k』

參照完整性規則

**參照完整性規則:**如果屬性集fk是關係r的外碼,它參照關係s的主碼ks,則r的任何元組在fk上的值等於s的某個元組在主碼ks上的值,或者為空值

使用者自定義的完整性規則

使用者定義的完整性反映特定的資料庫所涉及的資料必須滿足的語義約束條件。由於不存在一般性規則,這些約束條件必須由使用者根據實際問題的語義指定

關係代數的運算

選擇運算

注意:選擇的結果形成乙個新的關係,它與r具有相同的屬性投影運算

並運算

差運算

笛卡兒積

交運算

除運算

連線運算

自然連線運算

注意:① 自然連線是唯一依賴於關係屬性名的運算 ②當r和s不含共同屬性時,自然連線就退化為笛卡爾積 ③儘管自然連線和等值連線都是根據屬性值相等進行連線,但它們有明顯區別,自然連線在同名屬性上進行相等比較,並投影去掉重複屬性

關聯式資料庫的代數性質(一)

關聯式資料庫的代數性質 前言1 codasyl於1962發表 資訊代數 一文。2 e.f.codd從1970起發表了序列的 3 20世紀70年代末的實驗系統system r 和ingres。4 從20世紀80年代逐步走向成熟。本文的一些想法是受關聯式資料庫代數性質的啟發,同時也避免抄襲前人的成果,寫...

土話筆記 資料庫 自然連線 符號

表中標黃的資料後面會說到 r表 abc 0bca cbcd 5s表 ac de32 bac5 0dab 0ac0 b1先看兩個表頭,發現a c是重複出現的 所以連線後,新表頭為a bcde 然後把a c這兩列單獨拎出來,如下 r表 ac 0cab c5 s表 ac3 2c5 abc0 發現有兩組相同...

資料庫的關係代數

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