Loading
0

重蔚自留地php学习第三十七天——mysql数据库范式的总结

关系:一对多,多对一,多对多,一对一

范式:Normal Format

第一范式:原子性,字段不可再分割

第二范式:取消部分依赖,不使用复合主键,通常设计时使用逻辑主键

第三范式:取消传递依赖,将不同的实体创建不同表,需要使用实体关系的时候,使用对应的主键。

为了提高效率,会在设计数据表的时候刻意增加适当的数据冗余。逆规范化(效率与磁盘空间的对抗)。

外键:foreign key

创建外键

创建表:foreign key(字段) references 表名(字段)

修改表:alter table 表名 add constraint 外键名 foreign key (字段) references 表名(字段)

外键约束:

子表不能插入父表不存在的数据

父表不能删除子表已经有指向的数据

外键约束模式

严格模式:restrict(默认的)

置空模式:set null

级联模式:cascade

foreign key(字段) references 表名(字段) on update 模式[cascade] on delete 模式[set null]

删除外键:alter table 表名 drop foreign key 外键名

高级数据操作

增加:蠕虫复制,主键重复(on duplicate key,replace)

删除:搭配order by和limit,truncate(充值表)

修改:搭配order by和limit

查询:select [select选项] 字段列表/表达式 [from子句] [where子句] [group by子句] [having 子句] [order by子句] [limit 子句]

字段和表名使用别名

where子句:运算结果通常是一个布尔结果,比较运算符和逻辑运算符

group by子句:分组统计

count:统计记录数,统计不为空的字段

max:

min:

avg:

sum:

多分组:group by 字段列表

回溯统计

欢迎分享本文,转载请保留出处!—重蔚自留地 站长邮箱:admin@cwhello.com