2.1 数据库结构优化的目的
减少数据冗余
尽量避免数据维护中出现更新,插入和删除异常
插入异常
如果表中的某个实体随着另一个实体而存在
先看一个表结构
为学号,课程名称列定义主键约束...提高查询效率
2.2 数据库结构设计的步骤
2.3 数据库设计范式
有时需要反范式
符合第一范式
将上个表拆成两个表,即符合第二范式
上面的study学生信息表,学号可以确定学院,而学院地址又与学院有关系...,所以学院地址和学号传递依赖关系,所以对其拆分符合第三范式
学生表数据
学生信息表
学院信息表
2.4 数据库需求分析及逻辑设计实例
需求说明
需求分析及逻辑设计,设定用户名为主键
分析
一本书可能在多个分类中...建表
TIMESTAMP时间随时区变化
2.8.4.4.4微秒问题
表数据
2.8.4.4.5自动更新问题
建表
只有第二列自动更新时间,默认只有第一个TIMESTAMP列自动更新
2.8.4.4.6
MySQL5.7...前存储时间可选方式
MySQL5.7后date,time类型横空出世
image.png
2.8.4.4.7注意事项!!!