范式(NF):数据表的表结构所符合的某种设计标准的级别。1NF、2NF、3NF、BCNF、4NF、5NF。解决数据冗余过大,插入异常,删除异常,修改异常问题。
第一范式(1NF):符合1NF的关系中的每个属性都不可再分。1NF是所有关系数据库的最基本要求。
第二范式:2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。
第三范式:3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖。
BCNF:在3NF的基础上,消除主属性对于码的部分与传递函数依赖。
函数依赖:完全函数依赖、部分函数依赖、传递函数依赖。
函数依赖: 若在一张表中,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X。
完全函数依赖:Y由X中的所有属性决定;对于 X 的任何一个真子集(假如属性组 X 包含超过一个属性的话),X ' → Y 不成立,那么我们称 Y 对于 X 完全函数依赖;
部分函数依赖:Y由X中的部分属性决定(不同的Y由不同的X中的属性组合决定,所以需要拆成多个表);
码:K为表中的一个或一组属性,若除K之外的所有属性都 完全依赖于K,K为候选码,简称码。(假如当K确定的情况下,该表除K之外的所有属性的值也随之确定,那么K就是码)。一张表中可以有超过一个码。(实际应用中为了方便,通常选择其中一个码作为主码),码必须符合完全函数依赖。
非主属性:包含在任何一个码中的属性为主属性。
模式分解:无损连接性(信息不失真(不增减信息))和函数依赖性(不破坏属性间的依赖关系)。
数据库:以某种有组织的方式存储的数据集合
表:用来存储某种特定类型的数据
列:表中的一个字段,每列都有相应的数据类型
数据类型:所容许的数据的类型,限制(或容许)该列中存储的数据
行(元组):表中的一个记录
主键:一列(或一组列),能够唯一区别表中每一行。
主键要求:1、任意两行都不具有相同的主键; 2、每一行都必须具有一个主键值(主键列不允许null值)。
主键习惯:1、不跟新主键列中的值; 2、不重用主键列的值; 3、不在主键列中使用可能会更改的值。
外键:外键是某个表的一列,它 包含另一个表的主键值,定义了两个表之间的关系。
设计多对多映射关系,使用中间表。
自动增量:某些表列需要唯一值。在每行添加到表中时,MySQL可以自动地为每一行分配下一个可用编号,不用在添加一行时手动分配唯一值。这个功能就是自动增量
mysql不区分大小写,表名和列名用小写,关键字用大写