私はデータベース設計について学び始めたばかりです。私の最初のプロジェクトでは、padrinoを使って簡単なブログを作成しましたが、今はもう少しやりがいのあるものが欲しいです。私はやや本好きなので、友達からいつも本を借りてほしいと言われます。だから当然、私はいつでもたくさんの本を浮かんでいます。
今、私は本を追跡できるアプリが欲しいです。つまり、すべての友達には「アカウント」があり、私にはたくさんの「本」があり、友達はいつでも本を借りることができます。しかし、異なるモデル間の関連付けをモデル化する方法が完全にはわかりません。
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
私がこのデザインで正しい方向に進んでいるかどうか、または私を助けることができるリソースを教えていただければ幸いです。どうすれば、「なくなった」本を効果的に管理して、再びレンタルできるようになりますか?
ありがとう