Mysql php,针对不同项目类型的不同表

时间:2014-02-21 18:21:11

标签: php mysql sql

我是mysql数据库设计的新手。我正在开发一个小应用程序供我使用php和mysql来处理我的Web开发客户。我们的想法是处理和管理所有客户项目。

我的数据库截至目前: 客户

  • cus_id
  • FULL_NAME
  • 电子邮件
  • 电话
  • 日期

项目

  • PROJECT_ID
  • cus_id
  • project_type
  • 日期
  • 状态

现在这里的项目类型可以是不同的类型,例如:网页设计,标志设计,SEO,ppc,宣传册设计等。

我需要分别管理每个项目类型。例如:Web设计表可以具有与徽标设计不同的表值。

我的问题是“我应该为每个项目类型创建一个单独的表”如果是这样的话如果我将来需要添加额外的项目类型。为每个项目类型添加额外的表。请帮忙。

我的项目管理会是这样的

Customer | Project type | details
---------------------------------
 abc xyz | web Design   | manage
 efg uvw | logo design  | manage

一个客户可以拥有多个项目,如网页设计,徽标设计等。每个项目都有自己的表格值。既然如此,我的问题是我应该为每个项目tye创建一个单独的表,如table-webdesign,table-logodesign,table-brochuredesign等。

2 个答案:

答案 0 :(得分:0)

问题的答案归结为每种项目类型的数据有多么不同。如果您希望有明显不同的数据列,那么您需要考虑单独的表。但是,如果大多数数据相同,则一个表就足够了。

例如,如果所有项目都有小时估计,小时费用,成本估算等等,并且只会说,logodesign有一个消耗纤维消耗的列,而网页设计有消耗苏打水,它通常更简单如果是网页设计项目,则使用单个表和消耗的值为NULL值。

答案 1 :(得分:0)

总体上, 最佳 可能会有一个project_central表,其中包含公共属性id, title, type, percent_complete, date_started, status,然后创建具有特定字段的辅助表,因为它们属于到项目类型,以便web_projects project_central.id, site_name, server_languagelogo_projects可以project_central.id, primary_colors, artist_name

在您添加项目类型时,将来可以扩展得更多。由于行不是正确的项目类型,通常也不建议故意使用空值。

更容易查看第一段:

  • project_central

    • id(PK autoincrement)
    • 标题
    • PERCENT_COMPLETE
    • date_started
    • 状态
  • web_projects

    • project_central.id(FK)
    • SITE_NAME
    • server_language
  • logo_projects

    • project_central.id(FK)
    • primary_colors
    • ARTIST_NAME