リレーショナル データベースのセットアップは初めてです。
MySQL で、USER テーブルと COMPANY テーブルの 2 つのテーブルを作成しようとしています。どちらも複数の電話番号を関連付けることができるはずなので、PHONE テーブルを作成し、COMPANY から PHONE と USER から PHONE の両方に 1 対多の関係を持たせたいと考えました。
私がやろうとしていることには2つのオプションしかないようです:
PHONE に 2 つの外部キーを保持します。1 つは COMPANY を参照し、もう 1 つは USER を参照します。どちらもデフォルトで NULL になり、PHONE で新しい行を作成するときに、必要なものだけを入力します。
USER_PHONE と COMPANY_PHONE という 2 つの異なるテーブルがあります。
どちらのオプションも私には最適ではないようです。オプション 1 はハックで、冗長性の問題が発生しやすいようです。オプション 2 は、かなり反復的で不必要に思えます。私は、オプション 2 が「公式」の方法であると考える傾向があります (これが、MySQL について否定的なことを耳にする理由ではないかと考え始めています)。
誰?ありがとう、
-マット