我一直在浏览这里的答案以及有关数据库结构的书籍,但我怀疑找不到答案的原因是缺乏合适的术语。
我正在我的数据库中创建一个名为 Genres 的表。它有一个 ID 以及与另一个表的关系:图书。但是,我想与自己建立另一种关系,其中某些流派是孩子 / 父母,用于其他流派。有没有办法标记双向关系,以便它有一个"方向"?即所以我知道哪一对是父(=包含),哪个是孩子(=包括在内)?让我们假设任何给定的类型都可以是父和孩子。
如何用适当的术语描述这种关系?
答案 0 :(得分:3)
如果我理解,你有两张桌子:
流派
图书
最大的父级将使parent_genre_id等于null。
答案 1 :(得分:1)
一种方式(不一定是最佳的)就是只有一个GenreSelfRelationship列(或任何你想要的名字),0表示既不是父也不是孩子,1表示子(仅),2表示父(仅),3表示父母和孩子。当然,可能有更好的方法。