2011-04-17 117 views
0

我有一张表,用于存储有关汽车图片的信息。简而言之,它包含字段'id','auto_id','名称'和'路径'。所以它通过'auto_id'字段与特定的汽车条目相关联。数据库设计 - 来自多个来源的独特数据

现在考虑我要添加图片的房子。最好是创建另一个类似于这个表的表,或者在现有表中添加一个字段来指出它的图片类型?或者有没有更好的方法来解决这类问题?

编辑:我的措辞道歉。这显然是一个简单的问题,我只是不知道如何最好地形成一个连贯的问题。感谢您的耐心和任何帮助。

回答

0

鉴于只有主题(汽车或房屋)是什么变化,也许在未来你将要增加的科目数量,我建议你把所有在一个单一的表,只是增加一个额外的场存储照片主题。

BTW:是什么idauto_id领域之间的区别? 如果没有,我建议摆脱 auto_id

+0

的“ID”字段仅仅是一个独特的图片的标识符。 'auto_id'字段是图片链接到的汽车的外键。 – MackDaddy 2011-04-17 05:27:59

+0

hmmm,但是如果'auto_id'是汽车表的外键,它会改变一些情况:在那种情况下,我会将该列移动到汽车表并将其更改为存储相片ID(因此是图片的外键表),所以它不会干扰图片表中的房屋记录。 – 2011-04-17 05:35:47

+0

但是这样你不会被限制为每辆车一张照片?我希望将它设置在可以根据需要设置许多与汽车或房屋相关联的照片的位置。 – MackDaddy 2011-04-17 05:46:38

1

我想你的图像表只是建模为:

id name path 

,并有一个连接表subjects表:

picture_id subject_id subject_type 

其中picture_id是FK图片,而subject_id是由subject_type(汽车,房屋等)认定的特定主题的FK

1

好了,现在给出的也是:

的“ID”字段只是对画面的唯一标识符。 'auto_id'字段是外键 为汽车图片是 链接到。

我想将它设置为 其中一个可以有多少照片 链接到汽车或房屋,因为一个会像 一样。

我建议的解决办法是:
data model

  • picture是你原来的图片表,只有auto_id现在subject_id
  • subject是你原来汽车的表,现在它会同时存储汽车和房屋的记录。添加一个新字段type_id作为主题类型表的外键。
  • subject_type是一个新表在这里您可以存储所有可能的科目(不限于汽车和房子而已,想着你的主题类型的未来扩展)。

(很抱歉,如果这个图表不能反映表/列的实数/名称/数据类型,它只是我不知道这些信息)