Utente(Id, Nome, Cognome, CodiceFiscale, DataNascita, TipoUtente, MatricolaStudente, IdentificativoPensione) TipoUtente = ‘Studente, Pensionato, Standard’ Fare un check sul campo:

  • se TipoUtente = Studente allora MatricolaStudente != NULL
  • se TipoUtente = Anziano allora IdentificativoPensione != NULL

TitoloViaggio(Id, IdUtente, IdTariffa, CodiceUnivoco, Tipo, DataEmissione, DataScadenza) Tipo = “Abbonamento” o “Biglietto”


Reclamo(Id, IdCorsaEffettiva, IdUtente, Testo, Data)


Validazione(Id, IdTitoloViaggio, IdCorsaEffettiva, Data)


CorsaEffettiva(Id, IdCorsaPianificata, IdAutista, IdMezzo, Data, OraPartenzaReale, OraArrivoReale)


Mezzo(Id, Targa, Tipo, Capienza, KmTotali, DataUltimaRevisione) Tipo = “Bus” o “Tram”


Manutenzione(Id, IdMezzo, Costo, DataInizio, DataFine, Descrizione, Stato) Stato = “Fatta” o “Iniziata”


Rifornimento(Id, IdMezzo, Data, Quantità, CostoTotale, KmAttuali) KmAttuali indica i chilometri del mezzo quando fa rifornimento, da questo ne possiamo tirare fuori i km al litro


Autista(Id, Nome, Cognome, DataAssunzione, DataScadenzaPatente)


Turno(Id, IdAutista, DataInizio, DataFine, TipoTurno) TipoTurno (VARCHAR - es. “Lavoro”, “Riposo”, “Ferie”, “Malattia”)


Linea(Id, NomeDescrittivo) PercorsoLinea(Id, IdLinea, IdFermata, progressivo) Zona(Id, Nome) TariffaTratta(Id, IdZonaPartenza, IdZonaArrivo, Prezzo)

Deviazione(Id, Motivo, DataFine, DataInizio) PercorsoLinea(Id, IdDeviazione, IdFermata, progressivo)

TODO

  • Deviazione
  • CorsaPianificata
  • Alcune cardinalità nelle relazioni
  • Controllare se va bene
  • Nello schema logico mancano le chiavi esterne
  • Cercare/Inserire un dato sulla quale fare le analisi delle ridondanze (modificare eventuale schema ER/logico)
  • Modificare almeno due query che che usino il dato dato ridondante
  • Modificare le operazioni, per fare le analisi sui dati ridondati serve che più operazioni lavorino sulle tabelle con i dati ridondanti in modo da fare i confronti
  • Capire se le stime sui volumi sono giusti
  • Analisi delle ridondanze
    • Creazione delle stime e dei calcoli
    • Sistemare la relazione
  • Analisi degli indici per il futuro
    • Creazione delle stime e dai calcoli
    • Sistemare la relazione
  • Scrivere le query per la creazione degli indici
  • Scrivere le query per la creazione del database
  • Scrivere la normalizzazione secondo la guida di CFE
  • Scrivere i trigger
    • Scrivere i trigger per i vincoli
    • Scrivere i trigger per il dato ridondante
  • Scrivere le query per l’inserimento dei dati
  • Scrivere le query per le varie operazioni definite
  • Ultimare la relazione