zoukankan      html  css  js  c++  java
  • 表关联

    我们来为货物建一张表,其中包含规格、名称、生产厂家等等信息,如下:

    可以看到这里存在大量冗余信息,比如厂家的名称、地址、电话等就在表中重复多次,

    这会带来如下的问题:

    1,信息冗余占据空间。数据的存储是占据一定的空间的,如果存在过多冗余信息将会使得存储系统的利用率过低。

    2,信息冗余使得新数据的加入变得麻烦。每次录入新的货物的话必须把厂家地址、厂家电话等信息重新录入一次。

    3,信息冗余使得维护数据的正确性变得困难。如果七侠镇肉联厂迁址了,那么必须将表中所有七侠镇肉联厂的厂家地址都要更新一遍。

    解决的方法就是即将厂家的信息在一个新的表中维护。我们创建下边的厂家表:

    这里我们为每个厂家指定了一个厂家编号做为主键,这个编号就可以唯一标识一个厂家。

    有了厂家信息表,货物表就可以修改成如下的新的格式了:

    在货物表中只保留了指向厂家表的主键的字段“生产厂家编号”,这样就避免了数据冗余的问题。当进行查询的时候,只要根据“生产厂家编号”到厂家信息表中查询就可以知道厂家的详细信息了;当厂家迁址的时候,只要修改厂家信息表中的一条数据就可以了。

    这种将两张表通过字段关联起来的方式就被称为“表关联”,关联到其他表主键的字段被称为“外键”,上边例子中货物表中的“生产厂家编号”字段就是外键。表关联也是关系数据库的核心理念,它使得数据库中的数据不再互相孤立,通过表关联我们可以表达非常复杂的数据关系。

  • 相关阅读:
    javascript中this使用规律
    call和apply的作用和不同
    SVN的标准目录结构:trunk、branches、tags
    SVN 多人修改,如何管理 关于版本的问题
    公司考勤系统项目设计
    CDI Features
    Java Design Pattern
    公司考勤系统设计文件
    spring( history Design Philosophy )
    JSON/xml
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9819944.html
Copyright © 2011-2022 走看看