データベース設計について学び始めました。私の最初のプロジェクトでは、私はpadrinoで簡単なブログを作ったので、今はもっと挑戦したいことがあります。 私は多少の本のナッツですから、私の友人はいつも私にそれらの本を借りてください。自然に私はいつでも周りにたくさんの本を浮かべています。datamapperを使用した簡単なレンタルデータベース設計
今私は書籍を追跡できるアプリを持っていたいと思っています。すべての友人は»アカウント«を持っています。私は多くの書籍»を持っていて、友達は任意の期間。 しかし、さまざまなモデル間の関連付けをどのようにモデル化するのかは完全にはわかりません。
class Friend
include DataMapper::Resource
property :id, Serial
property :name, String
property :surname, String
has n, :loans
end
class Loan
include DataMapper::Resource
property :id, Serial
property :started_at, Date
property :returned_at, Date
belongs_to :friend
has n, :books
end
class Author
include DataMapper::Resource
property :id, Serial
property :name, String
property :surname, Integer
has n, :books
end
class Book
include DataMapper::Resource
property :id, Serial
property :title, String
property :year, Integer
property :returned, Boolean
belongs_to :author
belongs_to :loan
end
私はこのデザインで正しい軌道にいるかどうかを教えてもらえますか、私に役立つリソースを教えてください。 書籍を「無くなった」状態で効果的に管理し、次に貸し出しに利用できるようにするにはどうすればよいですか?
おかげ
ありがとうございました。私はあなたが一度にすべての本を返さなければならないという事実を完全に忘れていました。しかし、私はまだ誰かが1つのローンで得た本を見ることができるのが好きです。 'loanID'と' bookID'をFKとし、 'book_Loan'テーブルを追加すると、両方のテーブルを結ぶことができますか? – nlw
@nlw - 必要な変更を投稿しました。 –