數據庫 - 第一範式(1NF)
第一範式(1NF)設置了一個有組織的數據庫非常基本的規則:
定義所需要的數據項,因爲它們成爲在表中的列。放在一個表中的相關的數據項。
確保有數據沒有重複的組。
確保有一個主鍵。
1NF的第一條規則:
必須定義的數據項。這要求我們數據要被存儲,組織數據到列,限定數據的每一列包含什麼類型,最後把相關列到自己的表中。
例如,把所有涉及會議地點列到地點表,那些有關會員在會員明細表,等等。
1NF的第二條規則:
下一步驟是確保有數據的無重複組。考慮到我們有如下表:
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), ORDERS VARCHAR(155) );
因此,如果我們填充這個表一個客戶有多個訂單,那麼數據如下:
ID
NAME
AGE
ADDRESS
ORDERS
100
Sachin
36
Lower West Side
Cannon XL-200
100
Sachin
36
Lower West Side
Battery XL-200
100
Sachin
36
Lower West Side
Tripod Large
但按照1NF,我們需要確保數據沒有重複的組。因此,讓我們分解上面的表格分爲兩部分,並使用一個鍵加入行列如下:
CUSTOMERS 表:
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), PRIMARY KEY (ID) );
此表將有以下記錄:
ID
NAME
AGE
ADDRESS
100
Sachin
36
Lower West Side
ORDERS 表 :
CREATE TABLE ORDERS( ID INT NOT NULL, CUSTOMER_ID INT NOT NULL, ORDERS VARCHAR(155), PRIMARY KEY (ID) );
此表將具有以下記錄:
ID
CUSTOMER_ID
ORDERS
10
100
Cannon XL-200
11
100
Battery XL-200
12
100
Tripod Large
1NF的第三個規則:
第一範式的最終規則,創建一個主鍵,我們已經在每個表中創建主鍵了。