代码之家  ›  专栏  ›  技术社区  ›  John

关于数据规范化的思考

  •  0
  • John  · 技术社区  · 14 年前

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

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

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

    有什么建议吗?

    顺便说一句,我使用的是MS-SQL服务器,但是这个概念应该适用于任何数据库。

    谢谢, 约翰


    更多细节

    我正在为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。

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

    1 回复  |  直到 13 年前
        1
  •  0
  •   Sjoerd    14 年前

    我不确定我是否理解你的问题,但你似乎想 store a tree structure in a relational database . 你可以用 起源 (或) 小孩 )列,指示当前记录在树中的位置。