我是mysql数据库设计的新手。我正在开发一个小应用程序供我使用php和mysql来处理我的Web开发客户。我们的想法是处理和管理所有客户项目。
我的数据库截至目前: 客户
项目
现在这里的项目类型可以是不同的类型,例如:网页设计,标志设计,SEO,ppc,宣传册设计等。
我需要分别管理每个项目类型。例如:Web设计表可以具有与徽标设计不同的表值。
我的问题是“我应该为每个项目类型创建一个单独的表”如果是这样的话如果我将来需要添加额外的项目类型。为每个项目类型添加额外的表。请帮忙。
我的项目管理会是这样的
Customer | Project type | details
---------------------------------
abc xyz | web Design | manage
efg uvw | logo design | manage
一个客户可以拥有多个项目,如网页设计,徽标设计等。每个项目都有自己的表格值。既然如此,我的问题是我应该为每个项目tye创建一个单独的表,如table-webdesign,table-logodesign,table-brochuredesign等。
答案 0 :(得分:0)
问题的答案归结为每种项目类型的数据有多么不同。如果您希望有明显不同的数据列,那么您需要考虑单独的表。但是,如果大多数数据相同,则一个表就足够了。
例如,如果所有项目都有小时估计,小时费用,成本估算等等,并且只会说,logodesign有一个消耗纤维消耗的列,而网页设计有消耗苏打水,它通常更简单如果是网页设计项目,则使用单个表和消耗的值为NULL值。
答案 1 :(得分:0)
总体上, 最佳 可能会有一个project_central
表,其中包含公共属性id, title, type, percent_complete, date_started, status
,然后创建具有特定字段的辅助表,因为它们属于到项目类型,以便web_projects
project_central.id, site_name, server_language
和logo_projects
可以project_central.id, primary_colors, artist_name
在您添加项目类型时,将来可以扩展得更多。由于行不是正确的项目类型,通常也不建议故意使用空值。
更容易查看第一段:
project_central
web_projects
logo_projects