【问题标题】:Best way to store last name/business name in a customer table在客户表中存储姓氏/公司名称的最佳方式
【发布时间】:2012-06-27 15:43:46
【问题描述】:

我有一个客户表,我目前在其中存储:

  • 姓氏
  • 名字
  • 中间名
  • 公司名称
  • 实体类型(企业或个人)
  • 地址、电话等

如果客户是企业,我目前将企业名称存储在单独的字段中。我已经存储了实体类型,那么是否有必要将公司名称存储在单独的字段中?在我的搜索查询中,我使用了“WHERE last_name LIKE '%$var%' OR business_name LIKE '%$var%'”,这可能是矫枉过正。我应该保持原样,还是应该将公司名称合并到姓氏字段中?谢谢!

【问题讨论】:

    标签: database field


    【解决方案1】:

    我实际上会创建不同的表

    1. for people
    1. for companies
    1. for people - company relation
    

    这为以后提供了最大的灵活性,例如,您可以让一个用户属于一个企业,并为他或为他的企业购买。

    米海

    【讨论】:

      【解决方案2】:

      我建议将公司名称放入姓氏列中, 因为在你选择之后,如果它没有名字,你就可以识别它是否是一家公司。

      此外,您只需一种逻辑即可将您的姓名放入字符串中。

      【讨论】:

        【解决方案3】:

        我的建议:如果您像这样使用 last_name 和 business_name,则不需要使用两个字段。只创建一个名为 name 的字段(而不是这两个)。您可以在此处输入“姓氏”或“公司名称”值,这样您就有了这样的 SQL:

        WHERE name like '%$var%'
        

        如果您有真人,您将填写姓名、名字、中间名。 如果您有生意,您将只有名字。

        当然 entity_type 会区分它们。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多