top of page

Esercizi

 

Esercizio 1

Date le seguenti coppie  di Entità, disegnare lo schema E/R evidenziando  anche  attributi (anche Chiave primaria) e associazioni. Descrivere quanto rappresentato.

 

  • CITTADINO – TESSERA SANITARIA

  • DOCENTE – MATERIA

  • IMPIEGATO- PROGETTO

  • PERSONA – AUTOMOBILE

  • STUDENTE -MATERIA

 

Esercizio 2

Si progetti lo schema Entità-Relazione e lo schema logico di una base di dati in cui si vogliono memorizzare le seguenti informazioni relative ad un sistema informativo per una Facoltà universitaria: per ciascun corso siano individuati il docente (nome e codice fiscale), l'elenco degli studenti che seguono il corso (matricola e nome) col voto riportato da ciascuno, ed infine giorni, orario e sedi  delle lezioni.

Utilizzando il linguaggio SQL si risponda poi alle seguenti richieste:

  • elenco docenti in ordine alfabetico

  • dato in input il nominativo dello studente, elencare i codici dei corsi di cui ha sostenuto l’esame

  • elencare i corsi e le relative sedi

 

Esercizio 3

Al porto turistico di Ancona vengono ospitate le imbarcazioni che ne fanno richiesta. I clienti occasionali possono  prenotare il posto barca in base alla disponibilità dei posti e alla dimensione della barca. I posti barca sono ovviamente di dimensioni diverse e quindi al momento della prenotazione verrà richiesta anche la lunghezza della barca in modo da trovare il posto più adatto.  Si progetti lo schema E/R e lo schema logico.

 Utilizzando il linguaggio SQL si risponda poi alle seguenti richieste:

 

  • creazione di tutte le tabelle

  • elenco dei posti ( numero, posizione)  adatti ad ospitare una barca di cui si conosce la dimensione

  • elenco delle prenotazioni  effettuate nel tempo da un cliente il cui nome e cognome vengono dati in input

 

Esercizio 4

 

In occasioni delle Olimpiadi Internazionali di Informatica 2008, la società organizzatrice desidera

realizzare un sistema informatico per la gestione delle gare e degli “atleti”.

La base di dati deve consentire la memorizzazione delle informazioni :

 

  • ƒ degli atleti, che possono partecipare alle gare sia singolarmente sia raggruppati in squadre;

  • ƒ delle gare nelle varie fasi ;

  • ƒ delle sedi di gara .

 

Le Olimpiadi prevedono una fase scolastica (in ciascun istituto scolastico partecipante), una fase

regionale, una finale nazionale e la gara internazionale che designerà il vincitore e la squadra vincitrice.

Dopo fatto le opportune eventuali  ipotesi aggiuntive realizzare:

1. un’analisi della realtà di riferimento individuando le possibili soluzioni e scegliere quella motivato giudizio più idonea a rispondere alle specifiche indicate

2. uno schema concettuale della base di dati

3. uno schema logico della base di dati

4. la definizione delle relazioni della base di dati in linguaggio SQL

5. le seguenti interrogazioni espresse in linguaggio SQL:

• stampare l’elenco degli atleti raggruppati per squadre per ogni singola fase

• dato il nome di un atleta stampare i risultati ottenuti nelle diverse gare alle quali ha partecipato

• stampare il calendario delle gare

• stampare una scheda informativa (cognome, nome, istituto scolastico di provenienza,

nazionalità) del vincitore e della squadra vincitrice

• stampare la classifica per ciascuna gara (a parità di punteggio vengono privilegiati gli atleti più

giovani)

• aggiornare, per ciascuna fase (scolastica-regionale-nazionale-internazionale) gli eventuali

punteggi record

• calcolare il punteggio medio ottenuto durante la prima selezione, per ciascun istituto scolastico

• stampare per ciascuna squadra il numero di “atleti” partecipanti e l’età media

 

Esercizio 5

 

Si vuole creare un database  per gestire, mediante le opportune tabelle e relazioni, le informazioni riguardanti i dati appartenenti al sistema informativo  di un mobilificio, relativi alla vendita di mobili componibili.

Di seguito le specifiche:

  • Gli articoli  sono suddivisi per categorie. I dati riguardano la descrizione, il prezzo, l’aliquota IVA e le spese di trasporto

  • Ciascun articolo è costituito da una serie di componenti, di cui si conoscono la descrizione e il costo

  • I componenti vengono prodotti dai laboratori, di cui si conoscono l’indirizzo la città e il telefono

  • Gli articoli possono comparire in ordini , di ciascuno dei quali viene archiviata la data

  • Gli ordini vengono effettuati dai negozi, di cui vengono archiviati il nome, l’indirizzo,la città, il telefono, il responsabile

 

Si richiede oltre allo schema concettuale, con la descrizione precisa dello stesso, anche lo schema logico evidenziando le chiavi primarie e le chiavi esterne.

Interrogazioni SQL:

 

  • elencare gli articoli (codice e descrizione) in ordine alfabetico

  • elencare gli articoli il cui prezzo è compreso tra €500 e € 1000

  • elencare i negozi di Firenze o di Roma o di Ancona

  • elencare i negozi di cui non è stato memorizzato il nome del responsabile

 

Esercizio 6

 

