【问题标题】:what is normalization?why it is used in DBMS? [duplicate]什么是标准化?为什么在 DBMS 中使用它? [复制]
【发布时间】:2015-11-11 14:59:06
【问题描述】:

我想知道什么是规范化,有哪些类型的范式。 这也是为什么它在数据库中使用?

【问题讨论】:

标签: database computer-science normalization rdbms database-normalization


【解决方案1】:

非常简单地说,规范化的目的是避免数据冗余,将每个可以被许多人引用的不同信息存储一次,创建不同类型的数据关系,如一对一、一对多、多对多.

【讨论】:

    【解决方案2】:

    归一化

    如果数据库设计不完美,它可能包含异常,这对任何数据库管理员来说都是一个噩梦。管理有异常的数据库几乎是不可能的。以下是异常的类型。

    1. 更新异常
    2. 删除异常
    3. 插入异常

    更新异常:-

      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.
    

    【讨论】:

      猜你喜欢
      • 2017-05-07
      • 1970-01-01
      • 2011-04-24
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      相关资源
      最近更新 更多