原子性:對數據具有原子性,就表示它已經被分割至最小塊,已經不能或不應該再被分割。
原子性數據規則:
規則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 );