BASI DI DATI: Progetti ed Esercizi Svolti

Luca Cabibbo, Riccardo Torlone, Carlo Batini

Pitagora Editrice Bologna


Sommario

Questo testo contiene una collezione di progetti ed esercizi svolti per un corso universitario di Basi di Dati. Il corso di riferimento è quello teledidattico di diploma universitario in Ingegneria Informatica, realizzato dal consorzio Nettuno e tenuto per l'anno accademico 1994-95 dai Professori Paolo Atzeni e Carlo Batini.

Lo scopo principale del lavoro è quello di permettere agli studenti di un corso di Basi di Dati di esercitarsi, mediante esempi pratici, sugli argomenti introdotti nelle lezioni e di prepararsi all'esame scritto. Del resto, la sua organizzazione enfatizza sopratutto gli aspetti metodologici relativi al progetto, allo sviluppo e all'uso di basi di dati. Crediamo quindi che possa costituire un utile strumento di verifica, apprendimento e approfondimento, non solo per gli studenti, ma anche per chiunque sia interessato al mondo delle basi di dati.

Il testo è strutturato logicamente in due parti. La prima parte, che include i Capitoli da 1 a 4, propone esercizi brevi relativi ad attività specifiche. In particolare, il Capitolo 1 presenta esercizi di carattere generale sui concetti relativi alle basi di dati ed al modello relazionale. Il Capitolo 2 contiene esercizi relativi all'interrogazione di basi di dati, utilizzando l'algebra relazionale e il linguaggio SQL. Il Capitolo 3 propone esercizi sulle dipendenze funzionali e sulla normalizzazione. Infine, il Capitolo 4 contiene esercizi sulla progettazione concettuale e logica di basi di dati.

Nella seconda parte, viene fornita una panoramica più ampia dell'attività di progetto attraverso studi di caso. In particolare, il Capitolo 5 propone la progettazione logica di una base di dati relativa ad un istituto bancario, a partire da uno schema concettuale ed una previsione sul carico della base di dati. Il Capitolo 6 presenta un esempio sostanzialmente completo di progettazione di base di dati di un laboratorio di diagnosi medica. Il Capitolo 7 propone uno studio di caso per la progettazione di una base di dati distribuita relativa a voli aerei; questo capitolo è ispirato a materiale didattico elaborato da Stefano Ceri e Barbara Pernici, che ringraziamo. Il Capitolo 8 contiene un esempio di integrazione di schemi di una organizzazione aziendale. Alcuni esempi di compiti di esame di un corso universitario di basi di dati sono riportati nel Capitolo 9. Infine, una appendice suggerisce alcuni libri di testo sui quali studiare in dettaglio le tematiche affrontate in questo volume.


Indice

1 Generalità sulle basi di dati

1.1 Sistemi informativi e basi di dati
1.2 Il modello relazionale dei dati
1.3 Soluzioni agli esercizi proposti

2 Linguaggi di interrogazione

2.1 Interrogazioni in algebra relazionale
2.2 Interrogazioni in SQL
2.3 Soluzioni agli esercizi proposti

3 Normalizzazione di basi di dati

3.1 Dipendenze e normalizzazione
3.2 Soluzioni agli esercizi proposti

4 Progetto di basi di dati

4.1 Attività della progettazione
4.2 Progettazione concettuale
4.3 Progettazione logica
4.4 Soluzioni agli esercizi proposti

5 Progettazione logica: Istituto bancario

5.1 Descrizione e specifiche
5.2 Decisioni sui dati derivati
5.3 Eliminazione delle gerarchie
5.4 Traduzione verso il modello relazionale

6 Progetto e sviluppo: Laboratorio medico

6.1 Descrizione e specifiche
6.2 Analisi dei requisiti
6.3 Progettazione concettuale
6.4 Analisi delle funzioni
6.5 Progettazione logica indipendente dal modello
6.5.1 Analisi delle ridondanze
6.5.2 Eliminazione delle gerarchie
6.5.3 Partizionamento/accorpamento entità/relazioni
6.5.4 Scelta degli identificatori primari
6.6 Progettazione logica nel modello relazionale
6.6.1 Traduzione entità
6.6.2 Traduzione di relazioni
6.7 Implementazione di alcune operazioni
6.7.1 Script di installazione
6.7.2 Il modulo PAZIENTE
6.7.3 Il modulo PRENOTA

7 Distribuzione dati: Voli aerei

7.1 Descrizione e specifiche
7.2 Progetto della distribuzione
7.2.1 Allocazione non ridondante
7.2.2 Allocazione ridondante
7.2.3 Ricostruzione degli schemi locali
7.3 Una possibile estensione

8 Integrazione di schemi: Azienda

8.1 Descrizione e specifiche
8.2 Analisi dei conflitti
8.3 Fusione degli schemi
8.4 Individuazione di proprietà interschema
8.5 Dizionario dei dati integrati

9 Compiti di esame

Bibliografia


Per maggiori informazioni sul testo rivolgersi a Pitagora Editrice.