Mysql标准化数据库

标准化原则

1. 降低空间占用。减少冗余数据。

2. 数据完整性。同类型的数据尽可能地存储在统一的位置。

3. 可维护性。不同的类型的数据分割到不同的位置,不至于混杂不堪。

 

1NF

“every field should hold onlyonevalue.”

——每列只能包含一个数据

违反第一范式的例子:

Mysql标准化数据库 

film_title单个字段包含了很多值,这是不允许的。

改造完成:

Mysql标准化数据库

 

2NF

“every non-key field can be accessed using a logically related key.”

——非主属性全部依赖键(含组合主键)

Mysql标准化数据库

Mysql标准化数据库

修复:

Mysql标准化数据库

将film_id和title拆分到新的表,解决title和actor_id无关的问题。

 

3NF

"all non-key fields are accessible by the table’s primary key."

——所有的非主属性,必须完全依赖主键。

Mysql标准化数据库

Mysql标准化数据库

Mysql标准化数据库