資料庫是長期儲存之電腦內的、有組織的、可共用的大量資料的集合。
1,資料庫資料特點 P4 永久儲存,有組織,可共用。
2,資料獨立性及其如何保證 P10,P34
邏輯獨立性:使用者的應用程式與資料庫的邏輯結構互相獨立。(
內模式保證)
物理獨立性:使用者的應用程式與儲存在磁碟上的資料庫中的資料相互(
外模式保證)
3,資料模型的組成要素 P13
資料結構、資料操作、完整性條件約束。
4,用ER圖來表示概念性模型 P17
實體、聯絡和屬性。聯絡本身也是一種實體型,也可以有屬性。第二章 單一的資料結構----
關係。現實世界的實體以及實體間的各種聯絡均用關係來表示。
域是一組具有相同資料類型的值的集合。
候選碼關係模式的所有屬性群組是這個關係模式的候選碼,稱為
全碼若一個關係有多個候選碼,則選定其中一個為
主碼候選碼的諸屬性稱為
主屬性不包含在任何侯選碼中的屬性稱為
非主屬性
1,SQL的特點P79-P80
1. 綜合統一
2. 高度非過程化
3. 面向集合的操作方式
4.以同一種文法結構提供多種使用方式
5. 語言簡潔,易學易用
2,基本表的定義、刪除和修改P84-P87
PRIMARY KEY
PRIMARY KEY (Sno,Cno)
UNIQUE
FOREIGN KEY (Cpno)
REFERENCES Course(Cno)
ALTER TABLE <表名>[
ADD <新列名> <資料類型> [ 完整性條件約束 ] ][
DROP <完整性條件約束名> ][
ALTER COLUMN<列名> <資料類型> ];
DROP TABLE <表名>[
RESTRICT| CASCADE];
3,索引的建立與刪除P89-P90
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…); 唯一索引
UNIQUE、非唯一索引或聚簇索引
CLUSTER
DROP INDEX <索引名>;
4,資料查詢P91-P114 唯一
DISTINCT
BETWEEN AND,NOT BETWEEN AND確定集合
IN,NOT IN字元匹配
LIKE,NOT LIKE空值
IS NULL,IS NOT NULL多重條件(邏輯運算)
AND,OR,NOT
ORDER BY子句 升序:
ASC;降序:
DESC;
預設值為升序
聚集合函式:
COUNT
([DISTINCT|ALL] *)
COUNT
([DISTINCT|ALL] <列名>)
SUM
([DISTINCT|ALL] <列名>)
AVG
([DISTINCT|ALL] <列名>)
MAX
([DISTINCT|ALL] <列名>)
MIN
([DISTINCT|ALL] <列名>)
GROUP BY子句分組 && HAVING短語
LEFT OUT JOIN XXX ON
5,資料更新P115-P118
INSERT
INTO <表名> [(<屬性列1>[,<屬性列2 >…)]
VALUES (<常量1> [,<常量2>] … )/或子查詢
UPDATE <表名>
SET <列名>=<運算式>[,<列名>=<運算式>]… [
WHERE <條件>];
DELETE
FROM <表名> [
WHERE <條件>];
6,視圖的P118-126
CREATE VIEW <視圖名> [(<列名> [,<列名>]…)]
AS <子查詢> --子查詢不允許含有ORDER BY子句和DISTINCT短語 [
WITH CHECK OPTION];
DROP VIEW <視圖名>;第四章、第五章1,授權與回收P137-P140
GRANT語句的一般格式: GRANT <許可權>[,<許可權>]... -- ALL PRIVILIGES [ON <物件類型> <對象名>] TO <使用者>[,<使用者>]... --PUBLIC [WITH GRANT OPTION]; --允許他再將此許可權授予其他使用者
REVOKE語句的一般格式為: REVOKE <許可權>[,<許可權>]... [ON <物件類型> <對象名>] FROM <使用者>[,<使用者>]...; --級聯(CASCADE)收回
角色是許可權的集合
角色的建立CREATE ROLE <角色名稱>
二、
給角色授權 GRANT <許可權>[,<許可權>]… ON <物件類型>對象名 TO <角色>[,<角色>]…
三、
將一個角色授予其他的角色或使用者GRANT <角色1>[,<角色2>]…TO <角色3>[,<使用者1>]… [WITH ADMIN OPTION]
四、
角色許可權的收回 REVOKE <許可權>[,<許可權>]…ON <物件類型> <對象名>FROM <角色>[,<角色>]…
實體完整性 CREATE TABLE中用PRIMARY KEY定義
參照完整性 在CREATE TABLE中用FOREIGN KEY短語定義哪些列為外碼 用REFERENCES短語指明這些外碼參照哪些表的主碼
使用者定義的完整性 CREATE TABLE時定義 列值非空(NOT NULL) 列值唯一(UNIQUE) 檢查列值是否滿足一個布林運算式(CHECK)
CONSTRAINT 約束CONSTRAINT <完整性條件約束條件名>[PRIMARY KEY短語 |FOREIGN KEY短語 |CHECK短語]
使用ALTER TABLE語句修改表中的完整性限制 可以先刪除原來的約束條件,再增加新的約束條件 ALTER TABLE Student DROP CONSTRAINT C1; ALTER TABLE Student ADD CONSTRAINT C1 CHECK (Sno BETWEEN 900000 AND 999999)
第六章
1,函數依賴和碼的定義P172-P174
函數依賴:一個屬性或一組屬性的值可以決定其它屬性的值。
函數依賴:
平凡函數依賴與非平凡函數依賴在關係模式R(U)中,對於U的子集X和Y,
如果X→Y,但Y 不屬於 X,則稱X→Y是非平凡的函數依賴
若X→Y,但Y 屬於 X, 則稱X→Y是平凡的函數依賴
,記作:X
部分函數依賴,記作X傳遞函數依賴直接函數依賴而不是傳遞函數依賴。
如果一個關係模式R的所有屬性都是
不可分的基本資料項目,則R∈
1NF 第一範式是對關係模式的最起碼的要求 若R∈1NF,且每一個
非主屬性完全函數依賴於碼,則R∈
2NF。 每一個非主屬性既不部分依賴於碼也
不傳遞依賴於碼,則R∈
3NF
3,函數依賴公理系統(Armstrong公理系統P183,閉包P184,最小覆蓋P186)
自反律(Reflexivity):若Y屬於XU,則X →Y為F所蘊含。屬於 A2.
增廣律(Augmentation):若X→Y為F所蘊含,且Z屬於U,則XZ→YZ為F所蘊含。 A3.
傳遞律(Transitivity):若X→Y及Y→Z為F所蘊含,則X→Z為F所蘊含。(匯出規則): 合并規則:由X→Y,X→Z,有X→YZ。 (A2, A3) 偽路由規則:由X→Y,WY→Z,有XW→Z。 (A2, A3) 分解規則:由X→Y及 Z屬於Y,有X→Z。 (A1, A3)
在關係模式R<U,F>中為F所邏輯蘊含的函數依賴的全體叫作 F的
閉包,記為F+。設F為屬性集U上的一組函數依賴,X 屬於U, XF+ ={ A|X→A能由F 根據Armstrong公理匯出},XF+稱為屬性集X關於函數依賴集F 的閉包
F+ = G+ 的充分必要條件是F 屬於 G+ ,和G 屬於 F+
最小依賴集 (1) F中任一函數依賴的右部僅含有一個屬性。 (2) F中不存在這樣的函數依賴X→A,使得F與F-{X→A}等價。 (3) F中不存在這樣的函數依賴X→A, X有真子集Z使得F-{X→A}∪{Z→A}與F等價。
4,模式分解(模式分解的準則及定義P189-P190,模式分解方法P191) 模式的分解要保持
無損聯結性和函數依賴性。演算法見教材...第七章1,資料庫設計的基本步驟P201
需求分析
概念結構設計
邏輯結構設計
物理結構設計
資料庫實施
資料庫運行和維護
2,概念結構設計的方法和步驟P209-P211
自頂向下 首先定義全域概念結構的架構,然後逐步細化
自底向上 首先定義各局部應用的概念結構,然後將它們整合起來,得到全域概念結構
逐步擴張 首先定義最重要的核心概念結構,然後向外擴充,以滾雪球的方式逐步產生其他概念結構,直至總體概念結構
混合策略 將自頂向下和自底向上相結合,用自頂向下策略設計一個全域概念結構的架構,以它為骨架整合由自底向上策略中設計的各局部概念結構。
3,E-R圖向關聯式模式的轉換P224-P225 屬性不能再具有需要描述的性質。屬性不能與其他實體具有聯絡。這種
轉換一般遵循如下原則:
4,實體設計(關係模式存取方法的選擇P228-P230,資料庫的存取結構P230-P231)常用存取方法
索引方法 B+樹索引方法 查詢條件,聚集合函式,串連操作2、
聚簇(Cluster)方法 串連操作,相等比較,重複率高3、
HASH方法 大小可預知,DBMS提供動態存取方法
確定資料庫的物理結構
確定資料的存放位置(
存取時間 儲存空間利用率 維護代價)⒋
確定系統配置
第十一章事務(Transaction)是使用者定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的工作單位;事務是恢複和並發控制的基本單位;
1,事務的特性P279 事務的
ACID特性:
原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持久性(Durability )
2,並發控制不當導致的問題P294 1)
丟失修改(Lost Update) 2)
讀“髒資料” (dirty read) 3)
不可重複讀取(Non-repeatable Read)
3,封鎖P295-296
申請加鎖; 第二個環節是
獲得鎖; 第三個環節是
釋放鎖。基本的封鎖類型有兩種:
排它鎖(Exclusive Locks,簡稱
X鎖)和
共用鎖定(Share Locks,簡稱
S鎖)。
解決活鎖問題的方法是採用先來先服務。
解決死結方法:(1)預防死結的發生;(2)允許發生死結,然後採用一定手段定期診斷系統中有無死結,若有則解除之。預防死結的方法: 一次封鎖法, 順序封鎖法死結的診斷:逾時法,事務等待圖法
4,並發調度的可串列性P299-P230
定義:多個事務的並發執行是正確的,若且唯若其結果與按某一次序串列地執行這些事務時的結果相同。
衝突操作是指不同的事務對同一個資料的讀寫操作和寫寫操作。
不同事務的衝突操作不能交換。
同一事務的兩個操作不能交換。 衝突可序列化調度是可序列化調度的充分條件,不是必要條件。
5,兩段鎖協議P301-P302 兩段鎖協議:指所有事務必須
分兩個階段對資料項目加鎖和解鎖。 第一階段是
獲得封鎖,也稱為擴充階。 第二階段是
釋放封鎖,也稱為收縮階段。
事務遵守兩段鎖協議是可序列化調度的充分條件,而不是必要條件。