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

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

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

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

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

  • 相关阅读:
    Redis持久化
    环境搭建
    openresty了解基础
    正向代理和反向代理
    Java IO流:(十)字节缓冲流
    Java IO流:(九)缓冲流
    第二节:MySQL软件的卸载(Windows版)
    第一节:MySQL产品的介绍
    第一节:数据库相关知识
    MySQL【目录】
  • 原文地址:https://www.cnblogs.com/HF-Made/p/11648325.html
Copyright © 2011-2022 走看看