2013-02-09 94 views
0

我有一个旧的数据库2个表:数据库设计项目

表1 =标准项目

表2 =所有项目

这个数据库是第一个设计是针对单个项目的工具。

我喜欢有一个处理所有项目一个单一的数据库,但是这需要一个新的设计 - 什么是最好的设计所需要的数据库时,要做到这一点:

  1. 制作的标准项目
    一份。大约50个标准项目和项目管理者(PM)通常需要制作同一项目的2-3个副本。
  2. 请从步骤更改新项目1
  3. 只来自步骤新项目
  4. 创建查询1
  5. 几个项目经理可以在1-3步
  6. 上新项目(步骤1)变更工作可以在发生该项目
  7. 当项目完成新项目需要被存储在表中的所有项目

需要帮助的是: 一个。最佳做法是什么,当我需要复制项目(有时几个相同的项目) b。我如何分配PM之间的新项目 c。我如何获得所有项目在表2

我真的需要在这一个最佳实践的帮助。

回答

1

没有必要使用两张表格,您可以使用标记和日期来指明项目在工作中的位置。考虑下面的草图。

项目

ProjectID 
Contact -- fk to PM id. This is just the lead, all other contacts are 
      in the PersonsProject tables 
Etc 

物品 - 所有

ID -- pk 
ProjectID - fk to Project 
AssignedTo - fk, but it all depend on whether a person is in charge of an item 
Stage and/or status -- fk to list 
Description 
Notes 
Created date 
Completed date 
Deleted date 
Deleted reason 
Created by 
Deleted by 

ID 
Etc 

PersonsItems或PersonsProject

PersonID 
ProjectID 
Notes 
etc 

可能分配的项目

PersonID 
ProjectID 
ItemID 

另外的表,如果有可能的项目有限的列表,你可能需要一个项目一览表,在这种情况下,ItemListID将进入项目表,并说明会出来。