【问题标题】:sql table structure - building data objects by traversing tree backwardssql表结构-通过向后遍历树来构建数据对象
【发布时间】:2012-01-07 03:07:17
【问题描述】:

我是 SQL 的新手。我需要建立一个数据库来保存以下树中的数据:

                      tree
                    ========
                    stringA
                   /   |   \
             groupA groupB groupC
               |       |       | \
           groupW   groupX groupY groupZ


我有大约 20,000 个不同的 'stringA' 值。每个将被组织成 1 个或多个子组,每个子组将被组织成 1 个或多个父组。当我的程序启动时,我需要列出所有父组。如果用户选择其中一个组,我需要列出作为该父级的所有子组的所有子组。如果用户选择了子组,那么我需要列出子组中包含的所有叶节点。

每个“stringA”具有的子组的数量各不相同,每个子组的父父组的数量也是如此。

谁能提供有关如何将这些数据组织到表格中的建议?就像我说的,我完全是 SQL 的菜鸟,所以非常感谢任何帮助!

谢谢!

晴天

【问题讨论】:

    标签: sql database-design


    【解决方案1】:

    我建议使用 Closure Tables '模式'。这应该符合您的要求。

    只需在谷歌上搜索名称或(更好)去购买/窃取SQL Antipatterns 的书。它有一章是关于创建树状结构的,其中一个解释的方法是闭包表。它将解释如何/为什么使用它们以及有哪些替代方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      相关资源
      最近更新 更多