数据库设计的物理设计

根据所选择的关系型数据库的特点对逻辑模型进行存储结构设计。

涉及的内容
* 定义数据库、表及字段的命名规范
可读性、表意性、长名原则
* 选择合适的存储引擎
* 为表中的字段选择合适的数据类型
* 建立数据库结构

为表中的字段选择合适的数据类型

一个列可以选择多种数据类型时,优先考虑数值类型,其次是日期或二进制类型,最后是字符类型。
对于相同级别的数据类型,优先选择占用空间小的数据类型。

整数类型

tinyint 1
smallint 2
mediumint 3
int 4
bigint 8

实数类型

float 4 非精确
double 8 非精确
decimal 每4个字节存9个数字,小数点占一个字节 精确

字符类型

varchar类型的存储特点
* 变长字符串,只占用必要的存储空间
* 列的最大长度小于255则只占用一个额外字节用于记录字符串长度
* 列的最大长度大于255则要占用两个额外字节用于记录字符串长度
* 使用最小的符合需求的长度
* 字符串列的最大长度比平均长度大很多
* 字符串列很少被更新
* 使用多字节字符集存储字符串
char类型
* 定长
* 会删除末尾的空格
* 最大宽度255
* 存储近似长度的值
* 适合存储短字符串
* 适合存储经常更新的字符串列

日期类型

DATETIME类型
  fraction
  与时区无关,8个字节
  1000-9999
TIMESTAMP类型
  1970-当前的秒数
  int存储,4个字节,依赖指定的时区,自动记录行修改时间
  1970-2038
DATE类型
  日期,利用日期时间函数进行相关计算
TIME类型
原文地址:https://www.cnblogs.com/jiaoran/p/14422443.html