数据库范式化设计
1.第一范式 定义:所有属性都不可再分,及数据项不可分。强调其原子性
2.第二范式 在第一范式的基础上,实体属性完全依赖于主关键字
3.第三范式
在第二范式的基础上,要求一个数据库表中不包含已在其他表中包含的非关键字信息,即数据不能存在传递关系,即每个属性都跟主键有直接关系,而不是间接关系。
字段数据类型优化
设计原则:更小的通常更好,简答就好,尽量避免NULL. 具体类型: 整数类型:
tinyint、smallint、mediumint、int、bigint
8位 ------- 14位 ------- 24位 ---32位 -- 64位
1 ----------- 2 ----------- 3 ------ 4 ----- 8(字节)
Long类型 == bigint 实数类型:
float、double、decimal
字符串类型:
char、varchar、blob、text、enum、set
日期和时间类型
datetime、timestamp
命名规范
可读性原则、必须使用小写字母或者数字、不适用复数名词、禁用保留字和索引命名
索引是什么?
- 索引是帮助Mysql高效获取数据的数据结构。
- InnoDB存储引擎支持一下几种常见的索引:B+树索引、全文索引、哈希索引(内部)。
B+Tree
B+树是通过二叉查找树,再由平衡二叉树、B树演化而来。B+树通过二分查找发查询。