关于数据规范化的想法

时间:2010-07-05 13:11:36

标签: database-design normalization

我正在设计一个工作管理应用程序。可以使用WBS(工作分解结构)在(技术上)无限级别分解工作。

定义每个级别的作业/任务编号时,规范任务/作业参考数据(即作业编号)的最佳方法是什么?

例如,我有5个参考字段用于识别任务/作业。前三个字段标识级别1的作业。第4个字段在级别2添加作业的标识符。显然,参考字段的数量要么很快就要用完,要么我必须添加一个非常大量的引用字段来处理不同级别的WBS。

有什么建议吗?

BTW,我使用的是MS-SQL Server,但这个概念应该适用于任何数据库。

谢谢, 约翰


更多详情

我正在使用WBS级别的父级孩子;但是,每个级别都有一个不同的作业编号,该编号由上一级别的作业编号+此级别作业的标识符组成。

示例:

Level 1 XXXX-99-1234

Level 2 XXXX-99-1234-A

工作号中的每个部分都是WBS表中的特定列。

Table:

(

     WBSID INT,
     WBSParentID INT,
     WBSLevelID INT, 
     WBSReference1 VARCHAR (XXXX from above)
     WBSReference2 VARCHAR (99 from above)
     WBSReference3 VARCHAR (1234 from above)
     WBSReference4 VARCHAR (A from above)
....

)

显然,我不想继续添加更多WBSReferenceX字段来处理所有可能的WBSLevels。​​

将值连接到一个字段不是一个选项,因为我们必须为每个级别维护不同的标识符。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的问题,但似乎你想要store a tree structure in a relational database。您可以使用 parent (或 child )列来执行此操作,该列指示当前记录在树中的位置。