zoukankan      html  css  js  c++  java
  • 数据库设计中的五个范式

    第一范式:

    对于表中的每一行,必须且仅仅有唯一的行值.在一行中的每一列仅有唯一的值并且具有原子性.

    第一范式是通过把重复的组放到每个独立的表中,把这些表通过一对多关联联系起来这种方式来消除重复组的。

    第二范式:

    第二范式要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无法改变,外键关联一个表的主键。主外键关联意味着一对多的关系.

    第二范式处理冗余数据的删除问题。当某张表中的信息依赖于该表中其它的不是主键部分的列的时候,通常会违反第二范式。

    第三范式:

    第三范式要求非主键列互不依赖.

    第三范式规则查找以消除没有直接依赖于第一范式和第二范式形成的表的主键的属性。我们为没有与表的主键关联的所有信息建立了一张新表。每张新表保存了来自源表的信息和它们所依赖的主键。

    第四范式:

    第四范式禁止主键列和非主键列一对多关系不受约束

    ()

    第五范式:

    第五范式将表分割成尽可能小的块,为了排除在表中所有的冗余.
    ()

    在数据库设计时,大家应该时刻的注意到这几个范式。 其中第五范式是最难实现的。但是,还是需要尽量的去实现这些功能。

  • 相关阅读:
    linux shell在while中用read从键盘输入
    ubuntu14.04折腾迅雷xware
    select与epoll分析
    ubuntu 14.04下练习lua
    C++中的重载、覆盖、隐藏
    删除ubuntu旧内核
    fcntl函数加文件锁
    系统中断与SA_RESTART
    linux使用共享内存通信的进程同步退出问题
    leetcode-easy-others-268 Missing Number
  • 原文地址:https://www.cnblogs.com/tongtkk/p/148187.html
Copyright © 2011-2022 走看看