外部キーは、列を別のテーブルの一意のキーに結合することで機能します。その一意のキーは、主キーであれ、その他の一意のインデックスであれ、何らかの形式の一意のインデックスとして定義する必要があります。
現在、唯一の一意のインデックスは、ISBN, Title
の複合インデックスです。 これが主キーです。
BookTitleが保持しているものと、その中のデータの関係に応じて、さまざまなオプションが用意されています。
ISBNはBookTitleの各行で一意であると推測するのは危険です。これが当てはまると仮定して、主キーをISBNのみに変更し、BookCopyを変更して、タイトルの代わりにISBNを使用し、それに参加するようにします。
主キーをISBN, Title
として保持する必要がある場合 次に、ISBNをBookCopyとTitleに保存し、両方の列に外部キーを保存するか、BookTitle(Title)に個別のインデックスとして一意のインデックスを作成する必要があります。
より一般的には、REFERENCES
にある1つまたは複数の列を確認する必要があります 句は、親テーブル内の一意のインデックスと完全に一致します。この場合、Title
に一意のインデックスが1つもないため、失敗します。 一人で。