私は質問の文言がちょっと難しいと思うので、わかりやすくするつもりです。データベース管理システム、複数のレコードを複数のレコードにする方法
私は練習のテーブル、練習のテーブル、およびユーザーのテーブルを持っています。
練習問題のID、名前、セット、繰り返し、および体重があります。
ワークアウトにはID、名前、難易度、継続時間、休憩時間があります。
ユーザーにはログインと無関係なものがたくさんあります。
現時点では、異なるIDを持つSAMEエクササイズが多数あり、エクササイズIDにつながる外部キーがあります。だから私のテーブルは非常に乱雑に見えます。たとえば、「ベンチプレス」という3つの演習がありますが、異なるワークアウトにリンクされているIDは異なります。同じことがワークアウトに、同じものが多く、ちょうど異なるIDになります。
私の質問は、複数のレコード(演習)が異なるテーブル(ワークアウト)の複数のレコードに属することができるテーブルを作成するにはどうすればいいですか?また、複数の演習を同時に複数のワークアウトで同じエクササイズが複数のワークアウトに表示される可能性があります。
接合テーブルを使用します。アイデアは、関係が独自のエンティティであるようにデータベースをモデル化することです。この方法では、エンティティを複製するのではなく、同じエンティティのペアを指すより多くの関係を追加するだけです。 – CollinD
各テーブルをそれ自身のオブジェクトと考えてください。運動、運動、およびユーザーオブジェクトがあります。それぞれのテーブルでは、異なる属性を保持するためにそれぞれ異なる必要がありますが、互いの関係は存在してはいけません。関係は、別々に、彼ら自身のオブジェクトです。したがって、ExerciseWorkoutテーブルとWorkoutUserテーブルは、IDを格納できます。 'ExerciseID |例えばWorkoutID 'である。関係自体は、属性を持っています。よく 'validFrom | validTo'や 'lastChangedBy'など – JNevill