資料庫基礎

將關聯式資料庫的表格正規化,主要目的是下列何者?

  1. A減少表格數量,讓任何搜尋都不必連結就能快速進行
  2. B將資料加密,讓未經授權的使用者無法讀取
  3. C消除資料重複,防止更新時內容不一致等異常
查看答案與解析

正確答案:C. 消除資料重複,防止更新時內容不一致等異常

正規化是依據欄位之間的函數相依(某欄位的值確定後,另一欄位的值就唯一確定的關係)分割表格,讓同一事實不會記錄在多處的設計步驟。例如在員工表格的每筆資料列中都寫入部門名稱,那麼變更部門名稱時,就必須改寫該部門所有員工的資料列,只要有遺漏,內容就會不一致(更新異常)。此外還會發生無法登錄尚無員工的部門(插入異常)、刪除部門最後一位員工時連部門資訊也一併消失(刪除異常)等問題。若把部門資訊分到部門表格,部門名稱只需修改一處即可。另一方面,表格分開後,搜尋時的連結會增加,因此正規化不一定會讓搜尋變快。

  • A. 正規化會分割表格使數量增加,搜尋時需要連結的情況也會變多。
  • B. 加密是資訊安全的對策,與正規化無關。
  • C. 正確。目的是消除重複,防止更新異常、插入異常與刪除異常。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

  1. 訂單表格(訂單編號, 商品編號, 數量, 客戶編號, 客戶名稱)的主鍵為{訂單編號, 商品編號},函數相依為 {訂單編號, 商品編號} → 數量、訂單編號 → 客戶編號、客戶編號 → 客戶名稱。將此表格正規化到第三正規化(3NF)的結果,下列何者正確?
  2. 員工表格(員工編號, 姓名, 部門代碼, 部門名稱)的主鍵為員工編號,每個欄位都只有一個值。函數相依為 員工編號 → 姓名、員工編號 → 部門代碼、部門代碼 → 部門名稱。此表格的正規化形式,下列何者正確?
  3. 在以讀取與彙總為主的資料庫中,有時會刻意把正規化後的表格合併成一個,讓相同資料重複保存(反正規化)。此設計的優點與缺點組合,下列何者正確?
  4. 在E-R圖中,學生與課程之間有「一位學生修多門課,一門課有多位學生修」的多對多關係。以關聯式資料庫的表格實現此關係的適當方法是下列何者?
  5. 在帳戶表格中開始一筆交易,執行從帳戶A的餘額減去300的UPDATE,以及在帳戶B的餘額加上300的UPDATE。之後執行ROLLBACK而非COMMIT。帳戶表格會變成怎樣?