【问题标题】:Ideas about data normalization关于数据规范化的想法
【发布时间】:2011-03-11 22:02:29
【问题描述】:

我正在设计一个用于工作管理的应用程序。可以使用 WBS(工作分解结构)将工作分解为(技术上)无限的层次。

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

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

有什么建议吗?

顺便说一句,我使用的是 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 字段来处理所有可能的 WBSLevel。

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

【问题讨论】:

    标签: database-design normalization


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-05-21
      • 2018-02-07
      • 2016-03-21
      • 2017-08-06
      • 2014-12-23
      • 1970-01-01
      • 2016-11-18
      • 2018-01-02
      • 2017-10-14
      相关资源
      最近更新 更多