【发布时间】:2012-10-05 14:21:10
【问题描述】:
我正在设计一个包含照片的数据库。
一张照片可以没有或有多个与之关联的标签。
目前,我将所有标签词/关键字放在一个列中,每个图像记录用空格分隔。
现在我知道这不是一个好的设计,因为可能有一个包含空标签词/关键字列的图像记录,并且带回所有包含单词的照片也会降低效率,例如'马'。
所以我的问题是,将关键字放在自己的表中并为每个关键字创建一条记录会更好吗?
表可以有列 ID(INT PK)、imageId(INT KEY)、keyword(VARCHAR)。
我看到的唯一问题是每张图片都有数百个重复的关键字?
有人在工作中简短地提到了一些关于查找表来解决这个问题,但他们没有解释它到底是什么。
【问题讨论】:
标签: php mysql database database-design foreign-keys