1. 程式人生 > >資料庫系統小結:(不包括詳細知識點,更像一個大綱)

資料庫系統小結:(不包括詳細知識點,更像一個大綱)

資料庫的發展:

層次網狀資料庫
關係資料庫
分散式資料庫

理論基礎:

關係代數運算:

選擇運算、投影運算、更名運算
並運算、集合差運算、笛卡爾積運算 集合交運算、自然連線運算、賦值運算、
廣義投影、聚集運算、外連線

資料模型:

關係模型、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

加密技術:

資料庫與應用程式互動:

嵌入式SQL、動態SQL、JDBC、ODBC