0

PK = BookId と別の非キー - BookName を持つテーブルがあります。DB レベルで、ユーザーが同じ本をデータベースに再度追加しないようにすることはできますか? または、アプリケーションレベルで行う必要がありますか?

お知らせ下さい。

4

2 に答える 2

0

あなたが使用することができます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)
于 2012-06-12T22:37:53.343 に答える
0

バックグラウンドで同じように実装されていても、一意のインデックスよりも制約としてこれを追加することを好みます。制約は (重複を防ぐための) 意図を正しく暗示しますが、インデックスはパフォーマンス上の理由で作成されたことを多くの人に暗示します。

ALTER TABLE dbo.Books ADD CONSTRAINT UQ_BookName
  UNIQUE (BookName);
于 2012-06-12T23:55:19.127 に答える