深入淺出SQL(三)——表的規範化

原子性:對數據具有原子性,就表示它已經被分割至最小塊,已經不能或不應該再被分割。

原子性數據規則:

規則1:具有原子性數據的列中不會有多個類型相同的值

如一種食物的成分列,若”成分“列中有多種成分,如何方便查找。

規則2:具有原子性數據的表中不會有多個存儲同類數據的列

如一個老師帶有多個學生,有student1、student2、student3等列

規範化表的優點:

1 規範化表中沒有重複的數據,可以減小數據庫的大小

2 因爲查找的數據較少,查詢更爲快速

1NF(第一範式):(1)每個數據行必須包含具有原子性的值  (2)每個數據行必須有獨一無二的識別項——主鍵

show create table table_name 可以查看之前建表的語句

添加主鍵

(1)創建表時添加主鍵

 可以創建id列,等於行號作爲主鍵,也可選用現成的列

id列 not null,自動增加

例:create table my_contacts

( contact_id int not null auto_increment

 last_name varchar(30) default null

 ……

primary key(contact_id )

)

(2)爲現有的表添加主鍵

例:爲現有表添加一個auto_increment主鍵的contact_id 列

alter table doughnut_list
add column contact_id int not null auto_increment first,
add primary key(contact_id );

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章