2 つの子テーブルを持つテーブルがあります。親テーブルのレコードごとに、子テーブルの 1 つに 1 つのレコードだけが必要です。それを定義するにはどうすればよいですか?
これが裏話です。この実装を批判するのは自由ですが、私が遭遇したのはこれだけではないので、上記の質問に答えてください:
ユーザー調査に関するデータを保持するデータベースがあります。元々、調査を開始するための 1 つの認証方法で設計されていました。それ以来、要件が変更され、現在、誰かがサインオンして調査を開始する方法は 2 つあります。
もともと、調査テーブルの列に認証トークンをキャプチャしました。要件が変更されたため、認証で取得したいデータが他に 3 つあります。したがって、調査テーブルの各レコードに対して、トークンを 1 つ、または 3 つのセットにすることになります。これらの 4 つすべてが異なるタイプであるため、私の考えでは、1 つが null になる、または 3 つが null になる 4 つの列 (またはさらに悪いことに、これらのシナリオのいずれかの悪いマッシュアップ) の代わりに、 1 つの認証トークンを保持するための 1 つと、3 つを保持するための 2 つの子テーブルがあります。問題は、DDL でそれを定義する方法がわかりません。
私は MySQL を使用しているので、これを可能にする機能が MySQL に実装されていない可能性があります。