V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hwding
V2EX  ›  问与答

如何使用数据库表示类似于文件系统的层次结构?

  •  
  •   hwding · 2017-10-17 17:44:59 +08:00 · 936 次点击
    这是一个创建于 2382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就相当于是一个文件夹里可以在新建一个文件夹,文件夹里也能存文件这种。
    如何表示文件夹与文件的位置以及他们的从属关系呢?

    感觉就是目录树这样的吧(随便举一个例子):

    src/com/deleted/mailing/
    ├── ConfigurationManager.java
    ├── Main.java
    ├── server
    │   ├── MailingRequestHandler.java
    │   ├── MailingRequestServer.java
    │   └── util
    │       ├── MailBodyUtil.java
    │       └── RequestBodyUtil.java
    └── service
        ├── delivery
        │   ├── DeliverCore.java
        │   └── DeliverJob.java
        ├── MailingTaskManager.java
        ├── remote
        │   ├── DataSourceCore.java
        │   └── RemoteContentUtil.java
        └── util
            ├── MailBodyUtil.java
            ├── MassiveMailingTaskDetail.java
            ├── PageDetail.java
            ├── ScheduleManager.java
            └── SingleMailingTaskDetail.java
    
    
    1 条回复    2017-10-17 18:10:01 +08:00
    aphorism
        1
    aphorism  
       2017-10-17 18:10:01 +08:00   ❤️ 2
    有一本书完全满足你——《 Joe Celko's Trees and Hierarchies in SQL for Smarties 》

    基本上把所有能够使用到的方法都总结了一遍,这个问题在关系数据库领域是一个非常有趣的题目,在不同的应用领域通常用不同的解决方案,特别的需求就需要一些特别的设计。

    VLDB 这几年还有几篇 SAP 的人把他们在 HANA 上做了一些尝试发了论文(如果这些树型层次结构高度动态化,那么应当怎么样在关系数据库中设计特定的模型与操作算法来达到要求),见:

    www.vldb.org/pvldb/vol8/p986-finis.pdf
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3246 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 12:45 · PVG 20:45 · LAX 05:45 · JFK 08:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.