SQLデータベース設計に精通している誰かが私を助けてくれることを望んでいるという概念的な質問があります。他のいくつかのテーブルの1つに、各行に対応する行があるテーブルがあります。つまり。テーブル1の行には、テーブル2、テーブル3、またはテーブル4のいずれかに対応する行があります(ただし、1つを超えてはいけません...対応する行は他のテーブルの1つにのみ存在できます)。
この構造を設定するための最良の方法は何ですか。othertable_id列とtablename列をテーブル1に配置すると、他のテーブルに対応する行が1つしかないことを保証できますが、これは非常に柔軟性のない厄介なソリューションのようです。一方、table2、table3、table4にtable1_id列だけを配置すると、table1の行に対応する行を見つけるたびに、3つの異なるクエリを実行する必要があるように見えます。 table1の行の3つのテーブルのいずれかに1つのエントリしかないことを保証できません。
誰か提案はありますか?