Design del database di noleggio semplice con DataMapper
-
12-11-2019 - |
Domanda
Sto appena iniziando a conoscere la progettazione del database. Per il mio primo progetto ho realizzato un semplice blog con Padrino e ora voglio qualcosa di un po 'più impegnativo per me. Dal momento che sono un po 'un pazzo, i miei amici mi chiedono sempre di prenderli in prestito. Quindi naturalmente ho molti libri che fluttuano in qualsiasi momento.
Ora mi piacerebbe avere un'app che mi consente di tenere traccia dei libri, cioè: ogni amico ha un account », ho molti libri» «e i miei amici possono affittare libri per un dato periodo di tempo. Ma non sono del tutto sicuro di come modellare le associazioni tra i diversi modelli.
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
Lo apprezzerei se potessi dirmi se sono sulla buona strada con questo design o forse mi indica risorse che potrebbero aiutarmi. Come posso gestire efficacemente un libro »sparito« e poi disponibile per l'affitto?
Grazie
Nessuna soluzione corretta