我正在徘徊将以下内容组织到关系数据库结构(特别是Oracle数据库)中的最佳方法。
我必须代表许多主持人;每个主机都是流(多播,输入有和没有源过滤)一个或多个流,其中包含未知数量的组件。
有许多类型的机器会根据某些特定的配置(必须存储)应用不同类型的修改,几乎所有类型的组合都是有效的。通常基于该信息,机器将采用一些组件,最终以某种方式改变它并重新调整它;其他人只会重新组织多个组播组件(因此他们有多个IP地址)。
我的用户可能正在寻找有关特定主机或组件的信息,但必须提供许多视图,这将在每个“关系方向”中导航数据。
我提出了许多想法,比如创建一个标准的“主机”表,它有2个字段,包含专门的表名和行(显然所有专用表都有很多不同之处)。但这与外键透视冲突(在表创建时只定义了一个父表);所以也许更好的想法是让专门的表指向带有外键的主机表,但是那个关系已经“反向导航”(可能,但我觉得这是一个黑客攻击)。
同样对于多播,我提出了两种选择,因为它是多对多关系,它将使用第三个连接表,但问题是要放入哪个表,以便在一个多播或机器IP更改时保持对齐。
我真的迷失了,因为我甚至找不到一些好的关键词来指出一些关于这样复杂的组织的例子或讨论。