zoukankan      html  css  js  c++  java
  • 数据库的冗余字段

    1冗余字段的定义

    冗余字段是指反复出现的,重复的字段。也就是说在数据库中如果表a出现过字段b,表c再出现字段b,那么字段b就可以被看作是冗余字段了。

    2冗余字段的弊端

    如果参照三范式,那我们在设计数据库的时候就必须致力于消灭冗余字段,毕竟如果我们需要更新某条记录,而这条记录又恰好包含了冗余字段,那么我就必须更新所有携有冗余字段的表。如果冗余冗余字段只出现在很少的表中那么这不算什么大问题。但是如果有很多很多张表都携有冗余字段,不仅会使数据库性能降低还会带来数据不一致等一系列问题。所以,我们目前所接触的经典教材都在强调三范式还是很有道理的。

    3冗余字段的用处

    冗余字段确实有很大地弊端,这是否说明我们就该将之视为洪水猛兽,弃而不用呢?大可不必。举个例子来说表a有三个字段:员工号,员工姓名,员工出生日期;表b有三个字段员工号,员工工资,员工工龄;这样的设计符合三范式。但是我们发现当我们查询员工工龄的时候不仅仅需要知道员工号,还需要知道员工姓名。这个时候我们需要使用join语句或者使用视图来获取员工工龄和员工姓名。当数据只有百条,千条时这样设计并没有什么问题,但当数据库中有几万条数据时再使用join语句就未必是个好方法了。这时候如果在表b中增加一个姓名的冗余字段就能提升数据库的性能。

    4冗余字段的使用原则

    冗余字段不是妖魔鬼怪。在像我这样的菜鸟眼中它可能像一头狮子一样凶猛可怕,但在高手面前,它却会像小猫一样乖巧可爱。想要成为高手,就必须学会驾驭雄狮,而想要驾驭雄狮就必须去了解它。下面来讨论一下冗余字段的使用原则。

    a不随便使用冗余字段。

    b只在关键数据上使用冗余字段

    c根据业务需求决定是否使用冗余字段

    d查询多更新少  加冗余

  • 相关阅读:
    摊余成本通俗解释
    存货跌价准备与折旧
    发生认定是什么
    金融负债与权益工具的区分
    应收退货成本
    使用Python和SAS 编程代写Viya分析社交网络
    用R语言编程代写和python进行社交网络中的社区检测
    python编程代写隶属关系图模型:基于模型的网络中密集重叠社区检测方法
    R语言编程代写确定聚类的最佳簇数:3种聚类优化方法
    R语言编程代写最优聚类数目k改进kmean聚类算法
  • 原文地址:https://www.cnblogs.com/wangjincai/p/13333887.html
Copyright © 2011-2022 走看看