資料庫系統小結:(不包括詳細知識點,更像一個大綱)
阿新 • • 發佈:2018-11-03
資料庫的發展:
層次網狀資料庫關係資料庫
分散式資料庫
理論基礎:
關係代數運算:
選擇運算、投影運算、更名運算並運算、集合差運算、笛卡爾積運算 集合交運算、自然連線運算、賦值運算、
廣義投影、聚集運算、外連線
資料模型:
關係模型、E-R模型、基於物件的資料模型、半結構化資料模型關係資料庫:
基本結構:關係(表)、屬性 E-R模型中實體聯絡轉化為關係模型中的關係(表)
分別站在資料庫設計者和資料庫使用者的角度:
資料庫設計者:
面對的問題:
資料冗餘和不一致、資料訪問困難、資料孤立、完整性問題、原子性問題、併發訪問異常問題、安全性問題設計目標
設計一個好的關係需要考慮的問題:
更新資料時的出錯機率(單一儲存、多個儲存)資料冗餘
資料依賴
選擇一個更大的還是更小的關係模式 同一個資料在不同大小關係模式中的表示轉換: (有損分解、無損分解)
關係模式設計是遵循的準則:
1NF-->2NF-->BCNF/3NF-->4NF-->5NF(一般達到3NF要求即可,一事一地) 即使在設計時每個表都遵循上述準則要求,也可能出現問題。在設計前還需要和客戶溝通,並且要注意,資訊化的目的是為了更加簡單有效的處理資訊,在設計表模式時,不能僅僅是將使用者手工管
理的內容移植到資料庫中,還需要引導使用者對資訊整理,處理資訊同名不同義,同義不同名的問題
資料庫系統的層次結構:
儲存優化:
使用快取技術緩衝區管理(LRU、MRU)
檔案和記錄的組織:
堆檔案、順序檔案、雜湊檔案(雜湊檔案的桶溢位問題-->偏斜、溢位鏈)索引的使用:
聚集索引、輔助索引稠密索引、稀疏索引
應用多級索引和輔助索引
B+樹索引
雜湊索引
查詢處理和查詢優化:
查詢-->語法分析器與翻譯器-->關係代數表示式-->優化器-->執行計劃-->執行引擎-->查詢結果 巢狀迴圈塊巢狀迴圈
索引巢狀迴圈 關係表示式的轉換
事務:
ACID準則併發排程相關
所支援的資料型別:
char(n)、varchar(n)、int、smallint、numeric、real double precision、float(n) SQL內建資料型別:
date、time、timestamp 使用者定義型別(create type):
獨特型別、結構化資料型別
資料庫使用者(DBA、Developer):
規範化(選擇合適的關係模式): SQL:DDL、DML、完整性、檢視定義、事務控制、嵌入式SQL和動態SQL、授權
DDL、DML:
資料庫與表的建立、刪除、修改SQL的增刪改查
子查詢
遞迴查詢
連線查詢 空值的影響
完整性約束:
not null、unique、check(謂詞) (單個關係上的)主鍵(超鍵、候選鍵)、外來鍵(有的書上翻譯為碼...) (參照完整性約束)
斷言(assertion)
觸發器trigger
檢視的使用
安全性:
授權(grant):包括delete、insert、select、update許可權
使用者user、角色role