深入浅出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 );

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值