我有一个很基本的问题,让我困惑一些奇怪的原因。一对多vs多对多的关联设计和好处
我有两个表,一个是表页,另一个是菜单。我想知道,使用另一张表进行映射有什么好处?下面是两个实现,我想:
我看到的唯一区别是,我的搜索方式。 例如在第一个实现中:
a)如果我想要一个特定菜单的所有页面,我将查询特定菜单名称的所有page_id,然后我将它们与表格的页面ID (这就是为什么我认为这个实现更慢)。
b)如果我想要一个特定页面的所有菜单,我将搜索所有具有特定页面的page_id的菜单。
在第二个实现是更典型和直接(并与更多的连接)。我认为第二个实现是正确的,因为它更快(我猜,因为它只查询id之间的索引,而不是在菜单名称中搜索,如我在上面a)中所述)。
或者是否还有其他特殊原因?这两种设计在他们所能完成的事情上是相同的,还是在第一种设计中有其他限制,我总是应该选择第二种设计?
在你的第一个实现中,一个菜单只能属于一个页面,所以它不是多对多的 – Andomar