User
のテーブルId, FirstName, LastName
を持つ表があるとします。複合キーを定義せずに重複した挿入を避けるための最短アプローチ
プライマリキーが自動Id
を生成している、それはそれらに基づく複合主キーを定義せずに、テーブルに同じ姓と名の組み合わせを挿入することはできませんことを確認する方法はあります2つの列。
EXISTS
サブクエリを使用する以外の方法がありますか。
User
のテーブルId, FirstName, LastName
を持つ表があるとします。複合キーを定義せずに重複した挿入を避けるための最短アプローチ
プライマリキーが自動Id
を生成している、それはそれらに基づく複合主キーを定義せずに、テーブルに同じ姓と名の組み合わせを挿入することはできませんことを確認する方法はあります2つの列。
EXISTS
サブクエリを使用する以外の方法がありますか。
IDを主キーとして残し、(firstname、lastname)にユニークなインデックスを作成します。
ああ私の先生、彼はそれをしたくありません。質問を正しく読んでください。 – Susang
この正解に追加するには、サロゲートキーを使用しているときに、常に自然キーに一意制約を設定する必要があります。 (インデックスの制約は、パフォーマンスの微調整よりもむしろビジネスルールを意味するため、インデックスへの制約が優先されます) – LoztInSpace
@Suraz、主キーと固有キーの違いはわかりません一般に。上記の制限は完全に任意です。 – Ronnis
UNIQUE制約の問題点は何ですか? – jarlh