名詞積累:
數據庫(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中沒有非主屬性傳遞依賴時,滿足第三範式
轉載至:http://blog.csdn.net/jokes000/article/details/7521259