|
識別碼, 英文叫KEY, 英文更接近原意, 中文翻的不好
KEY, 就是鎖匙, 也可以解成[關鍵]
他不是單單一個識別碼, 他是用來連結各表的一條[橋]
我以產品資料, 產品類別為例:
表:產品資料表
產品名:小米, Iphone, 三星Note7
類別: 1
產品名:筆,A4紙張,文件夾
類別: 2
表產品類別:
ID:1
名稱:手機
ID:2
名稱:文儀用品
從以上可見, 產品資料表和產品類別表, 2表之間連結是以[類別] <> [ID] 來連結的
你也可以直接在產品資料表的[類別] 內填寫 手機 / 文儀用品,
但你日後如果想把 文儀用品 改名叫 文具,
此時若資料庫內有1百萬筆資料, 你還得改1百萬次?
就此考慮下, [類別] 應另開新表 再以KEY(主鍵, 識別碼) 來連結
如日後要改, 你只要去類別表內一改就成了
除了在羅緝 上的問題外, 在存取機理上也是要簡單化, 你有1百萬筆產品,
但分類一欄位也要存放1百萬個 [手機] / [文儀用品] 字段嗎?
還是說讓資料庫只存放, 1 / 2這些單簡數據會更好呢?
最後就是查詢問題, 你要查出產品資料表中 類別不等於[手機]的資料, 有1百萬筆資料
sql是一筆一筆去核對[手機]字串, 還是說讓SQL去核對數字 1/2 更快呢?
就以上原因, KEY, 主鍵, 識別碼的重要性, 也是資料庫的一個核心
要合理的去建, 當中學問太大我也在學習中呢~ |
|