gpt4 book ai didi

sql - 为多个表创建公共(public)相关表是一种好方法吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:25:10 24 4
gpt4 key购买 nike

我正在为我的一些网络应用程序规划数据库。我发现关于几个表的公用表令人困惑的一件事,例如:
userstravelsgroups 的每一行都需要几张图片。因此,我创建了一个表 images,每个表都带有外键,如果某个新表需要多个图像,我将创建从 image 到该表的新链接。< br/>或者,更好的方法是为每个表创建独特的表,如 users_imagesgroups_images 等?
抱歉,如果我的问题看起来太宽泛,我只是一个 ORM 人,他正在寻找规划良好数据库方案的最佳实践。

最佳答案

你应该使用类似的东西

现有表

  • 用户(ID,姓名,...)
  • 旅行(ID,描述,...)
  • 组(ID,姓名,....)

现在您创建一个表 IMAGE(ID,Image_Blob, ...)

和映射表一样

  • 用户图像(用户ID,图像ID)
  • TravelImage(TravelID,ImageID)
  • GroupImage(GroupID,ImageID)

具有外键约束和索引的所有列。

优点:

  • 您可以将一张图片映射到多个实体
  • 您可以添加特定的元信息(谁链接了这个,什么时候链接,评论,......)

也许您得到的建议是使用带有附加 LinkingTo 列的通用映射表,您可以在其中放置源表的名称。但是这样做,您将不得不使用外键约束。

这是一个几乎通用的规则:好的数据库有许多表:-)

关于sql - 为多个表创建公共(public)相关表是一种好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393733/

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