简短的查询优于较长的查询
-
原子性数据:
(1) 定义:它已经被分割至最小块,不能或不应该再被分割
对于同样的信息,不同的表对于原子性数据的需求不同
示例
地址包括街道 + 门牌号,对于外卖来说,它们应该合在一列存储;对于房地产中介来说,应该分成两列存储
(2) 规则一
具有原子性数据的列不会有多个类型相同的值
示例
food_name | ingredient ------------------------------ bread | flour, milk, egg ------------------------------ salad | lettuce, tomato ------------------------------ 在这张表中,flour,milk,egg等都是类型相同的值,它们放在同一列存储,意味着想在bread中找到某个具体的成分很困难
(3) 规则二
具有原子性数据的表中不会有多个存储同类数据的列
示例
teacher_name | student1 | student2 | student3 | ----------------------------------------------- Martini | Joe | Ron | Kelly | ----------------------------------------------- Howard | Sanjaya | Tim | Julie | ----------------------------------------------- student1,student2,student3都是存储同类数据的列
-
第一范式 1NF
(1) 每个数据行必须包含具有原子性的值
(2) 每个数据行都要有主键
-
主键
(1) 表中某一列,可以保证记录的唯一性
(2) 主键不可以为NULL
(3) 最佳主键是新的主键--id列
-
AUTO_INCREMENT设置的自增从1开始(和SQL的习惯一样)
示例
CREATE TABLE my_contacts ( id INT(4) NOT NULL AUTO_INCREMENT, name VARCHAR(10) NOT NULL, PRIMARY KEY (id) );
AUTO INCREMENT每个表只能有一列可以使用
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交