【軟考-中級-資料庫相關知識】02、關係資料庫
阿新 • • 發佈:2022-04-14
關係資料庫
- 概念
- 在關係資料模型中,把記錄型別稱為關係模式
- 閉包:鍵的閉包應當包含R的所有屬性
- 完整性約束
- 實體完整性
- 參照完整性
- 使用者自定義的完整性:可以用觸發器實現
- 注意:檢視不能實現完整性約束
- 主鍵
- 全碼:全部屬性組為關係模式的候選鍵
- 候選碼:排除沒有出度,從剩餘的看能不能推出來全部,能則為候選碼
- 斷言是為了保證資料的完整性
- 觸發器
- 是SQL語句的集合
- 不能傳遞引數
- 通過事件來觸發,可以實現比check更復雜的約束
- 舉例:
- 級別增加一級,工資增加500元
- 關係代數運算
- 不自動去重複列,需要進行選擇
- 集合運算子
- 差
- 笛卡爾積:
- 相乘,共有m+n列
- 自然連線
- 去除重複列
- 比較運算子
- 邏輯運算子
- 關係運算符(連線、除)
- 差的選擇等於選擇的差
- 除:只除有的
- 表連線
- 左外連線:有共同欄位找懸浮資料
- 帶條件的自然連線與笛卡爾積後選擇條件等價
- 沒有公共屬性的自然連線會轉換為笛卡爾積操作
- 分類
- 左外連線:捨棄右邊沒有的
- 右外連線:捨棄右邊沒有的
- 完全外連線:所有捨棄的都放入
- 查詢優化
- 按條件選擇後,自然連線,再按條件查詢
- 規範化
- 關係定義
- 關係不可以巢狀定義,其屬性必須是原子的、不可再分的
- 關係模式:表的列
- 函式依賴:列之間的關係
- 正規化
- 1NF:屬性不可分,存在部分函式依賴(學號,課程號)
- 2NF:消除部分函式依賴
- 3NF:消除非主屬性對碼的傳遞函式依賴【主屬性存在部分函式依賴】
- BCNF:消除主屬性的部分函式依賴
- 4NF:多值屬性構成的(如工號、手機號)
- 最小函式依賴集
- 不含傳遞依賴
- 不含部分依賴
- 每個函式依賴的右部都是單屬性!
- 函式依賴集等價
- 蘊含的屬性間的依賴資訊等價
- 即函式依賴的閉包相等
- A+=B+
- E-R圖
- 雙線橢圓表示多值屬性
- 依賴關係
- 部分函式依賴:Y不完全依賴於X
- 傳遞函式依賴:(學號,學院,學院領導)
- 關係定義
- Armstrong公理
- 傳遞率
- 合併規則
- 偽傳遞率:間接推導
- 增廣率
- 模式分解
- 型別
- 無損連線分解:
- 保持原有的分解:看元素是否全
- 表示
-
(候選碼)
-
(候選碼)
- 型別
- 查詢優化
- 原則:提早執行選擇
- 其他:投影和其他運算同時進行,避免重複掃描關係
- 索引改進
- 當查詢是效能瓶頸時,在關係上建立索引
- 當更新是效能瓶頸時,考慮刪除某些索引(索引會引起更新操作的效率降低)
- 有利於大多數資料查詢的索引設定為聚簇索引
- 效能優化
- 減少多表查詢
- 減少物化檢視
- 使用帶UNION的條件子句等價替換OR子句