これは主に設計上の問題です。
タイプとサブタイプを含むチケット タイプ テーブルの関係を作成しようとしています。各サブタイプは、その親タイプに固有です。チケット テーブルに両方のフィールドを含めないようにしています。自然キーを使用してリンク テーブルを作成し、そのキーをチケット テーブルに配置することを考えています。そのキーは、タイプとサブタイプの適切な組み合わせを指します。
私の懸念は、これらの組み合わせを一意に保つことです。したがって、たとえば、誰かが (宿題を最初に行わずに) テーブルに飛び込んで、タイプ 5、サブタイプ 3 のような組み合わせを追加しようとし、その特定の組み合わせが既に存在する場合、dbms は主キーと同様にそれを許可すべきではありません。 .
ですから、自然キー、タイプ ID、およびサブタイプ ID を使用する主キーを作成するのは愚かなことではないかと思います (そう感じるからです)。自然キーによってすべてのエントリが一意になり、すべてのエントリが有効になるため、それは何の役にも立たないようです。
これを行うより良い方法はありますか?これらのリンク/組み合わせを制限しようとしない方が簡単でしょうか? 両方のフィールドをチケット テーブルに配置して吸い上げるべきですか?