1. 程式人生 > >Java12---資料庫設計,資料字典,序列,檢視

Java12---資料庫設計,資料字典,序列,檢視

導讀

1.資料庫設計正規化
2.實體與關係

資料庫設計:
概念模型–>邏輯模型–>物理模型–>轉換成SQL,建立表等物件
Power Design等軟體都可以繪製ER圖
物理模型可以直接轉換成SQL語句

資料庫設計正規化

資料庫設計正規化:用來規範資料庫的設計
目前關係資料庫有六種正規化:第一正規化(1NF)、第二正規化(2NF)、第三正規化(3NF)、巴斯-科德正規化(BCNF)、第四正規化(4NF)和第五正規化(5NF,又稱完美正規化)。
後一個是基於前一個的,比前一個更嚴格通常遵循到第三正規化。

1NF:
列應該是不可拆分的,原子的,不應該包含多個欄位值

2NF:
要求資料庫表中的每個例項或記錄必須可以被唯一地區分
要求每個表都有一個主鍵列,能唯一的代表這個表,其它的列完全依賴於這個列
我們通常會選擇一個與業務無關的列id

3NF:
要求一個關係中不包含已在其它關係已包含的非主關鍵字資訊 ,消除冗餘
實際中,有時為了查詢的方便,反而會適當加一個冗餘欄位

eg:
	部門表:
	id ,name, region_id
	name完全依賴於id
	
	員工表:
	id,first_name,last_name,start_date,dept_id,name
	
	每個員工都有一個部門編號
	dept_id依賴id
	name依賴dept_id
	name間接依賴id
這裡3NF要求不存在間接依賴,所以去掉員工表的name,但這不是絕對的

實體與關係