首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

資料庫設計技巧(二):第三正規化與外鍵關聯

     編輯:PHP 相關知識

從重複資料到正規化

當同一資料(如公司名稱、地址)在多筆記錄中重複出現,應建立獨立資料表並透過外鍵關聯。以 users、urls、companies 三表為例:

第一階段:分離 URL

users: userId, name, company, company_address
urls:  urlId, relUserId, url

透過 users.userId 與 urls.relUserId 關聯,避免 URL 重複儲存。

第二階段:第三正規化(3NF)——分離公司資訊

users:      userId, name, relCompId
companies:  compId, company, company_address
urls:       urlId, relUserId, url

公司資訊獨立為 companies 表,users 僅存 relCompId 外鍵。即使新增 200 位同公司員工,公司資料仍只有一筆,極大減少冗餘。

第四正規化的預覽

若 URL 為下拉選單固定值,多用戶可能選擇相同 URL,導致 urls 表仍有重複。此時需引入多對多關聯表 url_relations,將 URL 實體與關係分離,達到第四正規化(4NF)。詳細探討請見下一篇。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved