いいえ-制約はデータベースオブジェクトでもあるため、その名前は一意である必要があります。
たとえば、追加してみてください。制約に対するテーブル名。そうすれば、テーブルは一意になります。
CREATE TABLE BankAccount
(
BankAccountID INT PRIMARY KEY,
EmployerCode VARCHAR(20) NOT NULL,
Amount MONEY NOT NULL,
CONSTRAINT FK_BankAccount_Employer
FOREIGN KEY (EmployerCode) REFERENCES Employer
)
基本的に「FK_」(子テーブル)_(親テーブル)」を使用して制約に名前を付け、この命名規則に非常に満足しています。
MSDNからの情報
その制約名はスキーマに固有である必要があります(つまり、同じデータベース内の2つの異なるスキーマの両方に同じ名前の制約を含めることができます)は明示的に文書化されていません。むしろ、データベースオブジェクトの識別子は、他に指定されていない限り、含まれているスキーマ内で一意である必要があると想定する必要があります 。したがって、制約名は定義 です。 として:
これを
これにより、識別子の範囲が明示的に狭められます。