我正在开发一个Web应用程序,用户可以在其中创建以下资源/内容:
Events | Music | Posts | Classifieds
他们有很多共同的领域,例如:
created_date | title | desc | user_id
现在我想知道是否应该为每个内容创建单独的表,或者将它们全部保存在一个表中,并使用type_id
外键,该外键指向content_type
表。当然,一些不同的字段将仅存在于特定内容类型中,对于那些不使用这些字段的字段,我可以将其留空。
数据看起来更有条理,每个内容类型都有单独的表,但在所有表中搜索关键字正在变成一场噩梦(包括联接,联合等)。如果它只是一个表,搜索将非常容易。
我需要用户能够使用关键字搜索所有内容。他也可以搜索特定内容,因为我会在WHERE
字段上执行type_id
条款。
我不知道每种方法的所有优点/缺点,但如果人们可以建议我这样做,我就不会做出错误的决定,并且必须从头开始重做所有内容,我将不胜感激。
答案 0 :(得分:0)
除非他们确实拥有相同的数据,否则我会使用单独的表格。有一个表只有特定内容类型使用的某些字段,实际上并不是很好的数据库设计。
如果您真的想要一个包含基本数据的表,您可以按照建议使用content_type和公共字段创建一个表,然后为每个类型和其他不同字段创建4个单独的表,然后执行内部选择该类型的字段时加入。但我个人认为你最好只创建4个表。
答案 1 :(得分:0)