1つのエンティティのみが目的の位置に収まるように、データベースに制約を設定するにはどうすればよいですか?
たとえば、Countryデータベースの社長が必要です。「is-president」属性を定義して、1つのエントリのみが「true」値を持つことができるようにするにはどうすればよいですか。
テーブルにデータを挿入するときにそれを行うことができます。社長を追加する場合は、まず社長がいるかどうかを確認してください。
これを別の方法でモデル化することをお勧めします。たとえば、Countries
テーブル、People
テーブル、そしてテーブルPresidents
へのCountries
外部キーとテーブルへの外部キーを持つPeople
テーブルがあります。
次に、両方の外部キーの複合値に一意の制約を追加して、Presidents
テーブル内の国ごとに1人だけが存在するようにすることができます。