sql >> データベース >  >> RDS >> Mysql

データベースへのコメントやいいねの実装

    最も拡張可能な解決策は、1つの「ベース」テーブル(「いいね」、タグ、コメントに接続)を持ち、そこから他のすべてのテーブルを「継承」することです。新しい種類のエンティティを追加するには、新しい「継承された」テーブルを追加するだけです。その後、like / tag/comment機構全体に自動的にプラグインされます。

    このための実体関連用語は「カテゴリ」です(ERwinメソッドガイド> 、セクション:「サブタイプの関係」)。カテゴリ記号は次のとおりです。

    ユーザーが複数のエンティティを高く評価できると仮定すると、同じタグを複数のエンティティに使用できますが、コメントはエンティティ固有であるため、モデルは次のようになります。

    ところで、「ERカテゴリ」を実装するには、おおよそ3つの方法があります。

    • 1つのテーブルにすべてのタイプ。
    • 個別のテーブルにあるすべての具象タイプ。
    • 個別のテーブル内のすべての具象型と抽象型。

    非常に厳しいパフォーマンス要件がない限り、3番目のアプローチがおそらく最善です(つまり、物理テーブルは上の図のエンティティと1:1で一致します)。



    1. データ変更CTEのINSERTステートメントとCASE式の組み合わせ

    2. SQL文字列の比較、大なり小なり演算子

    3. PostGISの動作

    4. SQLでのテーブルのピボット(クロス集計/クロス集計)