PK = BookId と別の非キー - BookName を持つテーブルがあります。DB レベルで、ユーザーが同じ本をデータベースに再度追加しないようにすることはできますか? または、アプリケーションレベルで行う必要がありますか?
お知らせ下さい。
PK = BookId と別の非キー - BookName を持つテーブルがあります。DB レベルで、ユーザーが同じ本をデータベースに再度追加しないようにすることはできますか? または、アプリケーションレベルで行う必要がありますか?
お知らせ下さい。
あなたが使用することができますUnique Index
CREATE UNIQUE NONCLUSTERED INDEX <idx_name> ON <table_name> (column1, column2)
テーブルがBooksと呼ばれると仮定すると、次を使用できます
CREATE UNIQUE NONCLUSTERED INDEX IDX_IdAndName_Unique ON [dbo].[Books] (BookId, BookName)
バックグラウンドで同じように実装されていても、一意のインデックスよりも制約としてこれを追加することを好みます。制約は (重複を防ぐための) 意図を正しく暗示しますが、インデックスはパフォーマンス上の理由で作成されたことを多くの人に暗示します。
ALTER TABLE dbo.Books ADD CONSTRAINT UQ_BookName
UNIQUE (BookName);