Normalization 是一個最小化 relations 的 redundency 的過程。有分數個 Normal Form 的等級,等級高的包含等級低的要求。 Attribute 類型 key attributes: 可形成 primary key 的 attributes prime attribute: 是 key attribute,其本身可能是 key
[Read More]
Relational Database 中 Table 的key
Key 類型 定義 Superkey 一個屬性或組合屬性可以決定唯一Table的列 Candidate key 為最小化的superkey。也就是Cadndidate key中無法從其子屬性或子
[Read More]
SQL 的效能調試
大部分的 relational DBMS 有自動query最佳化的功能,但這不代表使用者可以完全不處理query的最佳化,因為自動最佳化能做到的是一般情況而非特定問題。另
[Read More]
DBMS 的 Indexes Optimization
資料庫中,Indexes可以加速Table的搜尋、排序、group functions 等操作。Index 由 Index key及 Pointers組成,Index key 是 Table 的欄
[Read More]
DBMS 的 架構
DBMS server 電腦
Hard Disk
- Database
- Table Spaces
- Data files
↑ I/O 操作 ↓
- Database
RAM
- DBMS process
- Listener
- User processes
- Scheduler
- Lock manager
- Optimizer
- SQL cache: 最近的SQL statement 或 PL/SQL procedures, triggers
- Data cache: 從 Data files 而來
DBMS 的 Recovery Management
DBMS透過 Database Recovery,將一個通常是inconsistent的狀態退回到先前consistent的狀態。狀態的儲存點也是基於 Transaction 的 Atomic 性
[Read More]
DBMS 的 Transaction Isolation ANSI 等級
ANSI SQL standard (1992) 定義了 Transaction Isolation 的等級,等級的劃分依據執行中,其他Transactions對於原本Transaction所使用的資料可進行甚麼類型的讀取。
[Read More]
DBMS 的 Concurrency Control 方法:Optimistic Methods
Optimistic Methods是基於大部分的Transactions不會發生資料操作的衝突的假設,因此不需要使用Lock或Timestamping。 他的實
[Read More]
DBMS 的 Concurrency Control 方法:Time Stamping Methods
Time Stamping Method (時間標記法) 為每個Transaction做時間標記,每個時間標記都需要符合唯一性及遞增性。當兩個Transactions發生Lock
[Read More]
DBMS 的 Concurrency Control方法:Locking Methods
DBMD可以透過Lock Manager讓Transaction藉由Lock(上鎖),使指定的資料只能被其使用,當使用完畢後進行解鎖,才可供其
[Read More]