【问题标题】:Database design for projects项目数据库设计
【发布时间】:2013-02-09 08:55:06
【问题描述】:
我有一个带有 2 个表的旧数据库:
table1=标准项目
table2=所有项目
该数据库最初设计为单个项目的工具。
我喜欢有一个单一的数据库来处理所有项目,但这需要一个新的设计 - 当需要数据库来执行此操作时,最好的设计是什么:
- 复制标准项目
一种。大约 50 个标准项目和项目经理 (PM) 经常需要制作 2-3 个相同项目的副本。
- 对步骤 1 中的新项目进行更改
- 仅对步骤 1 中的新项目进行查询
- 多个项目经理可以处理步骤 1-3
- 项目期间可能会更改新项目(步骤 1)
- 项目完成后,需要将新项目与所有项目一起存储在表中
在这方面需要帮助:
一种。当我需要复制项目(有时是几个相同的项目)时,最佳做法是什么
湾。我如何在 PM 之间分隔新项目
C。我如何将所有项目放在 table2 中
我真的需要关于这个最佳实践的帮助。
【问题讨论】:
标签:
ms-access
database-design
【解决方案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 将进入项目表,而描述将出现。