POLITECNICO DI BARI CORSI DI LAUREA IN ING. INFORMATICA, ING. ELETTRONICA E ING. GESTIONALE PROVA SCRITTA DI SISTEMI INFORMATIVI 19 febbraio ’04 TRACCIA 1 nome_______________cognome______________________matr___________CdL____________ a) Si vuole modellare una base di dati relativa ad un club nautico. Date le seguenti specifiche si definisca pertanto uno schema Entità-Relazioni completo: ogni imbarcazione ha un numero di matricola ed è di un determinato modello. Esistono vari modelli di imbarcazione che possono essere ospitati nel club nautico, ognuno di essi è identificato da un codice e sono noti per esso lunghezza, stazza e pescaggio. Ci sono impiegati che lavorano per il club nautico. Per ognuno di essi si vuole memorizzare codice fiscale, nome, cognome, indirizzo, telefono e stipendio annuo. Inoltre, ogni tecnico è esperto di uno o più modelli di imbarcazione. Ci sono marinai impiegati. Anche di questi si vogliono memorizzare le stesse informazioni personali descritte gli impiegati. Inoltre, il personale marittimo deve sottoporsi a periodiche verifiche mediche e per ogni componente si vuole memorizzare la data dell'ultima visita. Il personale marittimo comprende i comandanti delle imbarcazioni, ognuno di essi è abilitato a comandare uno o più modelli di imbarcazione. Vanno immagazzinati inoltre i dati relativi ai test di abilitazione alla navigazione delle imbarcazioni. Ogni test ha un codice, un nome e un punteggio massimo. Per ogni test effettuato su una certa imbarcazione è necessario memorizzare anche le informazioni riguardanti il tecnico che lo ha eseguito, la data in cui è stato effettuato, il tempo impiegato per effettuarlo ed il punteggio assegnato all'imbarcazione. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità. b) Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. c) Si vuole realizzare un database relativo alla prenotazione di auto per trasporto collettivo, cioè auto che possano essere utilizzate giornalmente da più utenti (almeno uno dei quali dotato di patente), per recarsi nella stessa destinazione a partire dallo stesso luogo. E’ stata a tal fine costruita, da un inesperto progettista, una unica tabella descritta dai seguenti attributi: Tabella1(nome, cognome, telefono, codice_fiscale, patente_numero, targa_auto, data_prenotazione, ora_prenotazione, luogo_partenza, cap_ luogo_partenza , luogo_destinazione, cap_ luogo_destinazione) d) Si consideri il seguente schema relazionale di basi di dati: Squadra(Nome_squadra,Città) Partita(Squadra_Di_Casa,Squadra_Ospite,Goal_di_Casa,Goal_di_Ospiti,Turno) Esprimere le seguenti interrogazione in SQL: 1) Determinare il numero di vittorie della Lazio contro squadre di Milano. 2) Determinare, per ciascun turno, la media dei goal fatti dalla squadra di casa escludendo le partite il cui la squadra ospite è di Torino, escludendo anche i turni in cui ci sia almeno una partita in cui la squadra di casa ha segnato più di 3 goal. POLITECNICO DI BARI CORSI DI LAUREA IN ING. INFORMATICA, ING. ELETTRONICA E ING. GESTIONALE PROVA SCRITTA DI SISTEMI INFORMATIVI 19 febbraio ’04 TRACCIA 2 nome_______________cognome______________________matr___________CdL____________ a) Si vuole modellare una base di dati relativa ad un'agenzia matrimoniale. Date le seguenti specifiche si definisca pertanto uno schema Entità-Relazioni completo: Vanno memorizzati i dati relativi ai clienti: uomini e donne, di cui interessa il numero di tessera, il nome e cognome, l'età, l'aspetto fisico (piacevole, interessante, bello, grosso, ecc.), gli interessi del socio (es. cinema, arte, vela, calcio), ed eventualmente la sua professione. I clienti si dividono (oltre che in uomini e donne) anche in clienti regolari e clienti in prova. Un cliente regolare può dichiarare all'agenzia il suo interesse per uno o più clienti dell'altro sesso. L'agenzia programma incontri tra clienti regolari. Per ogni incontro interessano i partecipanti, la data, il locale in cui si è svolto, e l'eventuale esito (positivo o negativo). Gli stessi clienti possono avere anche più incontri, al massimo cinque. Gli incontri si svolgono in ristoranti convenzionati con l'agenzia, di cui interessa il nome, il numero di tavoli, il giorno di chiusura, il prezzo tipico e le carte di credito accettate. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità. b) Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. c) Si vuole realizzare un database relativo alla gestione di transazioni bancarie di bonifici E’ stata a tal fine costruita, da un inesperto progettista, una unica tabella descritta dai seguenti attributi: Tabella (Nome_beneficiario, Cognome_beneficiario, Codfiscale_beneficiario, NumeroContocorrente_beneficiario, COD_BANCA_beneficiario, COD_agenzia_beneficiario, Codice_univoco_Operazione, Importo, DataOperazione, DataValuta, Nome_mittente, Cognome_mittente, Codfiscale_mittente, NumeroContocorrente_mittente, COD_BANCA_mittente, COD_agenzia__mittente) se ne determini la chiave e si individuino, esplicitandole, le dipendenze funzionali. Sulla base di queste si proceda alla normalizzazione in 3° forma normale, preservando le dip. Funzionali. d) Si consideri il seguente schema relazionale di basi di dati: Si consideri il seguente schema di base di dati: Persona(CF,Nome, Cognome, Anno_di_Nascita, Sesso) Coniugio(CF_Moglie,CF_Marito,Anno_Matrimonio,Luogo_Matrimonio) Esprimere le seguenti interrogazione in SQL: 1) Determinare nome e cognome delle persone che si sono sposate entro i 20 anni di età 2) Determinare le donne che si sono sposate più volte, fornendo inoltre nome, cognome, e cognome dell'ultimo marito. POLITECNICO DI BARI CORSI DI LAUREA IN ING. INFORMATICA, ING. ELETTRONICA E ING. GESTIONALE PROVA SCRITTA DI SISTEMI INFORMATIVI 19 febbraio ’04 TRACCIA 3 nome_______________cognome______________________matr___________CdL____________ a) Si vuole modellare una base di dati relativa ad torneo di tennis a coppie in un circolo. Date le seguenti specifiche si definisca pertanto uno schema Entità-Relazioni completo: Del torneo interessano i soci giocatori (con nome, cognome e numero di tessera del circolo), le coppie partecipanti, le partite disputate e quelle in calendario. Di ciascuna partita disputata interessano le coppie che giocano, la coppia vincitrice, il punteggio di ciascun set e l'arbitro (un socio che non partecipa al torneo). Nel caso la partita finisca per infortunio interessa sapere chi si è infortunato e il tipo di infortunio. Ciascun giocatore può essere sostituito in al massimo una partita del torneo. In tal caso interessa sapere chi è il sostituto, il quale deve essere un socio che non gioca il torneo, e in quale partita ha giocato. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità. b) Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. c) Si vuole realizzare un database relativo alla gestione dei pazienti di un medico di base. E’ stata a tal fine costruita, da un inesperto progettista, una unica tabella descritta dai seguenti attributi: biblioteca (Cod_fiscale, nome, cognome, telefono, titolo_libro, autori_libro, codiceISBN, editore_libro, anno_edizione, data_prestito, data_restituzione) Lo stesso libro può essere preso più volte in prestito dalla medesima persona. si determini la chiave e si individuino, esplicitandole, le dipendenze funzionali. Sulla base di queste si proceda alla normalizzazione in 3° forma normale, preservando le dip. Funzionali. d) Si consideri il seguente schema relazionale di basi di dati: Si consideri il seguente schema relazionale di basi di dati: Corso(Codice,Nome_corso,Docente_nome, Docente_cognome) Lezione(CodCorso, CodPeriodo, Aula) Periodo(Codice,Giorno,Ora_di_Inizio) Esprimere le seguenti interrogazione in SQL: 1) Determinare nome e cognome dei docenti che insegnano un numero di corsi superiore a 4. 2) Determinare, per ciascun docente che insegna due corsi il numero di lezioni che tiene tra martedì e giovedì in aula 22.