2.2 《数据库系统概论》之关系操作、关系完整性、关系代数
生活随笔
收集整理的這篇文章主要介紹了
2.2 《数据库系统概论》之关系操作、关系完整性、关系代数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 0.思維導圖
- 1.關系操作
- (1)基本關系操作
- (2)關系數據庫語言的分類
- 2.關系的完整性
- (1)關系的三類完整性約束
- (2) 實體完整性(Entity Integrity)
- (3)參照完整性
- ? 關系間的引用
- ? 外碼(Foreign Key)
- ? 參照完整性規則
- (4)用戶定義的完整性
- 3.關系代數
- (1)關系代數運算符
- (2)傳統的集合運算
- ① 并(Union)
- ② 差(Difference)
- ③ 交(Intersection)
- ④ 笛卡爾積(Cartesian Product)
- (3)專門的關系運算
- ① 幾個記號
- ② 選擇(Selection)
- ③ 投影(Projection)
- ④ 連接(Join)
- ? 左連接、右連接、外連接
- ⑤ 除(Division)
- ⑥ 綜合舉例
0.思維導圖
1.關系操作
(1)基本關系操作
- 常用的關系操作
- 查詢:選擇、投影、連接、除、并、交、差
- 數據更新:插入、刪除、修改
- 查詢的表達能力是其中最主要的部分
- 選擇、投影、并、差、笛卡爾基是5種基本操作
- 關系操作的特點
- 集合操作方式:操作的對象和結果都是集合,一次一集合的方式
(2)關系數據庫語言的分類
- 關系代數語言
用對關系的運算來表達查詢要求;
代表:ISBL;
關系演算語言:用謂詞來表達查詢要求; - 元組關系演算語言
謂詞變元的基本對象是元組變量;
代表:APLHA, QUEL; - 域關系演算語言
謂詞變元的基本對象是域變量;
代表:QBE; - 具有關系代數和關系演算雙重特點的語言;
代表:SQL(Structured Query Language) ;
2.關系的完整性
(1)關系的三類完整性約束
- 實體完整性和參照完整性:
關系模型必須滿足的完整性約束條件;
稱為關系的兩個不變性,應該由關系系統自動支持; - 用戶定義的完整性:
應用領域需要遵循的約束條件,體現了具體領域中的語義約束 ;
(2) 實體完整性(Entity Integrity)
-
若屬性A是基本關系R的主屬性,則屬性A不能取空值
-
例:
SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
POSTGRADUATE:
主碼(假設研究生不會重名)
不能取空值 -
實體完整性規則的說明
(1) 實體完整性規則是針對基本關系而言的。一個基本表通常對應現 實世界的一個實體集。
(2) 現實世界中的實體是可區分的,即它們具有某種唯一性標識。
(3) 關系模型中以主碼作為唯一性標識。
(4) 主碼中的屬性即主屬性不能取空值。主屬性取空值,就說明存在某個不可標識的實體,即存在不可區分的實體,這與第(2)點相矛盾,因此這個規則稱為實體完整性
(3)參照完整性
? 關系間的引用
? 外碼(Foreign Key)
- 設F是基本關系R的一個或一組屬性,但不是關系R的碼。如果F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外碼,即該碼是另一個表的主碼。
- 基本關系R稱為參照關系(Referencing Relation),即本表。
- 基本關系S稱為被參照關系(Referenced Relation) 或目標關系(Target Relation),即外碼對應的主碼所在的表。
- 關系R和S不一定是不同的關系
- 目標關系S的主碼Ks 和參照關系的外碼F必須定義在同一個(或一組)域上
- 外碼并不一定要與相應的主碼同名,當外碼與相應的主碼屬于不同關系時,往往取相同的名 字,以便于識別
? 參照完整性規則
若屬性(或屬性組)F是基本關系R的外碼它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F上的值必須為:
- 或者取空值(F的每個屬性值均為空值)
- 或者等于S中某個元組的主碼值
- 外碼的值要么為空,要么為S中某個元組的主碼值
(4)用戶定義的完整性
- 針對某一具體關系數據庫的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求
- 關系模型應提供定義和檢驗這類完整性的機制,以便用統一的系統的方法處理它們,而不要由應用程序承擔這一功能
3.關系代數
(1)關系代數運算符
(2)傳統的集合運算
① 并(Union)
② 差(Difference)
③ 交(Intersection)
④ 笛卡爾積(Cartesian Product)
(3)專門的關系運算
① 幾個記號
② 選擇(Selection)
③ 投影(Projection)
④ 連接(Join)
? 左連接、右連接、外連接
⑤ 除(Division)
⑥ 綜合舉例
總結
以上是生活随笔為你收集整理的2.2 《数据库系统概论》之关系操作、关系完整性、关系代数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.1 《数据库系统概论》关系数据结构及
- 下一篇: 2.3.6 操作系统之进程同步与互斥经典