Questo progetto implementa un database PostgreSQL per la gestione di un sistema di crociere, includendo navi, compagnie, porti, personale, passeggeri ed eventi.
- Gestisce le informazioni delle compagnie di crociera
- Attributi: PI (Partita IVA), Nome, Sede, Recapito_Telefonico
- Contiene informazioni sui porti
- Attributi: Città (chiave primaria), Numero_Massimo_Navi
- Gestisce le informazioni delle crociere
- Include: IMO, Nome_Nave, capacità equipaggio e passeggeri, porti di partenza/arrivo
- Registra le fermate intermedie delle crociere
- Collegamenti con Crociera e Porto
- Informazioni base delle persone (sia ospiti che equipaggio)
- Attributi: CF, Nome, Cognome, Sesso
- Dettagli dei passeggeri delle crociere
- Include costo del biglietto
- Gestione del personale di bordo
- Include stipendi, anni di servizio e competenze specifiche
- Gestione degli eventi a bordo
- Collegamenti tra eventi e animatori
- Ricerca crociere per numero di porti toccati
- Visualizzazione crociere per città di partenza
- Analisi costi medi dei biglietti
- Statistiche su animatori ed eventi
- Calcolo percentuale di occupazione delle navi
- Ricerca avanzata per tappe e costi
- Indice HASH su Porto_Partenza nella tabella Crociera per ottimizzare le ricerche
- Supporto multi-lingua per l'equipaggio
- Gestione completa degli eventi di bordo
- Tracciamento delle tappe intermedie
- Sistema di prenotazione con gestione costi
- Monitoraggio capacità navi e porti
Le query possono essere eseguite sostituendo i placeholder (es. '', '') con i valori desiderati:
SELECT c.IMO, c.Nome_Nave, c.Num_Prenotazioni
FROM Crociera c
WHERE c.Porto_Partenza = 'Genova';- Il database utilizza vincoli di integrità referenziale
- Sono implementati controlli sulla capacità delle navi
- Le date sono gestite in formato TIMESTAMP
- I costi sono gestiti con precisione decimale (DECIMAL)