Quale progettazione di database suggeriresti per il seguente esempio?
Esempio: immagina un autobus con alcune persone all'interno. Ogni persona ha alcuni attributi come il nome, ecc. Inoltre ci sono attributi specifici per guidatore e passeggero. Ogni poche ore cambiano i ruoli, il che significa che il guidatore diventa un passeggero normale e uno dei passeggeri diventa l'autista. Quale sarebbe un modo elegante per modellarlo? Il progetto a cui sto lavorando è scritto in Ruby, ma immagino che non abbia molta importanza.
Ho pensato di utilizzare AASM (una macchina a stati) o di lavorare con una tabella "Current-Role" che include user_id e il ruolo corrente. Ma questo mi sembra sbagliato. Grazie in anticipo per i tuoi suggerimenti!