设计一个MySQL数据库,我应该重新考虑一下吗?

时间:2014-07-09 07:14:38

标签: php mysql database schema

我必须设计一个关注企业信息的系统。例如,我将拥有的一些表格将是"所有者","区域","业务类别","业务类型",& #34;商业","优惠","活动"等

我决定将每个业务的信息分组到" Business"表。

" Business"表:

[商业]    
   

       
  •     ID    
  •    
  •     名称    
  •    
  •    说明    
  •    
  •     GPS_Coordinates    
  •    
  •     areaID表示    
  •    
  •     OWNERID     
  •     
  •     类别ID     
  •     
  •     BusinessTypeID     
  •     

现在我担心的是,尽管我的大部分业务都有共同的领域,但其中一些领域需要额外的领域(例如住宿可能需要价格范围或房间类型)以及特定链接到其他表格。

例如,如果我有类型住宿业务,那么我们需要将其链接到另一个可以容纳空缺的表格。

空缺"空缺"表:

[空]

  • ID
  • BusinessID
  • 标题
  • 说明
  • 日期

我应该为每种业务类型创建单独的表吗?

如果我这样做,那么如果我决定将每个单独的商家信息表与"优惠" table(因为每个企业都可以提供)我需要有多个外键引用每个单独的表。

示例"优惠"表:

[优惠]


  

      
  •    ID   
  •   
  •   标题   
  •   
  •   说明   
  •   
  •   创立日期   
  •   
  •   ValidFromDate   
  •   
  •   ValidToDate   
  •   
  •   BusinessID   
  •   

哪种方式最合适?

3 个答案:

答案 0 :(得分:0)

 "Owner", "Area", "Business Category", "Business Type", "Business(Name)", "Offers", "Events"

除了"事件"和"提供",他们看起来应该是BusinessInfo表中的单独列。在业务信息表中,包含业务ID,并将该业务ID作为其他表中的列包含在内,以便您可以在必要时加入它们。我的2美分

http://sqlfiddle.com/#!2/b9ea10/6

答案 1 :(得分:0)

由于问题含糊不清,我建议您阅读Codd博士关于规范化(Google it)的内容 - 这应该有助于引导您的数据库,这对您和您的开发人员都有益。 HTH谢谢// P

答案 2 :(得分:0)

我建议您创建2个表,而不是为每个业务类别创建单独的表。一个持有一般字段,另一个持有json formate中每个业务的特定字段。因此,您无需担心任何企业需要将多少特定字段存储在json formate中。 希望这有帮助:)