我想知道什么是规范化,那里有什么类型的普通形式。 还有为什么它在数据库中使用?
答案 0 :(得分:1)
非常简单,规范化的目的是避免数据冗余,存储一次可以被许多人引用的每个不同信息,创建不同类型的数据关系,如一对一,一对多,多对多
答案 1 :(得分:1)
正常化
如果数据库设计不完美,它可能包含异常,这对任何数据库管理员来说都是一个糟糕的梦想。管理具有异常的数据库几乎是不可能的。以下是异常类型。
更新异常: -
If data items are scattered and are not linked to each other properly,
然后它可能导致奇怪的情况。例如,当我们尝试更新一个数据项,其副本分散在多个位置时,一些实例会正确更新,而其他几个实例会保留旧值。此类实例使数据库处于不一致状态。
删除异常: -
我们试图删除一条记录,但由于没有意识,部分内容未被删除,数据也会保存在其他地方。
插入异常: -
我们尝试在根本不存在的记录中插入数据。
规范化是一种删除所有这些异常并使数据库处于一致状态的方法。
第一范式
第一范式在关系(表)本身的定义中定义。此规则定义关系中的所有属性必须具有原子域。原子域中的值是不可分割的单位。
第二范式
如果我们遵循第二范式,那么每个非素数属性应完全在功能上依赖于主键属性。也就是说,如果X→A成立,则不应该有任何适当的X子集Y,Y→A也适用于此。
第三范式
对于处于第三范式的关系,它必须是第二范式,并且以下必须满足 -
* No non-prime attribute is transitively dependent on prime key attribute.
* For any non-trivial functional dependency, X → A, then either −
X is a superkey or,
A is prime attribute.