项目数据库设计

时间:2013-02-09 08:55:06

标签: ms-access database-design

我有一个包含2个表的旧数据库:

table1 =标准物品

table2 =所有项目

该数据库首先设计为单个项目的工具。

我喜欢有一个处理所有项目的数据库,但这需要一个新设计 - 当需要数据库执行此操作时,最佳设计是什么:

  1. 制作标准物品的副本
    一个。大约50个标准项目和项目管理员(PM)经常需要制作2-3份相同的项目。
  2. 更改第1步中的新项目
  3. 仅对步骤1中的新项目进行查询
  4. 多个项目经理可以在第1-3步工作
  5. 项目期间可能会对新项目(步骤1)进行更改
  6. 项目完成后,新项目需要存储在包含所有项目的表格中
  7. 需要帮助: 一个。什么是最好的做法,当我需要复制项目(有时几个相同的项目) 湾我如何在PM之间分隔新项目 C。如何在表2中将所有项目放在一起

    我真的需要这方面的最佳实践方面的帮助。

1 个答案:

答案 0 :(得分: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将进入Items表,并且Description将出现。