📜  数据库规范化介绍

📅  最后修改于: 2021-09-09 11:46:00             🧑  作者: Mango

数据库规范化是组织数据库的属性以减少或消除数据冗余(具有相同数据但在不同位置)的过程

数据冗余导致的问题
数据冗余不必要地增加了数据库的大小,因为相同的数据在许多地方重复。在插入、删除和更新操作期间也会出现不一致问题。

功能依赖
功能依赖性是与数据库相关的两组属性之间的约束。函数依赖用箭头 (→) 表示。如果一个属性 A 在功能上决定了 B,那么它被写为 A → B。

例如,employee_id → name 表示employee_id 在功能上决定了雇员的姓名。作为时间表数据库中的另一个示例,{student_id, time} → {lecture_room},student ID 和 time 决定了学生应该在的教室。

功能依赖是什么意思?
函数依赖 A → B 意味着对于 A 的特定值的所有实例,B 的值相同。

例如,在下表中,A → B 为真,但 B → A 不为真,因为 B = 3 时 A 的值不同。

A   B
------
1   3
2   3
4   0
1   3
4   0

平凡的函数依赖
只有当 Y 是 X 的子集时,X → Y 才是微不足道的。
例子

ABC → AB
ABC → A
ABC → ABC

非平凡的函数依赖
当 Y 不是 X 的子集时,X → Y 是一个非平凡的函数依赖。

当 X 与 Y 相交为 NULL 时,X → Y 被称为完全非平凡的。

例子:

Id → Name, 
Name → DOB

半非平凡的函数依赖
当 X 与 Y 相交不为 NULL 时,X → Y 被称为半非平凡的。
例子:

AB → BC, 
AD → DC
  • 范式
  • 标准化测验