Gestire le prenotazioni di visite specialistiche presso un centro ambulatoriale. I pazienti prenotano una o più visite di una certa specialità( es. ortopedia, cardiologia, etc.), in una certa data, in certo orario e con un certo medico. Scrivere il diagramma E/R e la sua descrizione, lo schema logico e poi in SQL scrivi le seguenti richieste:

elenco dei pazienti che hanno un appuntamento  nel mese di novembre

elenco dei medici presenti nel centro ambulatoriale con  la  relativa specializzazione in ordine alfabetico

il numero dei pazienti visitati dal medico dato in input nel primo semestre dell’anno in corso

la visita più costosa

il numero delle visite prenotate in un giorno dato in input

dato in input il nome di un paziente dare in output la somma spesa nell’anno scorso per le visite

 

Esercizio 7

Una galleria d'arte ha deciso di creare un sistema che consenta ai suoi clienti di consultare da casa il catalogo dei quadri, tramite accesso a una pagina web che la galleria può creare presso un fornitore di servizi telematici.

 

Per ogni quadro è compilata una scheda che riporta l'autore, il titolo, la tecnica (olio, tempera ecc.), le dimensioni, il prezzo, foto del quadro. La consultazione del catalogo può avvenire o semplicemente scorrendo avanti e indietro le schede in ordine alfabetico oppure cercando uno specifico autore.

 

         Fatte le ipotesi aggiuntive che si ritiene necessarie,

 

  • proporre una soluzione per la creazione del sistema illustrandone la struttura a blocchi e indicando una soluzione di principio per ciascun blocco;

 

 N.B. per blocchi si intende “moduli funzionali” : pagine pubbliche per i clienti, pagine per la direzione della galleria, database, cartella con le immagini. Questi sono in linea di massima le funzioni che potete individuare nel problema.

 

2)     proporre e illustrare una struttura per il Data Base dei quadri,

 

3)     sviluppare in dettaglio la soluzione, (descrivendo il software che viene utilizzato)

a)     creazione del Data Base ( creazione delle relazioni),

b)     creazione di una semplice pagina web della galleria,

c)     interfaccia per consentire al cliente la consultazione del catalogo e la visione delle singole schede

 

    Rispondere in SQL alle seguenti interrogazioni

  • Elencare i quadri di un autore dato in input

  • elencare i quadri eseguiti con una certa tecnica

  • contare i quadri presenti nella galleria suddivisi per autore

elencare gli autori dei quali in questo momento non sono presenti quadri in galleria

 

Dopo aver recuperato lo schema e/r relativo alla Galleria d’Arte scrivere le seguenti interrogazioni SQL( adeguando ovviamente gli attributi alle richieste e ripassando tutta la sintassi SQL)

  • creazione delle tabelle che non avevamo creato alla lavagna

  • i nomi delle tecniche che non hanno quadri corrispondenti

  • gli artisti i cui nomi o pseudonimi  o cognomi iniziano per  una lettera data in input

  • gli artisti viventi

  • i titoli dei quadri fatti con una certa tecnica aventi un prezzo superiore ad un valore dato in input

  • tutti i quadri eccetto quelli di un artista dato in input

  • tutti gli artisti che non sono italiani

  • tutti gli artisti che usano solo una tecnica data in input

 

Esercizio 8

 

La base di dati per la gestione delle regate di una coppa internazionale  contiene le informazioni seguenti:

-ogni regata è caratterizzata dal luogo, dalla data e dai dati del percorso(lunghezza);

-le barche sono caratterizzate dal nome, dalla nazionalità, dal modello, dalla lunghezza, dalla stazza e dallo skipper

- le barche sono finanziate da sponsor, anche più di uno, delle quali si conoscono il nominativo, il codice fiscale, l’indirizzo e l’ammontare della somma fornita

- si conosce inoltre il punteggio totalizzato da una barca in ogni regata cui ha partecipato

- ogni barca ha un equipaggio composto da un numero variabile  fra le 15 e le 20 persone, ciascuna con una sua nazionalità e un proprio ruolo(che può variare da regata a regata)

Scrivere per prima cosa  un’analisi  del problema, facendo le ipotesi aggiuntive che ritenete opportune,  realizzare poi lo schema E/R e lo schema logico.

Formulare , oltre alla creazione di due relazioni a scelta,  le seguenti query in SQL:

  • elenco delle barche che hanno partecipato alle regate di S.Francisco e di Valencia ma non a quella di Bergen

  • la barca/barche che alla fine della coppa hanno totalizzato il maggior numero di punti

  • per ogni barca un elenco del tipo “nome barca”  “totale importo sponsorizzazioni”

  • elenco dell’equipaggio della barca il cui nome viene dato in input, in una data regata, con l’output dei nominativi e il loro ruolo

  • elenco delle barche nel cui equipaggio di contano almeno tre italiani

  • la barca/barche che nelle varie regate hanno totalizzato un punteggio medio maggiore della media dei punteggi totalizzati da tutte le barche

Vi ricordo che le viste in certe situazioni possono essere d’aiuto (create view)

Scegliere poi una query e “crearci” le pagine PHP/HTML/CSS  con l’obiettivo di  utilizzare tutte le istruzioni  PHP conosciute ( anche le variabili di sessione).

 

 

bottom of page