我对数据库有以下要求。它需要能够存储物品。项目有一个 id、标识符和标题。每个项目可以有零个或多个小部件和零个或多个 dodad。每个小部件和每个 dodad 都有一个标题和一个类型。Dodads 也有一个默认值。还需要保存小部件和 doda 的顺序。
我有以下表格可以做到这一点:
items widgets dodads
----- ------- ------
id id id
ident itemId itemId
title title title
type type
order order
default
所以现在我希望能够拥有继承权。这很容易,将 parentId 添加到 items 表中。现在的问题是小部件和 dodad 表中的订单列。
继承的排序应该起作用,即父项的项目必须与父项的顺序相同,但子项的项目可以是interwhoven。这应该是可行的:
P1
P2
C1
C2
P3
P4
C3
所以问题是如何存储小部件和 dodads 的整体顺序?我想我需要另一张桌子,但不确定最好的方法。如果表结构可以处理多个父母,那就太好了。