ホームページ >データベース >mysql チュートリアル >複数のエンティティ タイプに対するコメント、いいね、タグのデータベースを効率的に設計するにはどうすればよいですか?
コメント、いいね、タグを実装するためのデータベース設計
データベース設計では、エンティティをいいねとしてマークし、それらにタグを付け、コメントの追加は、特にさまざまな種類のコメントを扱う場合に困難になることがあります。 entities.
アプローチ 1: エンティティごとに個別のテーブルを作成する
このアプローチでは、エンティティのタイプ (写真、記事、場所) とそれぞれのコメントごとに個別のテーブルを作成します。 、いいね、タグ関係。エンティティの数が限られている場合は簡単かもしれませんが、エンティティの数が増えると面倒で非効率になります。
アプローチ 2: 継承とベース テーブル
より拡張可能なソリューションは、継承とベース テーブルを利用することです。このアプローチでは、すべてのエンティティの共通特性 (ID、タイプ、作成日など) を表す「ベース」テーブルが作成されます。それぞれの特定のエンティティ タイプ (写真、記事、場所など) はベース テーブルから継承されます。
さらに、デザインにはコメント、いいね、タグのテーブルが含まれています。コメント テーブルとタグ テーブルはベース テーブルを参照しますが、いいね テーブルはユーザーとベース テーブルの両方を参照します。この設定により、基本構造を変更せずに新しいエンティティ タイプを作成できます。
最適化とカウント
デザインを最適化し、いいねやタグを効率的にカウントするには、次の手順を実行します。考慮すべき事項:
ER カテゴリと実装
エンティティ-このデザインで使用される関係カテゴリは「カテゴリー」として知られています。これは、ベース テーブルが「カテゴリ」であり、特定のエンティティ テーブルがその「サブカテゴリ」である階層を表します。この構造により、拡張性と継承が容易になります。
ER カテゴリの実装に関しては、厳密なパフォーマンス要件がない限り、通常は 3 番目のアプローチ (すべての具象型と抽象型に個別のテーブル) が推奨されます。
以上が複数のエンティティ タイプに対するコメント、いいね、タグのデータベースを効率的に設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。