1、mysql表的基本概念


库是存放表的容器,表是存放数据的一种容器


表是由行和列组成,在数据库中,我们定义“列”的属性。随着数据一条条的增加,“行”不断地增加


列是结构,行是信息


2、那么我们为什么要用表来存储数据呢?


表是关系型数据库的重要基础


数据越大存储管理越麻烦,非常容易导致数据出现问题:不完整、不准确、太多冗余


关系型数据库中通过表与表之间的关系解决此问题


表的设计上满足三范式


3、第一范式


数据库表中的字段都是单一属性的,不可再分


这个单一属性由基本类型构成,包括×××、实数、字符型、逻辑型、日期型等


能分则分,分到不能分为止每一列都是一个原子


4、第二范式


在满足第一范式的基础上,数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函

数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有的非关键字段都完全依

赖与任意一组候选关键字


每一列数据,各管各的,不互相影响,不要把所有的东西放到一个表里,如果有影响,我们需要对表进

行拆分,分到其它不同的表里


5、第三范式


在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖


传递函数依赖:即如果存在“A -> B -> C”的决定关系,则C传递函数依赖于A,也就是说表中的字段和

主键直接对应不依靠其它的中间字段


决定某个字段值必须是主键


确定某些数据是主键,然后根据主键值来对表进行划分(主键的数据不依赖),哪些数据和主键有唯一

且紧密的关系,则这些数据可以独立出来