gpt4 book ai didi

sql - 所有者 ID 类型数据库字段

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:15 30 4
gpt4 key购买 nike

假设您有这些表:RestaurantChainsRestaurantsMenuItems - 它们之间存在明显的关系。现在,您有表 CommentsRatings,它们存储客户对链式店、餐馆和菜单项的评论/评级。链接这些表的最佳方式是什么?显而易见的解决方案可能是:

  • 在表 CommentsRatings 中使用列 OwnerTypeOwnerID,但现在我无法添加将评论/评级与其所针对的对象链接起来的外键
  • 为每个表创建单独的CommentsRatings 表,例如MenuItemRatingsMenuItemComments 等。此解决方案的优点是所有正确的外键都存在,但明显的缺点是有很多结构基本相同的表。

那么,哪种解决方案效果更好?还是有我不知道的更好的解决方案?

最佳答案

由于关于菜单项的评论与关于餐厅的评论不同(即使它们恰好共享相同的结构),我会将它们放在单独的表中,并使用适当的 FK 来确保数据库中的某些数据完整性。

我不知道为什么会厌恶数据库中有更多的表。除非您要从 50 个表增加到 50,000 个表,否则您不会因为大型目录表而遇到性能问题(在这种情况下,拥有更多、更小的表实际上应该会给您带来更好的性能)。我也倾向于认为在处理名为“Menu_Item_Comments”和“Restaurant_Comments”的表时比处理名为“Comments”的表并且不知道其中到底是什么更清楚它的名字。

关于sql - 所有者 ID 类型数据库字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/562148/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com