【问题标题】:Data model for storing categories (multiple parent nodes)存储类别的数据模型(多个父节点)
【发布时间】:2009-11-17 13:57:52
【问题描述】:

我有以下类别结构:

  - Transport (10)
    - Cars (5)
      - Audi (2)
      - BMW (3)
      - ...
      - Spare Parts (5)
        - Audi (5)
          - Audi glass (1)
          - Carburetors (4)
          - Mirrors
          - ...          

    - Buses

    - Spare Parts (5)
      - Audi (5)
        - Audi glass (1)
        - Carburetors (4)
        - Mirrors
        - ...
      - BMW
        - Audi glass
        - Carburetors
        - Mirrors
        - ...
      - ...

存储这种数据结构的最佳方式是什么?我试过树,但它是一个很大的重复,计数器不能正常工作。

我需要一种将这种结构存储在数据库中的方法。将项目放置在每个类别下。并有工作物品柜台。

【问题讨论】:

    标签: ruby database data-structures tree data-modeling


    【解决方案1】:

    如果您确定节点的深度,那么一组相关表就可以正常工作。但是,如果节点需要能够处理任意数量的深度数据,那么您可能需要调整一个更集中于与自身相关的表的设计。查看here 了解更多说明。

    【讨论】:

      【解决方案2】:

      我愿意

      table TransportType (TTType(PK), Description)
      table Model (MType(PK), Description)
      table SparePart (SPNum(PK), Description)
      table SparePartAssignment (AKey(PK), TTType(FK), MType(FK), SPNum(FK))
      

      希望对你有帮助

      祝你好运迈克D

      【讨论】:

        【解决方案3】:

        您可以在 SQL 中执行此操作,事实上,在不直接支持递归查询的数据库服务器中执行此操作。看看here。 嵌套集模型优雅且易于在任何 RDBMS 中实现。

        【讨论】:

          猜你喜欢
          • 2011-04-04
          • 1970-01-01
          • 2017-05-19
          • 2013-07-23
          • 1970-01-01
          • 2018-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多