以下の表を宣言すると、外部キーが一意の主キーを作成することを暗に意味するか、または両方の属性を主キーとして作成するためにさらに何かを行う必要がありますか?他のテーブルから外部キーです主キーとしての複数の外部キー
CREATE TABLE Report_has_Items
(
ReportID int REFERENCES Report(ReportID) NOT NULL,
ItemID int REFERENCES Item(ItemID) NOT NULL
)
基本的に両方の属性は、一緒に一意のキーを形成することになります。
制約の名前を付けるメリットは何ですか? – Kairan
@ Kairan - 主な利点の1つは、クエリ(挿入、更新、削除)が制約に違反すると、制約名を含むエラーメッセージが生成されることです。制約名が明確でわかりやすい場合は、エラーメッセージがわかりやすくなります。制約名がランダムの場合は、それほど明確ではありません。 – Gayu
私の主な理由は、環境全体の整合性です。私はサポートDBAです。その仕事の一部は、DEVからQAへの変更をPRODに移行することです。私はこれにスキーマ比較ツールを使用します。命名の相違が相違としてフラグが立てられないように、制約に同じ名前が付けられているといいですね。 –