それで、私はここでスタックオーバーフローに関する多くの回答を読みましたが、その概念全体についてはまだ混乱しています。具体的には、この記事 (参照されているすべての記事を含む) を読みましたが、概念をしっかりと把握していないようです (または、カーディナリティ (n:m など) と ID を混同している可能性があります)。 ):
私の問題は次のとおりです。識別関係は、子エンティティの主キーにその外部キーを含める必要があることを意味し、非識別関係にはその逆が当てはまることを知っています (これは正しいですか?)。さて、これは私には少し「前向き」すぎるように思えますか? リンクの1つのコメントの1つでも同じことが言われました。どうすれば「一歩下がって」、どの関係がどのアイデンティティーのものであるかを実際に確認できますか?
たとえば、次の 2 つのジレンマがあります。
job_title
(親、1) からemployee
(子、1..*)。job_title はルックアップ テーブルであるため、非識別関係である必要があると考えるのは正しいですか? それとも、「従業員は job_title なしでは存在できないため、識別しなければならない」と言う方が正確でしょうか? それとも、そのシナリオを定義する関係でしょうか?employee
toemployee_equipment
(m:n カーディナリティ間のブリッジ エンティティ) toequipment
. さて、これは employee_equipment の両側で識別関係でなければならないことを読みました。しかし、従業員が機器を必要としない場合はどうなるでしょうか? オプションの識別関係を持つことはできますか?
主キー/外部キー、またはその問題について本当に技術的なことを考えずに、どの ID テーブルが属すべきかを特定する方法を本当に探していると思います。
どんな助けでも大歓迎です!