testo
Transcript
testo
ESERCIZIOBONUS3(+0.5)– Progettazionedibasididatirelazionali 7/11/2016,Consegna:17/11/2016,ore23.55 Modalità di consegna à Attraverso la piattaforma di e-learning (https://elearningcds.unibo.it/course/view.php?id=9864)diUNIBO.Passidasvolgere: 1) Collegarsi a: https://elearning-cds.unibo.it/course/view.php?id=9864, utilizzando le propriecredenzialiistituzionaliUNIBO(email/password)perl’accesso. 2) ScegliereilcorsodiBasididati(codice:70155). 3) Inserirelachiavediiscrizione:bd2017 4) Cliccare su Esercizio Bonus 3 à Consegna File, e procedere con l’upload del file contenentelasoluzionedell’esercizio.E’possibileripeterel’operazionediupload. 5) Quandosivuoleconsegnarel’elaboratoDEFINITIVO,cliccaresu“ConsegnaCompito”. Daquestomomento,nessunulterioreuploadèpossibile.Senonsicliccasu“Consegna Compito”,ildocenteNONvedel’elaborato. 6) Lasottomissioneèpossibiledal7/11/2016al17/11/2016,ore23.55. COSACONSEGNARE? • Allegare un singolo file consegna3.pdf, contenente la soluzione degli esercizi proposti. ------------------------------------------------------------------------------------------------------------------------ SPECIFICHEDELSISTEMA Sivuoleprogettareunabasedidatiperlagestione(semplificata)deiparcheggidellacittà di Bologna. Di ogni parcheggio, si vogliono memorizzare: nome (univoco), via e posizione (latitudine/longitudine). Sono previste due categorie di parcheggi: parcheggi liberi (PL) e parcheggiapagamentocoperti(PPC).Ogniparcheggiogestitodalsistemaricadeinunadelle duecategoriesovracitate.Nelprimocaso(PL),sivuoleteneretracciadelladuratamassima della sosta. Tale durata è espressa in ore nel range [0-24]. Nel secondo caso (PPC), si vogliono memorizzare: numero di telefono, recapito email, nome della società gestore. Ogni PCC dispone di un certo numero di posti auto. Ogni posto auto dispone di un numero progressivo (univoco localmente per un dato parcheggio, ma non globalmente su tutti i parcheggidellacittàdiBologna),unalarghezza,unalunghezza,epuòdisporrediunsensore associatoperilrilevamentoautomaticodellostato(libero/occupato).Nelcasosiapresente,si vuole tenere traccia dell’ID del sensore, del modello e del nome dell’azienda produttrice. Inoltre, per i PCC, si vogliono gestire le soste operate dagli utenti. Ogni sosta dispone di un codiceunivocoglobale(ossiaalivellodicittàdiBologna),unadatadiinizio,unadatadifine, un costo, ed è associata ad un posto auto e ad un utente. Il costo della sosta si ottiene moltiplicandoladuratadelparcheggioinoreperuncostounitarioorarioparia0.5euro.Per quantoriguardagliutenti,lapiattaformadevegestire:codicefiscale,nome,cognome,annodi nascita,numerodipatente.OgniPPCpuòvenderedeiPASSperl’accessoallezoneatraffico limitatodellacittàdiBologna.OgniPASSdisponedi:codiceunivocoglobale,datadirilascio, durata,enomedellazonadivalidità.SivuoleteneretracciadellostoricodegliacquistidiPASS operati da ciascun utente. Inoltre, sono previste due categorie di utenti speciali: utenti premium (UP), ed utenti abbonati (UA). Dei primi (UP), si vogliono memorizzare anche nickname e password per l’accesso Web al portale dei parcheggi di Bologna. Tramite tali credenziali,ogniUPpuòinseriresegnalazionigenerichecircalostatodiunparcheggiolibero (PL). Ogni segnalazione dispone di una data di inserimento, un campo commenti (es. “il parcheggiodisponealmomentodiXpostiliberi”),èinseritadaunUSefariferimentoadun PL tra quelli gestiti dal sistema. Gli utenti abbonati (UA) dispongono di un abbonamento, attraverso il quale viene loro assegnato in pianta stabile un posto auto di un PPC; l’abbonamentoincludeundatadiinizio,unadatadifine,uncosto.Nonèpossibileassegnare lostessopostoautoapiùabbonamenti,perunastessadata.Nontuttigliutentidelsistema appartengonoallecategorieUPoUA. ------------------------------------------------------------------------------------------------------------------------ 1) CostruireilmodelloEntità-Relazione(E-R)dellabasedidati.DisegnareildiagrammaE-R utilizzandoiltoolJDER(https://gianvitopio.wordpress.com/jder/). 2) Definire la tabella delle business rules, ossia dei vincoli presenti nel documento di specificaNONmodellatidaldiagrammaE-R. 3) Definireilcostodelleseguentioperazionisuidati: 1. Aggiungereunnuovoutenteedunasosta(5v/mese)(Interattivo) 2. Rimuoveretuttigliutenti(2v/mese)(Interattiva) 3. Contare il numero di soste di durata maggiore ai 60 minuti effettuate da un certoutente(2v/mese)(Batch) 4. VisualizzaretuttiidatideiPL,edellesegnalazioniadessoassociate(20v/mese) (Interattiva) Assumendolaseguentetabelladeivolumi: - Numeromediodiutenti:50 - Numeromediodisostepersingoloutente:10 - NumeromediodiPL:30 - NumeromediodisegnalazionipersingoloPL:10 - Costanti: wI (peso operazioni interattive)=0.8, wB (peso operazioni batch)=0.2, α=2 (pesooperazioniscrittura) 4) Ripetere l’esercizio precedente, assumendo l’esistenza di un campo “numeroSOSTE” associato all’entità UTENTE. Decidere sulla base dell’analisi dei costi/memoria se la ridondanzadeveesseremantenutaoeliminata. 5) Tradurre il diagramma E-R nello schema logico relazionale, indicando i vincoli di integrità referenziale. Nella traduzione di eventuali generalizzazioni, scegliere l’opzione cheminimizziilnumerodipotenzialivaloriNULLnelletabelle. 6) Tradurre il diagramma E-R nello schema logico relazionale, indicando i vincoli di integrità referenziale. Nella traduzione di eventuali generalizzazioni, scegliere l’opzione cheminimizziilnumeroditabellegenerate. 7) [OPZIONALE – Non oggetto di valutazione] Implementare lo schema del database del punto (6) in MySQL, consentendo le operazioni 1-4 come storedprocedures. Allegare nellarelazioneilcodiceprodotto. ------------------------------------------------------------------------------------------------------------------------ VINCOLIDICONSEGNA • La progettazione della base di dati deve essere completa rispetto alle specifiche, e correttadalpuntodivistadell’utilizzodeicostruttideldiagrammaE-R. • Nell’analisideicosti,giustificare(brevemente)ipassaggiseguitinelcalcolo. • NON sono consentite consegne di gruppo. Consegne multiple (ossia stesse consegnedapartedipiùstudenti)NONsonovalutate. • La consegna deve avvenire attraverso la piattaforma indicata nella prima pagina, ed entroladeadlinestabilita.ConsegneviaemailNONsarannovalutate. • L’assegnamentodelbonusèunafunzionebooleana(assegnato/nonassegnato).