在客户表中存储姓氏/商家名称的最佳方式

时间:2012-06-27 15:43:46

标签: database field

我有一张我正在存储的客户表:

  • 姓氏
  • 名字
  • 中间名
  • 商家名称
  • 实体类型(业务或个人)
  • 地址,电话等

如果客户是企业,我目前正在将业务名称存储在单独的字段中。我已经存储了实体类型,因此甚至需要将业务名称存储在单独的字段中?在我的搜索查询中,我使用“WHERE last_name LIKE'%$ var%'或business_name LIKE'%$ var%'”这可能是过度杀伤。我应该按照我的方式保留它,还是应该将商家名称合并到姓氏字段中?谢谢!

3 个答案:

答案 0 :(得分:1)

我实际上会创建不同的表

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

这样可以在以后提供最大的灵活性,例如,您可以拥有一个属于某个企业的用户,并为他的业务购买。

米哈伊

答案 1 :(得分:0)

我的建议:如果您使用last_name和business_name,则不需要使用两个字段。只创建一个名为name的字段(而不是这两个字段)。您可以在那里输入“姓氏”或“商家名称”值,因此您可以使用以下SQL:

WHERE name like '%$var%'

如果您有真人,您将填写姓名,first_name,middle_name。 如果你有生意,你将只有名字。

当然,entity_type会区分它们。

答案 2 :(得分:0)

我建议将商家名称放入姓氏列, 因为在您选择之后,您会识别出它是否是公司,如果它没有名字。

此外,您只需要一个逻辑就可以将您的名字放入字符串中。