**什么是数据库三大范式** 1. 每一列都是不可分割的原子数据项 2. 实体的属性完全依赖于主关键字 3. 任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖) **数据库中设计中的常见问题** 1. 字段混在了一起 > ![](https://box.kancloud.cn/6a34335f77723f818ac576a25b7b8258_743x157.jpg) ![](https://box.kancloud.cn/831d7470be3e01aa6f22ab866803b6b5_881x136.jpg) 2. 数据表混在了一起 >![](https://box.kancloud.cn/05618151a1bcd4fa00c0e7339f593d14_661x349.jpg) 3. 不会处理表关系 > *一对一 (学生姓名, 学号)*  > *一对多 (老师, 学生)*  > *多对多 (学生, 课程)* **设计数据库的小技巧** 1. 一个对象, 一张表 2. 一张表, 一个主键 3. 表名中有`数据库名`做前缀 4. 字段名中有`表名`做前缀 5. 前缀后加`缩写` 6. 数据表关系处理 **范式越高越好?** `新建数据库指定编码与排序规则` ``` create database `test2` default character set utf8 collate utf8_general_ci ```