zoukankan      html  css  js  c++  java
  • 学习《数据库设计入门经典》笔记——容易方法的范式

    第一范式(1NF):删除原表中的重复字段。通过创建新的表来删除重复的字段,其中以主-明细的、一对多的关系链接原始表和新表。
    第二范式(2NF):删除第一范式中新表的重复值。创建一个2NF的新表,将1NF新表中重复的值移动到2NF新表中,结果是原始表和新表之间创建多对一关系。
                    通常,2NF在动态和静态数据之间创建多对一关系,将事务表中的静态数据移动到新的表中。
    第三范式(3NF):几种容易方法的实现:

    1、(两表)将多对多关系分解到新的表中,即引入中间表。
    2、(两个以上的表)将重复内容(字段)合并到新表中,结果是原始各表和新表之间创建多对一关系。形同做了多个2NF变换。
    3、(一个表)从一个表3NF传递依赖分离到新表,即删除传递依赖,可能创建过多表,导致必须连接过多表的缓慢查询。
    4、(一个表)删除计算字段。计算出的值的字段由相同表中的其他字段中的值产生,有时计算字段是为了性能,没有必要删除。

    第三范式以上的范式:显示使用第三范式以上的范式可能是愚蠢的行为,就是说不要去用。
    1、将潜在的NULL字段移动到新的表,并且创建一对[一或零]的关系。在现代高端关系数据库引擎中,这是非常无关的,磁盘空间是廉价的,不断增加的表数量将导致较大的sql连接和较差的性能

    一般商业设计,只使用到三范式(部分第三范式),不使用三范式以上的范式。

  • 相关阅读:
    MongoDB存储时间
    如何在博客园随笔中增加章节导航
    如何优雅地从CSDN转载文章
    线段树详解(原理、实现与应用)
    Codeforces 1076D——最短路算法
    顶点支配、独立与覆盖
    CodeForces
    数据结构一——顺序表
    平面图的基本概念及性质
    编程之美——一摞烙饼的排序(暴搜+剪枝)
  • 原文地址:https://www.cnblogs.com/HF-Made/p/11648325.html
Copyright © 2011-2022 走看看