sql >> データベース >  >> RDS >> Mysql

識別と非識別の関係(再び!!!)

    あなたはオプション性とアイデンティティの間のつながりを考えすぎています。すべてがより自然に理解できるようになるまでは、それらを完全に無関係であると考えるのが最善です。 。

    オプション性については、オプション性が方向性を持っていることを覚えておくことが重要です。 employee_equipmentの例を使用するには :確かに、従業員は機器を必要としません。 employeeからの1対多の関係 employee_equipmentへ オプションです。同時に、反対の視点から見ると、関係は必須です。 employee_equipmentにレコードを含めることはできません employeeがいない限り 関連付ける。

    アイデンティティは、偶然を除いて、オプション性とは何の関係もありません。 子から親への識別関係は必須です。親から子への義務でもあるかどうかは、アイデンティティに関する限り、ここにもそこにもありません。

    関係を特定するのは、あなたが話している子供を知るために、あなたが話している親(および他のいくつかのこと)を知る必要があるということです。つまり、子の主キーには、親への外部キーが含まれている必要があります。

    純粋な交差テーブル(例:employee_equipment )はこの良い例です。純粋な交差の主キーは、両方の親テーブルへの外部キーの組み合わせです。これらの種類のテーブルに代理キーを追加する人もいることに注意してください。複数の候補キーがある場合、IDの観点からはそれほど重要ではありません。 IDを決定する上で重要なのは、外部キーが候補キーの一部であるかどうか、その候補キーがたまたま主キーであるかどうかです。

    もう1つの良い例は、データベースのメタデータカタログのようなものです。このカタログでは、テーブルが属するスキーマによって識別されるのと同じように、列が属するテーブルによって識別されます。列がNAMEと呼ばれることを知っている それがどの列であるかはわかりません。それがNAMEであることを知っている CUSTOMERの列 テーブルが役立ちます。 (また、どのスキーマCUSTOMERを知っている必要があります である、など)。



    1. 結果が存在しない場合でもMYSQLは0を表示します

    2. バージョン11のlocaldbの接続文字列は何ですか

    3. すべてのMySQLテーブルデータをhtmlテーブルに表示します

    4. 1つの値について複数の列をチェックする