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

テーブルのユニークな組み合わせ

    データの整合性を常に保証したい場合は、DBレベルで解決できます(解決する必要があります)。さまざまな方法があります。部分的 UNIQUE INDEX おそらく最も単純で最も効果的です。

    CREATE UNIQUE INDEX picture_homepage_uni ON picture (house_id) WHERE homepage;
    

    -> sqlfiddle

    また、付随的なメリットとしてホームページの写真を取得するためのクエリを高速化します。

    スキーマの変更

    別のアプローチは、列homepage_idを追加することです。 テーブルhouse 、選択した画像を指します。自動的に1枚の画像しか選択できません。 picture.homepageは必要ありません もう。両方向の外部キー制約のため、参照整合性は少し注意が必要かもしれませんが、私にはそのような実用的なソリューションがあります。




    1. Oracleで日付をフォーマットする方法

    2. パスワードにシークレットを使用している場合、Kubernetesのmysqlポッドに接続できません(アクセスが拒否されました)

    3. データベースのタイムゾーンの問題

    4. Plpgsql:宣言セクションで変数に値を割り当てるにはどうすればよいですか?