Mysql基础

55 阅读1分钟

数据库范式化设计

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

命名规范

可读性原则、必须使用小写字母或者数字、不适用复数名词、禁用保留字和索引命名

索引是什么?

  1. 索引是帮助Mysql高效获取数据的数据结构。
  2. InnoDB存储引擎支持一下几种常见的索引:B+树索引、全文索引、哈希索引(内部)。

B+Tree

B+树是通过二叉查找树,再由平衡二叉树、B树演化而来。B+树通过二分查找发查询。