私の記憶が正しければ、これらのルールは複合外部キーに関するものです。たとえば、次のように定義されたアドレス テーブルを考えてみましょう。
deliveryaddressid - order - orderline - street - ...
(order,orderline) は orderline テーブルへの外部キーです。マッチング ルールは、外部キーの一部が NULL の場合の結合の動作を決定します。たとえば、次のような行です。
32 - null - 1123 - 'Main Street 1' - ...
部分的な外部キーに関する記事を次に示します(PDF ダウンロード、6 ページ)。関連する部分は次のようです。
ANSI SQL 92 許可および Oracle などのデータベースは、次のような複合外部キーの代替一致規則をサポートしています。
• Match Full – 部分的に null の外部キーは許可されません。外部キーのすべてのコンポーネントが NULL であるか、外部キーに含まれる値の組み合わせが、参照されるテーブルの単一行の主キーまたは一意のキー値として表示される必要があります。[デフォルト]
• Match Partial
– 部分的に null の複合外部キーが許可されます。外部キーのすべてのコンポーネントが null である必要があるか、外部キーに含まれる null 以外の値の組み合わせが、参照されるテーブルの単一行の主キーまたは一意のキー値の対応する部分に表示される必要があります。
• マッチなし– 部分的にヌルの複合外部キーが許可されます。複合外部キーのいずれかの列が null の場合、キーの null 以外の部分は、親キーの対応する部分と一致する必要はありません。