名詞積累:
數據庫(Database):存放和提供數據的“庫房”
數據(Data):數據庫中存儲的基本對象。
數據庫管理系統(DBMS):位於用戶與操作系統之間的一層數據管理軟件。
數據庫系統(Database System):包含數據庫、DBMS、應用系統、數據庫管理員(DBA)
主鍵(Primary Key):用於唯一的標識表中的某一條記錄的屬性或屬性的集合。
外鍵(Foreign Key):用於與還有一張表關聯,外鍵為還有一張表的主鍵
超鍵(Super Key):超鍵是能唯一區分元組的屬性或屬性的集合
鍵(候選鍵):去掉了超鍵中多余的屬性,仍然可以保證區分不同的元組。
模式(Schema):一個數據庫的描寫敘述,包含對數據庫結構,數據類型,還有約束。
實例(Instance / State):數據庫中在某一時刻存儲的真實的數據。(Instance是Schema在某一時刻的詳細化、實例化)
數據操縱語言(DML:Data Manipulation Language):增刪改查
數據定義語言(DDL:Data Definition Language):定義、刪除、改動數據庫中的對象
數據控制語言(DCL:Data Control Language):用於控制用戶對數據庫操縱的權限
數據模型(Data Model):現實世界數據特征的抽象,用來定義數據如何組織,數據之間的關系如何
並相容性(Union Compatibility):兩個關系具有並相容性須要保證具有同樣的屬性個數,以及對於每一個屬性都有同樣的域
視圖(VIEW):視圖是虛擬的表,並非物理存儲的數據。而是由基本表或其它視圖派生的數據。對視圖的更新,實際上轉換為對實際基表的更新。
數據模型(Data Model):
基本概念:現實世界數據特征的抽象,用來定義數據如何組織,數據之間的關系如何。
層次:
1.概念模型(Conceptual):按用戶的觀點來對數據和信息建模
2.邏輯/實現模型(Logical / Implementation):層次模型,網狀模型,關系模型
3.物理模型(Physical):數據在詳細DBMS產品中的物理儲存方式
數據庫系統的三級模式結構:

1.內模式(Internal Schema):(也稱存儲模式。)數據物理結構和儲存方式的描寫敘述,是數據在數據庫內部的表示方式
2.概念模式(Conceptual Schema):(也稱全局模式。)有時簡稱“模式”。是對數據庫中全體數據的邏輯結構和特征的描寫敘述
3.外模式(External Schemas):(也稱子模式或者用戶模式。)數據庫用戶可以看見和使用的局部數據的邏輯結構和特征的描寫敘述
數據庫系統的兩級映射以及物理、邏輯獨立性:
兩級映射:
1.概念模式/內模式映射
2.外模式/概念模式映射
數據的物理獨立性:
內模式與概念模式之間的映射提供了數據的物理獨立性。當數據的物理結構發生變化時,僅僅須要改動內模式與概念模式之間的映射就可以。
數據的邏輯獨立性:
概念模式與外模式之間的映射提供了數據的邏輯獨立性。當數據的總體邏輯結構發生變化時,僅僅須要改動各個外模式與概念模式之間的映射就可以保證應用程序不受影響。
數據的約束條件:完整性約束
1. 域約束:對屬性取值范圍的約束
2. 鍵約束:每一個關系必需要有主鍵,且每一個主鍵必須不同樣
3. 非空約束:屬性值不能為NULL
4. 實體完整性約束:主鍵值不能為空
5. 參照完整性約束:外鍵能夠取NULL值,但若外鍵為還有一關系主鍵,則不能為NULL。
6. 用戶定義的完整性
各種數據操作可能違反的完整性約束
插入操作:域約束、鍵約束、非空約束、實體完整性約束、參照完整性約束
刪除操作:參照完整性約束
更新操作:域約束、鍵約束、非空約束、實體完整性約束、參照完整性約束
SQL語句運行順序:
1. FROM子句組裝來自不同數據源的數據
2. WHERE子句基於指定的條件對記錄進行篩選
3. GROUP BY子句將數據划分為多個分組
4. 使用聚集函數進行計算
5. 使用HAVING子句篩選分組
6. 計算全部的表達式
7. 使用ORDER BY對結果集進行排序
控制冗余(Controlled Redundancy)與非控制冗余(Uncontrolled Redundancy)的差別:
未受控制的數據存儲冗余會導致例如以下的問題:
1. 更新數據時的反復工作
2. 浪費空間
3. 數據可能會不一致
因此,理想情況下,我們應該設計一個沒有冗余的數據庫,可是有時候我們須要提高查詢的效率,因此我們引入了控制冗余(Controlled Redundancy)
比如:
我們將學生名和課程號冗余存儲於GRADE_REPORT表中,由於查詢成績的時候我們須要同一時候查詢學生姓名以及課程號。
關系(Relation)與文件(files)或表(tables)的不同:
關系看上去像一張二維表
關系的域(屬性的取值范圍)為一組原子值(不可再切割的值)
關系中的元組必須各不同樣
關系代數:
五種基本運算:並、差、笛卡爾積、選擇、投影
關系代數解釋器:關系代數解釋器(模擬關系代數)
內連接的種類:
1. 等值連接
2. 不等連接
3. 自然連接
SQL語句:
表結構的復制(不包括表之間的關系)
SELECT * INTO COPY_DEPARTMENT FROM DEPARTMENT WHERE 1=0;
三值謂詞邏輯:
1. TRUE
2. FALSE
3. UNKNOWN
僅僅有在比較結果為TRUE是才確定為真,e.g. (TRUE與UNKNOWN交為UNKNOWN, 此元組不會出如今結果中)
數據庫應用系統設計的基本過程:
Phases of Database Design andImplementation Process(數據庫設計的基本過程)
Phase 1:Requirements Collections and Analysis(需求收集與分析)
Phase 2:Conceptual Database Design(概念結構設計)
Phase 3:Choice of a DBMS(選擇合適的DBMS)
Phase 4:Data Model Mapping (Logical Database Design)(邏輯結構設計)
Phase 5:Physical Database Design(物理結構設計)
Phase 6:Database System Implementation(數據庫實施)
Phase 7:Database System Operation and Maintenance(數據庫執行和維護)
ER圖符號解釋:

將ER模型映射成邏輯模型的步驟:
1. 映射強實體型
2. 映射弱實體型
3. 映射1 : 1 二元聯系型
4. 映射1 : N 二元聯系型
5. 映射M : N二元聯系型
6. 映射多值屬性
7. 映射N元聯系
數據庫范式:
1NF(First Normal Form):當且僅當全部域僅僅包括原子值,即每一個分量都是不可再分的數據項,則稱實體E滿足第一范式
2NF(Second Normal Form):當且僅當實體E滿足第一范式,且每個非鍵屬性全然依賴主鍵時,滿足第二范式
3NF(Third Normal Form):當且僅當實體E是第二范式(2NF),且E中沒有非主屬性傳遞依賴時,滿足第三范式
