詳細テーブルには、主従関係にID列が含まれていますか?
-
19-09-2019 - |
質問
主従関係では、ディテール・テーブルには、ID列が含まれていますか?
あるいは、それをすべきか?
Northwindデータベースで、OrderDetailは、ID列を持っていない。
解決
一意に単一の行を特定する:。それはそれは主な仕事だのです - あなたはそれはあなたが取得できるようにしたい何かが常にプライマリキーを含める必要があります含まれてい
任意のデータテーブル
詳細はマスター行に属しているという理由だけで、彼らがいない完全なデータ行自体をしているという意味ではありません - 。彼らは何らかの方法で特定可能である必要があります。
そうです - 私は、主キー(「ID」)のいくつかのフォームを持っているすべてのディテール表をお勧めします。それは何とかマスター-IDに接続したかどうかにかかわらず、あなたはケースバイケースで決めるかもしれません何かである - が、独立して何とか各詳細行を識別するための方法であることがありました。
。 あなたはMのリンクテーブルがある場合は、:Nの関係を、一般的に、あなただけそこにある(表1、表2のための)2つの外部キー列を持っていると思います。これら二つのFKの組み合わせがユニークであるので、それは、一般的には十分です。
あなたはそれ自体の関係を記述した情報の追加部分を追加する必要がある場合は、などのテーブルに個別のIDを追加するための唯一の理由は次のようになります。しかし、その後も、限り(KEY1、KEY2)の組み合わせがユニークであるとして、それは十分に一般的に良いことだ。
所属していません StackOverflow