資料庫主要知識點總結

名詞積累:

資料庫(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中沒有非主屬性傳遞依賴時,滿足第三正規化