2011年8月6日 星期六

索引(Index) 與鑑值(Key)

Index(索引)與Key(鍵值)為資料庫設計重要的概念。資料庫內的索引,為一種要求資料庫注意某特定欄位值、或某些欄位組合的方式(此為不嚴謹的解釋)。索引的最終目的是為了提升擷取資料時的效率,但於新增或修改時,索引將略為影響其效能。
資料庫內的鍵值,對於未設計較複雜資料庫的正規畫程序來說,是不可或缺的觀念。鍵值分為兩種型態:Primary Key(主鍵)與 Foreign Key(外來鍵)。每個資料表都應設有主鍵,通常會被ˋ另一個資料表的外來鍵所參照。

資料表的主鍵為一種參照紀錄的方式,且應依循3項原則:

  1. Primary Key欄位必須有值存在。
  2. Primary Key欄位值必須永不變更。
  3. 資料表中所有紀錄的Primary Key欄位值必須是唯一、不可重複。

在users資料表中,設定欄位user_id為主鍵,而MySQL同時會自動為主鍵欄位建立索引。由於欄位user_id為數值型態(主鍵欄位幾乎都是),通常此欄位會加上AUTO_INCREMENT的屬性,使MySQL自動以此欄位目前最大值的下一個編號來填入新增紀錄的user_id欄位內。

沒有留言:

熱門文章