さまざまなタイプのエンティティのコメント、いいね、タグを効率的に管理するデータベース システムの設計には課題が伴います。この記事では、将来の拡張に対応しながら弾力性と効率性を確保する包括的なソリューションを紹介します。
提案されたソリューションは、エンティティ関係 (ER) における「カテゴリ」の概念を中心に展開します。モデリング。カテゴリは、他のすべてのタイプ (特定のエンティティ) が継承する基本タイプを表します。このアプローチは大幅な拡張性を提供し、システムに新しいエンティティ タイプをシームレスに組み込むことができます。
カテゴリベースのモデルには、基盤として機能するベース テーブル「エンティティ」の作成が含まれます。すべてのエンティティ タイプに対して。 「写真」、「記事」、「場所」などの各エンティティ タイプは、「エンティティ」テーブルを継承する別のテーブルとして定義されます。
さらに、他の 3 つのテーブルが必要です。
へのクエリ気に入ったエンティティのフェッチは、「エンティティ」テーブルと「いいね」テーブル間の結合を使用して効率的に実行できます。同様に、コメントとタグは、それぞれのテーブルへの結合を使用して取得できます。
タグのいいね数や使用数のカウントには、単純な集計関数が含まれます。たとえば、写真の「いいね!」をカウントするには、以下を使用できます。
SELECT COUNT(*) FROM Like WHERE entityId = <photoId> AND entityType = 'Photo';
カテゴリベースのモデルには、いくつかの利点があります。
以上がカテゴリベースのデータベース モデルは、さまざまなエンティティ タイプのコメント、いいね、タグをどのように効率的に管理できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。