私は自分のアドレス帳を保持するデータベースを作成しようとしていますが、私はわずかな問題に遭遇しました。 私のデータベースは、個人の連絡先と会社の連絡先を保持することになっています。それは、個人または会社のどちらにも登録することができます。知っているように、個人と企業の両方に住所があり、私は個人と住所だけでなく企業と住所との一対一の関係を欲しています。1対多テーブルを共有する方法
だから、個人が多くのアドレス や会社を持つことができますが、私はここに最善のアプローチが何であるかわからないスキーマを設計しようとすると問題がある多くのアドレス
を持っていることができます。私はアドレステーブルに2つの外部キーを置くべきでしょうか?individual_Idとcompany_Idのどちらか1つですか、個人ごとにリンクテーブルを作成して、企業との関係に対処する必要があります。
外部キーは簡単に聞こえるが、正しいアプローチであるかどうかわからない。リンクは適切なアプローチのように思えるが、多対多の関係によく使用されるので、これが過度であるかどうかわからない。
思考?
+1の "type"フィールド。まさに私が書こうとしていたものです。 – bernie