个性化阅读
专注于IT技术分析

DBMS第三范式(3NF)

点击下载
  • 如果一个关系在2NF中并且不包含任何传递性部分依赖关系, 则它将在3NF中。
  • 3NF用于减少数据重复。它还用于实现数据完整性。
  • 如果非素数属性没有传递依存关系, 则该关系必须为第三范式。

如果关系对于每个非平凡函数依赖项X→Y至少满足以下条件之一, 则该关系为第三范式。

  1. X是超级键。
  2. Y是素数属性, 即Y的每个元素都是某个候选键的一部分。
  3. Example:

    EMPLOYEE_DETAIL table:

    EMP_ID EMP_NAME EMP_ZIP EMP_STATE EMP_CITY
    222 Harry 201010 UP Noida
    333 Stephan 02228 US Boston
    444 Lan 60007 US Chicago
    555 Katharine 06389 UK Norwich
    666 John 462007 MP Bhopal

    Super key in the table above:

    Candidate key: {EMP_ID}

    Non-prime attributes: In the given table, all attributes except EMP_ID are non-prime.

    Here, EMP_STATE & EMP_CITY dependent on EMP_ZIP and EMP_ZIP dependent on EMP_ID. The non-prime attributes (EMP_STATE, EMP_CITY) transitively dependent on super key(EMP_ID). It violates the rule of third normal form.

    That’s why we need to move the EMP_CITY and EMP_STATE to the new <EMPLOYEE_ZIP> table, with EMP_ZIP as a Primary key.

    EMPLOYEE table:

    EMP_ID EMP_NAME EMP_ZIP
    222 Harry 201010
    333 Stephan 02228
    444 Lan 60007
    555 Katharine 06389
    666 John 462007

    EMPLOYEE_ZIP table:

    EMP_ZIP EMP_STATE EMP_CITY
    201010 UP Noida
    02228 US Boston
    60007 US Chicago
    06389 UK Norwich
    462007 MP Bhopal

    Next Topic DBMS BCNF


    ← prev next →


赞(0)
未经允许不得转载:srcmini » DBMS第三范式(3NF)

评论 抢沙发

评论前必须登录!