【发布时间】:2010-03-15 22:01:03
【问题描述】:
我有一些财务数据要存储和操作。假设我有 2 个部门,在 2 个城市设有办事处,使用 2 种货币和 4 个银行账户。 (实际上比这更复杂。)我想显示一个这样的列表:
Electronics
Chicago
Dollars
Account 2 -> transactions in acct2 in $ in chicago/electronics
Euros
Account 1 -> transactions in acct1 in E in chicago/electronics
Account 3 -> etc.
Account 4
Brussles
Dollars
Account 1
Euros
Account 3
Account 4
Dessert Toppings
Chicago
Dollars
Account 1
Account 4
Euros
Account 2
Account 4
Brussles
Dollars
Account 2
Euros
Account 3
Account 4
因此,在除顶部之外的每个级别,该类别都可以出现在多个位置。我一直在readingaround 讨论各种方法,但这些示例似乎都没有解决我的特定用例,其中节点可以出现在层次结构中的多个位置。 (也许这个名称不同于“树”或“层次结构”。)
我想我的层次结构实际上类似于部门 > 城市 > 货币,其中“电子”和“欧元”只是每个级别的实例,但我不太确定这有什么帮助或伤害。
一些注意事项:这是一个演示站点,所以数据集不会很大——易于设置和维护比查询效率更重要。 (我实际上正在考虑仅手动构建一个数据对象,尽管我更愿意以正确的方式。)另外,FWIW,我们正在使用 php 并具有 ms 访问权限-最后,因此在该环境中使这变得容易的任何库都会有所帮助。 (我已经找到了嵌套集合模式的几个实现。)
【问题讨论】:
标签: sql database-design data-structures tree