【发布时间】:2009-02-18 17:52:53
【问题描述】:
假设您有这些表:RestaurantChains、Restaurants、MenuItems - 它们之间有明显的关系。现在,您有表Comments 和Ratings,它们存储客户对连锁店、餐馆和菜单项的cmets/评级。链接这些表的最佳方式是什么?显而易见的解决方案可能是:
- 在表
Comments和Ratings中使用列OwnerType和OwnerID,但现在我无法添加外键来链接 cmets/ratings 与它们所针对的对象 - 为每个表分别创建
Comments和Ratings表,例如MenuItemRatings、MenuItemComments等。这种解决方案的优点是所有正确的外键都存在,但明显的缺点是有很多结构基本相同的表。
那么,哪种解决方案效果更好?还是有更好的我不知道的解决方案?
【问题讨论】:
标签: sql database database-design