ユーザーが次のリソース/コンテンツを作成できる Web アプリケーションを開発しています。
Events | Music | Posts | Classifieds
次のような多くの共通フィールドがあります。
created_date | title | desc | user_id
ここで、コンテンツごとに個別のテーブルを作成するか、テーブルtype_id
を指す外部キーを使用してすべてを 1 つのテーブルに保存するかを考えていcontent_type
ます。もちろん、特定のコンテンツ タイプでのみ使用される個別のフィールドがいくつかあります。これらのフィールドを使用しない場合は、空白のままにします。
コンテンツ タイプごとに個別のテーブルを使用すると、データはより整理されたように見えますが、すべてのテーブルでキーワードを検索するのは悪夢になりつつあります (結合、ユニオンなどを使用)。単一のテーブルであれば、検索は非常に簡単です。
ユーザーがキーワードですべてのコンテンツを検索できるようにする必要があります。彼は特定のコンテンツを検索することもできます。WHERE
そのために、フィールドで条項を作成しtype_id
ます。
各方法の長所/短所をすべて認識しているわけではありませんが、間違った決定を下さず、すべてを最初からやり直さなければならないので、アドバイスをいただければ幸いです。