本质上,我希望用户能够定义分层模型,但随后我需要允许用户在其定义的模型中存储数据。这有道理吗?因此,用户将能够创建新的“单元类型”,以分层方式进行组织,并决定如何组织这些类型的单元。一个简单的例子:在我假设的界面中,用户创建了三种单位类型:树干、树枝和树叶。然后用户定义它们之间的关系。叶子可以存在于层次结构中的任何点,分支必须有一个主干作为父级。然后,用户可以创建这些单元类型(作为单元)的实例,并可以根据模型中定义的规则组织它们......有没有在数据库中执行此操作的好方法?
这是一个非常广泛的问题,但这可能会为您指明正确的方向。请注意,您只能将关系规则存储在数据库中。强制执行它们将取决于您的客户端代码。试穿这个尺寸..
unit:
unit id,
name,
unit relationship:
unit id,
foreign unit id
然后,您可以按以下方式使用单位关系表。
unit id
与其所描述的单位相关。foreign unit id
应该可以为空。
A unit
没有关系的记录只能存在于层次结构的根部。 Aunit
with a null
foreign unit id
可以有任何其他unit
作为其父级。否则,一个unit
必须有另一个unit
作为其父级,并且其类型必须是其关系记录中定义的类型之一。
至于存储实例本身,这应该很简单。
instance:
instance id,
unit id,
parent instance_id
我确信您还需要其他字段(例如名称),但我假设您已经明白了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)