2017-08-15 9 views
0

私はは、彼らが読んブックのいずれかに評価を追加し、また、彼らが読みたいどんな本に状態を追加することができユーザーがログインしてプロジェクトを設計しています/ read /はとなります。 私はテーブルを作成しました:Book、User、Rating、Status、これらの情報をすべて1つのテーブルに(そして可能なら)接続する方法がわかりません。MySQLデータベースのスキーマ設計との関係

は今、私は私がに外部キーを格納しuser_booksテーブルはrating_idbook_idUSER_IDをSTATUS_IDているが、私はそれがこれを行うには正しい方法であるかどうかわからないんだけど。私は私のSpringBootアプリケーションで作成したい

関係:

  • ユーザーブック多対多
  • ブック-評価ManyToOne
  • ブックステータスManyToOne

enter image description here

+0

こんにちはタイラー、私はあなたのスキーマは問題ないと思います。私が考えているのは、ユーザーの評価とユーザーのステータスを異なるテーブルのテーブルuser_books_tableから分離することだけです。 – Ben

+0

テーブルf.eを作成することをお勧めします。 User_book_detailsとuser_ratingおよびuser_statusがありますが、そのテーブルとどのテーブルをどのように接続しますか?ユーザーまたはUser_Book? –

+0

私はそのスキーマをすべて作成しましたが、ユーザーと本が同じテーブルになければならないにもかかわらず、評価やステータスがどちらであっても、両方のユーザーが何らかの方法で接続してUser-> >レート/ステータスの変更 - >をクリックします。 –

答えて

0

あなたは多対多の関係を作成するに見えます。論理的には多対多の関係が存在しますが、物理モデルに関しては、マッピングテーブルを作成しています。マッピングテーブルのIDに基づいて、これらを取得することができます 1) "その"本を読んだユーザーの数。 2)書籍の最高評価。 3)ユーザーの年齢層の書籍に基づく評価(ユーザー表の年齢がある場合)

関連する問題