21.以下關於資料庫設計的敘述,何者正確?
(A)外來鍵的用途主要是用來識別資料
(B)資料正規化可以提昇資料存取的效率
(C)SQL中,JOIN指令是執行反正規化動作
(D) 一對多關係須用單獨的資料表來記錄

答案:登入後查看
統計: A(1), B(40), C(44), D(4), E(0) #615282

詳解 (共 2 筆)

#2708110
資料庫正規化,又稱資料庫或資料庫的正規化...
(共 65 字,隱藏中)
前往觀看
11
0
#3876932

正規化的目的是降低資料的重覆性、避免資料更新異常。然而,正規化只是建立資料表的原則,而非鐵的定律。如果過度正規化,在查詢來自於多個資料表的大量資料時,會造成效能下降。因此,若要以查詢(select)效能為考量,必須進行適當的反正規化,亦即將原來的第三正規化降成第二正規化,或是將第二正規化降成第一正規化。

 

所以B是錯的!!

例:描述客戶資料的正規化資料表為「客戶」與「國籍」。

客戶(客戶編號,姓名,國籍編號)

國籍(國籍編號,名稱,人口數)

此設計方法,可以使用關鍵字的查詢,很快查詢到資料,例如查詢客戶編號或國籍編號。但是,若要查詢這兩張資料表所結合(join)的資料時,將會影響查詢效能。因此,將「國籍」做反正規化,可以改善效能的問題。

反正規化之後:

客戶(客戶編號,姓名,國籍編號,名稱,人口數)

但是,在進行反正規化之後可能又會產生資料重覆的問題,以及資料更新的異常問題。


0
0