Non è che abbia capito tanto bene lo storico dell'auto, ma se usi un campo DATA lo dovresti poter fare. Ti ho fatto degli schemini ER, non è detto che siano corretti. La relazione PROPRIETA' e OFFRE è ridondante ma se ci aggiungi degli attributi come DATA_INIZIO e DATA_FINE e metti come chiave primaria la coppia (CODICEFISCALE, AUTO) riesci a ricostruire lo storico dell'auto, appatto che un privato non ricompri l'auto che vende e che un rivenditore non rivenda l'auto che compra, altrimenti se ammetti questa possibilità devi integrare nella chiave anche datainizio e datafine. Xò sono relazioni ridondanti, utile, ma devi trattarle secondo le specifiche che ti sono assegnate. Non conosco gli attributi sulle entità che ti sono richiesti ma spero di esserti stato utile! Ti ho fatto 2 versioni una con le cardinalità e una senza, ma devi vedere bene cosa dice il testo del problema a questo proposito, ad esempio io ho supposto che un privato possa avere più macchine, etc...
Lo storico cmq lo ricavi in linguaggio SQL dall'entità ORDINE senza le ridondanze, basta che tu guardi le date di una stessa macchina! Il problema delle ridondanze è che se fai un accesso in scrittura per assegnare un'auto ad un privato devi anche farne altri per togliere l'auto da OFFRE e inserire una voce in PROPRIETA'. Fai la tavola dei volumi\accessi e guarda se ti conviene una volta che conosci il numero delle operazioni mensili\giornaliere. Anche se pensando meglio dovresti usare le generalizzazioni
Nell'entità ORDINE potresti mettere due attributi univoci: VENDITORE e ACQUIRENTE che poi tradotte in tabelle o in SQL diventano ForeignKey, proprio per questo una generalizzazione di Privati e Concessionari ti tornerebbe utile, li dovresti avere tutti in un'unica tabella...ma forse c'è un'altra soluzione che non mi viene in mente!!!
E questo con le cardinalità:

Ciao