FASI DI PROGETTAZIONE BASE DATI – CONCESSIONARIO AUTO

Ecco un modello di esame completo passo dopo passo per Sistemi Informativi Aziendali dedicato alla progettazione di una base dati per un concessionario di auto.


Titolo del progetto

Progettazione di una base dati per la gestione di un concessionario di auto


1. Analisi dei Requisiti

Obiettivi principali

  • Gestire il parco auto disponibile (nuove e usate)

  • Gestire clienti e vendite

  • Gestire fornitori e ordini di acquisto

  • Monitorare test drive richiesti dai clienti

  • Gestire interventi di manutenzione post-vendita

Funzionalità richieste

  • Anagrafica clienti

  • Catalogo auto in vendita

  • Gestione vendite

  • Registrazione test drive

  • Gestione ordini a fornitori

  • Manutenzioni su auto vendute


2. Individuazione delle Entità principali

  • Cliente

  • Auto

  • Vendita

  • TestDrive

  • Fornitore

  • OrdineAcquisto

  • Manutenzione

  • ModelloAuto


3. Modello Entità-Relazioni (ER)

Entità e Attributi

  • Cliente (CodCliente, Nome, Cognome, CF, Telefono, Email)

  • Auto (Targa, Marca, CodModello, Anno, Stato, Prezzo)

  • ModelloAuto (CodModello, NomeModello, Marca, Tipo, Cilindrata, Alimentazione)

  • Vendita (CodVendita, DataVendita, PrezzoFinale, CodCliente, Targa)

  • TestDrive (CodTest, Data, Ora, CodCliente, Targa)

  • Fornitore (CodFornitore, Nome, PIVA, Telefono, Email)

  • OrdineAcquisto (CodOrdine, DataOrdine, CodFornitore, Targa)

  • Manutenzione (CodManutenzione, Data, Descrizione, Costo, Targa)

Relazioni

  • Cliente → Vendita (1:N)

  • Cliente → TestDrive (1:N)

  • Auto → Vendita (0:1)

  • Auto → TestDrive (0:N)

  • Auto → Manutenzione (0:N)

  • ModelloAuto → Auto (1:N)

  • Fornitore → OrdineAcquisto (1:N)

  • Auto → OrdineAcquisto (0:1)


4. Modello Relazionale (Logico)

Cliente(CodCliente PK, Nome, Cognome, CF, Telefono, Email)
ModelloAuto(CodModello PK, NomeModello, Marca, Tipo, Cilindrata, Alimentazione)
Auto(Targa PK, Marca, CodModello FK, Anno, Stato, Prezzo)
Vendita(CodVendita PK, DataVendita, PrezzoFinale, CodCliente FK, Targa FK)
TestDrive(CodTest PK, Data, Ora, CodCliente FK, Targa FK)
Fornitore(CodFornitore PK, Nome, PIVA, Telefono, Email)
OrdineAcquisto(CodOrdine PK, DataOrdine, CodFornitore FK, Targa FK)
Manutenzione(CodManutenzione PK, Data, Descrizione, Costo, Targa FK)

5. Popolamento della Base Dati

Esempi di inserimento dati

INSERT INTO Cliente VALUES ('CL001', 'Giulia', 'Bianchi', 'BNCGLI85R41F205Z', '3345671234', Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.');
INSERT INTO ModelloAuto VALUES ('MD001', 'Panda', 'Fiat', 'Citycar', '1200', 'Benzina');
INSERT INTO Auto VALUES ('AA123BB', 'Fiat', 'MD001', 2023, 'Disponibile', 11000.00);
INSERT INTO TestDrive VALUES ('TD001', '2025-04-02', '10:00', 'CL001', 'AA123BB');
INSERT INTO Fornitore VALUES ('F001', 'AutoImport Srl', '01234567890', '0267890123', Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.');
INSERT INTO OrdineAcquisto VALUES ('ORD001', '2025-03-10', 'F001', 'AA123BB');
INSERT INTO Vendita VALUES ('V001', '2025-04-03', 10500.00, 'CL001', 'AA123BB');
INSERT INTO Manutenzione VALUES ('M001', '2025-04-08', 'Controllo generale post-vendita', 150.00, 'AA123BB');

6. Test delle Query

🔹 1. Elenco auto disponibili

SELECT * FROM Auto WHERE Stato = 'Disponibile';

🔹 2. Elenco vendite per cliente

SELECT V.*, A.Marca, A.CodModello 
FROM Vendita V 
JOIN Auto A ON V.Targa = A.Targa 
WHERE V.CodCliente = 'CL001';

🔹 3. Totale incassato dalle vendite

SELECT SUM(PrezzoFinale) AS TotaleIncassi FROM Vendita;

🔹 4. Auto ordinate ma non ancora vendute

SELECT A.* 
FROM Auto A 
JOIN OrdineAcquisto O ON A.Targa = O.Targa 
WHERE A.Targa NOT IN (SELECT Targa FROM Vendita);

🔹 5. Manutenzioni effettuate per ogni auto

SELECT Targa, COUNT(*) AS TotaleManutenzioni 
FROM Manutenzione 
GROUP BY Targa;

7. Conclusioni

La base dati consente una gestione completa del concessionario: monitoraggio del parco auto, ordini, vendite, test drive e manutenzioni. Il sistema è flessibile, modulare e può essere facilmente esteso per includere funzioni aggiuntive come la gestione del magazzino, promozioni o integrazione con e-commerce.



Back to top