SQL遥远的关系

时间:2018-02-02 05:20:23

标签: sql relationship

我们有3张桌子

  1. 顺序
  2. 客户
  3. customerType
  4. 要根据客户类型访问所有订单,我们是否应该使用示例1中所述的中间表,还是应该在示例2中所述的订单表中使用外键哪一个最好?

    示例1:

    customerType

    id - integer
    name - string
    

    客户

    id - integer
    customertype_id - integer
    name - string
    

    顺序

    id - integer
    customer_id - integer
    orderNo - string
    

    示例2:

    customerType

    id - integer
    name - string
    

    客户

    id - integer
    customertype_id - integer
    name - string
    

    顺序

    id - integer
    customer_id - integer
    orderNo - string
    customerType_id -string
    

    实施例1或实施例2?在表现方面。

    提前致谢。

1 个答案:

答案 0 :(得分:2)

现代关系数据库中没有理由将customerType放在order表中(当然,除非客户类型在同一客户的不同订单之间有所不同)。查询优化将消除任何优势,您将使用更少的数据库空间。