Mysql 数据库设计-来自多个源的唯一数据
我有一张桌子,上面有关于汽车图片的信息。简而言之,它包含“id”、“auto_id”、“name”和“path”字段。因此,它通过“auto_id”字段链接到特定的汽车条目 现在我想把房子的照片加起来。创建另一个类似于此表的表,或者在现有表中添加一个字段来指出图片的类型,这样更好吗?还是有更好的方法来解决这类问题Mysql 数据库设计-来自多个源的唯一数据,mysql,sql,database,database-design,Mysql,Sql,Database,Database Design,我有一张桌子,上面有关于汽车图片的信息。简而言之,它包含“id”、“auto_id”、“name”和“path”字段。因此,它通过“auto_id”字段链接到特定的汽车条目 现在我想把房子的照片加起来。创建另一个类似于此表的表,或者在现有表中添加一个字段来指出图片的类型,这样更好吗?还是有更好的方法来解决这类问题 编辑:我为措辞道歉。这显然是一个简单的问题,我只是不知道如何最好地把它变成一个连贯的问题。感谢您的耐心和帮助。考虑到只有主题(汽车或房子)是变化的,并且将来您可能会希望增加主题的数量,
编辑:我为措辞道歉。这显然是一个简单的问题,我只是不知道如何最好地把它变成一个连贯的问题。感谢您的耐心和帮助。考虑到只有主题(汽车或房子)是变化的,并且将来您可能会希望增加主题的数量,我建议您将所有主题都放在一个表中,只需添加一个额外的字段来存储照片主题即可
顺便问一下:
id
和auto\u id
字段之间有什么区别?如果没有,我建议去掉auto_id
column我将您的图片表建模为:
id name path
并有一个联接表主题表:
picture_id subject_id subject_type
其中,picture\u id
是对图片的FK,而subject\u id
是对subject\u type
(汽车、房屋等)所认为的特定主题的FK,现在也给出:
“id”字段只是图片的唯一标识符。这个
“auto_id”字段是外键
对于汽车来说,这张照片很有趣
链接到
我想把它设置成
一个人可以有尽可能多的照片
与汽车或房屋相连
喜欢
我建议的解决方案是:
在哪里
picture
是原始图片表,只有auto\u id
现在是subject\u id
subject
是您的原始汽车表,现在它将存储汽车和房屋记录。将新字段type_id
作为外键添加到主题类型表中
subject\u type
是一个新表,您可以在其中存储所有可能的主题(不限于汽车和房屋,考虑到主题类型的未来扩展)
(很抱歉,如果此图表没有反映表/列的真实编号/名称/数据类型,那只是因为我不知道这些信息)id字段只是图片的唯一标识符。“auto_id”字段是图片链接到的汽车的外键。hmmm,但如果auto_id
是cars表的外键,则情况会有所改变:在这种情况下,我会将该列移动到cars表,并将其更改为存储photo id(因此是图片表的外键),所以它不会干扰图片表中的房屋记录。但这样的话,你们不会被限制为每辆车只能拍一张照片吗?我想把它设置成一个人可以有尽可能多的照片链接到汽车或房屋。好的,请更新问题,所有说的(其他缺失)限制,有一个完整的问题,我们将更容易找到一个合适的解决方案,比我的更准确。