Si vuole creare una base di dati per gestire gli abbonamenti ad alcune riviste stipulati da persone residenti in varie città. In ogni città la consegna delle riviste viene curata da un distributore. Creare gli schemi concettuale, logico e fisico, creare il database, inserirvi i dati indicati e poi eseguire le seguenti query: 1. selezionare l’elenco dei distributori con nome, via, cap e città della sede 2. selezionare l’elenco dei distributori e delle città nelle quali distribuiscono le riviste 3. Selezionare tutti gli abbonati di Trieste 4. Selezionare tutti gli abbonati di Trieste con abbonamento annuale 5. Selezionare tutti gli abbonamenti ed i relativi abbonati a Topolino 6. Selezionare tutti gli abbonamenti a Topolino di durata pluriennale 7. Selezionare tutti gli abbonamenti a Topolino da consegnare a Trieste 8. Individuare l’elenco degli abbonati a Focus serviti dal distributore Telma e Louise trans 9. Selezionare l’elenco degli abbonati a Focus e a Topolino rivista – è un giornale che ha un titolo, una descrizione ed un costo abbonato – è una persona fisica o giuridica ( uomo, ente, associazione, società, … ) che acquista una certa quantità di giornali: ha nome, indirizzo città – sono le città in cui si possono spedire gli abbonamenti: ha un nome ed un distributore che si occupa delle consegne distributore – è una persona o una società che si occupa della consegna dei giornali nelle città: ha un nome, un indirizzo, un telefono Flavia Lollis ITIS A. Volta Trieste 1 di 13 Modello concettuale Modello logico Flavia Lollis ITIS A. Volta Trieste 2 di 13 Modello fisico Flavia Lollis ITIS A. Volta Trieste 3 di 13 elenco dati nelle tabelle rivista distributore Flavia Lollis ITIS A. Volta Trieste 4 di 13 città abbonato Flavia Lollis ITIS A. Volta Trieste 5 di 13 abbonamento Se volete caricare la stessa struttura e gli stessi dati per le tabelle seguite i seguenti passi: 1. scaricare dal sito la struttura dei dati abbonamenti.sql 2. create nel vostro mysql un database di nome abbonamenti (se già esiste continuamdo lo ricoprite) 3. posizionatevi nel database appena creato e premete il bottone importa 4. selezionate il file abbonamenti.sql appena scaricato 5. premete esegui Il file contiene una serie di istruzioni SQL che nell’ordine cancellano le tabelle se esistono, le creano ed inseriscono i dati. Flavia Lollis ITIS A. Volta Trieste 6 di 13 Esecuzione query 1. selezionare l’elenco dei distributori con nome, via, cap e città della sede SELECT distributore.nome, via, cap, citta.nome FROM distributore, citta WHERE distributore.codCitta = citta.codCitta risultato 2. selezionare l’elenco dei distributori e delle città nelle quali distribuiscono le riviste SELECT distributore.nome, citta.nome FROM citta, distributore WHERE distributore.codDistr = citta.codDistr risultato Flavia Lollis ITIS A. Volta Trieste 7 di 13 3. Selezionare tutti gli abbonati di Trieste SELECT cognome, abbonato.nome, citta.nome FROM abbonato, citta WHERE citta.nome='Trieste' AND abbonato.codCitta=citta.codCitta risultato 4. Selezionare tutti gli abbonati di Trieste con abbonamento annuale SELECT cognome, abbonato.nome, citta.nome, anniDurata FROM abbonato, citta, abbonamento WHERE citta.nome='Trieste' AND anniDurata = 1 AND abbonato.codCitta=citta.codCitta AND abbonamento.codAbbonato=abbonato.codAbbonato risultato 5. Selezionare tutti gli abbonamenti ed i relativi abbonati a Topolino SELECT numAbbonamento, cognome, abbonato.nome Flavia Lollis ITIS A. Volta Trieste 8 di 13 FROM abbonamento, rivista, abbonato WHERE rivista.titolo = 'Topolino' AND abbonamento.codRivista=rivista.codRivista AND abbonato.codAbbonato=abbonamento.codAbbonato risultato 6. Selezionare pluriennale tutti gli abbonamenti a Topolino di durata SELECT numAbbonamento, cognome, abbonato.nome FROM abbonamento, rivista, abbonato WHERE rivista.titolo = 'Topolino' anniDurata > 1 AND AND abbonamento.codRivista=rivista.codRivista AND abbonato.codAbbonato=abbonamento.codAbbonato risultato 7. Selezionare tutti gli abbonamenti a Topolino da consegnare a Trieste Flavia Lollis ITIS A. Volta Trieste 9 di 13 SELECT numAbbonam, cognome, abbonato.nome, citta.nome, titolo FROM abbonamento, rivista, abbonato, citta WHERE rivista.titolo = 'Topolino' citta.nome = 'Trieste' AND AND abbonamento.codRivista=rivista.codRivista AND abbonato.codAbbonato =abbonamento.codAbbonato AND citta.codCitta=abbonato.codCitta risultato 8. Individuare l’elenco degli abbonati a Focus serviti dal distributore Telma e Louise trans SELECT distributore.nome, rivista.titolo, citta.nome, abbonato.cognome FROM abbonato, abbonamento, rivista, distributore, citta WHERE rivista.titolo = 'Focus' AND abbonamento.codRivista = rivista.codRivista AND abbonato.codAbbonato=abbonamento.codAbbonato AND citta.codCitta = abbonato.codCitta AND distributore.codDistr = citta.codDistr AND distributore.nome = 'Telma e Louise trans' risultato 9. Selezionare l’elenco degli abbonati a Focus e a Topolino Flavia Lollis ITIS A. Volta Trieste 10 di 13 SELECT abbonato.codAbbonato, abbonato.nome, abbonato.cognome FROM abbonato, abbonamento, rivista WHERE abbonato.codAbbonato = abbonamento.codAbbonato AND abbonamento.codRivista = rivista.codRivista AND rivista.titolo='Focus' AND abbonato.codAbbonato IN (SELECT abbonato.codAbbonato FROM abbonato, abbonamento, rivista WHERE abbonato.codAbbonato = abbonamento.codAbbonato AND abbonamento.codRivista = rivista.codRivista AND rivista.titolo = 'Topolino' ) risultato Flavia Lollis ITIS A. Volta Trieste 11 di 13 Flavia Lollis ITIS A. Volta Trieste 12 di 13 Flavia Lollis ITIS A. Volta Trieste 13 di 13