Anno Accademico 2004/05
|
|
|
|
|
|
|
L'obiettivo del corso è quello di introdurre lo studente alle tecniche di progettazione di basi di dati, discutendone le varie fasi quali l'analisi dei requisiti, la progettazione concettuale della base di dati, la trasformazione del progetto concettuale in un progetto logico, e l'implementazione delle funzionalità necessarie mediante un linguaggio di definizione e manipolazione dei dati che a questo progetto logico faccia riferimento. Il corso dà luogo al conseguimento di 6 CFU.
- Introduzione (4 ore)
- Basi di dati e sistemi di gestione di basi di dati
- Architettura di un sistema di gestione di basi di dati
- La progettazione di una base di dati
- La progettazione concettuale di una base di dati (12 ore)
- Il modello entità-associazione (ER)
- Il modello entità-associazione esteso (EER)
- Progettazione concettuale di basi di dati mediante modello EER
- La progettazione logica di una base di dati (16 ore)
- Il modello relazionale
- L'algebra relazionale
- Progettazione logica di basi di dati mediante traduzione di schemi EER in schemi relazionali
- La normalizzazione di schemi relazionali
- Il linguaggio SQL-99 (16 ore)
- Il data definition language di SQL
- Il data manipulation language di SQL
- Embedded SQL
Il corso fa parte del I anno del Corso di Laurea in Informatica, Università di Padova, ed è collocato nel III trimestre dell'Anno Accademico 2004/05, con inizio il 19.04.2004 e termine il 17.06.2004, con il seguente orario:
Giorno Orario Aula Lezione Martedì 11.15 -- 13.00 LUM250 Lezione Mercoledì 11.15 -- 13.00 LUM250 Lezione Giovedì 11.15 -- 13.00 LUM250 Laboratorio, Gruppo I Martedì 14.00 -- 15.40 Aula C Laboratorio, Gruppo II Martedì 15.50 -- 17.20 Aula C
Chi avesse intenzione di usufruire dell'orario di ricevimento è cortesemente invitato ad avvertirmi in precedenza.
Giorno Orario Aula Giovedì 16.00 -- 17.00 Studio 116, I piano Plesso Paolotti
L'esame consiste in una prova scritta, in un progetto, e in una prova orale. Prova scritta e prova orale possono essere sostenute in appelli differenti. La partecipazione a una prova scritta dà luogo all'annullamento di eventuali voti conseguiti in precedenti prove scritte.Per poter sostenere una determinata prova scritta è necessario essersi registrati mediante la lista di prenotazione appositamente costituita.
Per poter sostenere la prova orale è necessario aver superato con esito sufficiente la prova scritta (nel medesimo appello o in un appello precedente), aver consegnato al docente il progetto con almeno 7 giorni di anticipo rispetto alla data della prova orale, ed essersi registrati mediante la lista di prenotazione appositamente costituita. Si noti che le liste di prenotazione dello scritto e dell'orale sono indipendenti. Il progetto consegnato rimane valido per gli appelli successivi, anche in caso di mancato superamento di una prova scritta e\o di una prova orale.
Chi si fosse registrato a una lista di prenotazione e decidesse invece di non presentarsi è pregato di cancellarsi dalla lista o, in caso la lista fosse già scaduta, di darne tempestiva comunicazione al docente.
Appello Tipo Giorno Orario Aule Risultati I Scritto Lunedì 20 giugno 2005 15.00 -- 16.30 LUM250, LUF1, LUF2 Disponibili I Orale Mercoledì 22 giugno 2005 15.00 -- 19.00 P100 ---------- II Scritto Lunedì 4 luglio 2005 15.00 -- 16.30 LUM250, LUF1, LUF2 Disponibili II Orale Martedì 5 luglio 2005 15.00 -- 19.00 P50 ---------- III Scritto Lunedì 29 agosto 2005 15.00 -- 16.30 LUM250, LUF1, LUF2 Disponibili III Orale Mercoledì 31 agosto 2005 9.00 -- 19.00 P100 ---------- IV Scritto Lunedì 19 settembre 2005 15.00 -- 16.30 LUM250, LUF1, LUF2 Disponibili IV Orale Mercoledì 21 settembre 2005 9.00 -- 19.00 P100 ----------
Il lavoro consiste nella progettazione e nello sviluppo di una base di dati per un'organizzazione a scelta dello studente, che potrà quindi applicare le proprie conoscenze alla soluzione di un caso reale di interesse applicativo proprio o di propri familiari, amici, etc. Esempi possono essere una base di dati per automatizazre le esigenze informative del negozio gestito dalla famiglia dello studente, della squadra sportiva che lo studente allena, del circolo culturale di cui lo studente è membro, etc. Il livello di complessità deve essere almeno quello della base di dati AZIENDA discussa a lezione.Il progetto può essere svolto singolarmente o a coppie.
Il lavoro deve obbligatoriamente comprendere:
Come implementazione di SQL andrà utilizzato il sistema MySQL.
- Una descrizione testuale dei requisiti, come risultanti da una ipotetica analisi dei requisiti.
- La progettazione dello schema concettuale della base di dati nel modelo EER (usando per i vincoli di partecipazione la notazione di Figura 3.15 anziché quella di Figura 3.2).
- La progettazione dello schema logico della base di dati.
- L'implementazione dello schema logico nel DDL del linguaggio SQL.
- La realizzazione di alcune interrogazioni significative nel DML del linguaggio SQL; per ciascuna di queste interrogazioni va data una descrizione testuale di cosa l'interrogazione si propone di fare.
Lo studente dovrà consegnare al docente una relazione (in forma cartacea) del lavoro svolto in cui siano evidenziati i risultati delle tre fasi sopra descritte, nonché la metodologia seguita. La consegna può essere fatta lasciando la relazione nella casella di posta del docente, al primo piano dell'edificio (in prossimità dell'ufficio Rossi-Sperduti).
Il lavoro dovrà essere consegnato anche in forrma elettronica eseguendo il comando
da una directory dove sono contenuti solo i files da consegnare. I file che contengono gli script SQL per la creazione del database e le query devono essere perfettamente funzionanti, cioè fatti in modo da poter essere provati usando il client mysql da riga di comando. Inoltre devono avere estensione .sqlconsegna progetto_basidati1Il progetto concorrerà alla determinazione del voto finale con cui lo studente avrà superato l'esame. Elementi che verranno presi in considerazione ai fini di tale valutazione saranno la correttezza dei risultati, la complessità del problema affrontato, l'appropriatezza della metodologia seguita, la chiarezza espositiva della relazione, e se il progetto è stato relizzato da solo o in coppia.
Un esempio di progetto, indicativo per struttura e complessità, può essere scaricato cliccando qui.
Il libro adottato è
![]()
Ramez Elmasri e Shamkant Navathe. Sistemi di basi di dati. Fondamenti. 4a Edizione. Pearson/Addison Wesley, 2004. Utile per la consultazione può essere anche il libro
![]()
Luke Welling e Laura Thomson. MySQL Tutorial. Pearson/Addison Wesley, 2004.
La seguente tabella indica in dettaglio le parti del testo Elmasri/Navathe coperte dal corso
Legenda: Letture obbligatorie Letture consigliate Letture da saltare
Cap 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5 5.1 5.2 5.3 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 7 7.1 7.2 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 9 9.1 9.2 9.3 9.4 9.5 9.6 10 10.1 10.2 10.3 10.4 10.5 11 11.1 11.2 11.3 11.4 11.5 11.6 12 12.1 12.2 12.3 12.4 12.5 Il seguente calendario delle lezioni contiene le copie dei lucidi utilizzati durante le lezioni.
Data | Tema della lezione | Lucidi | |
---|---|---|---|
1 | 19 aprile 2005 | Introduzione: sistemi informativi, sistemi informatici, e basi di dati | Disponibili |
2 | 20 aprile 2005 | Sistemi di gestione di basi di dati | [Vedi lucidi precedenti] |
3 | 21 aprile 2005 | Modelli dei dati | Disponibili |
4 | 26 aprile 2005 | Progettazione di una base di dati | Disponibili |
5 | 27 aprile 2005 | Il modello (E)ER: entità, attributi, associazioni | [Vedi lucidi precedenti] |
6 | 28 aprile 2005 | [Esercizi di progettazione concettuale di DB mediante modello (E)ER] | [Vedi lucidi precedenti] |
7 | 3 maggio 2005 | Il modello EER: sottoclassi, specializzazioni, categorie | Disponibili |
8 | 4 maggio 2005 | Schemi e sottoschemi nella progettazione concettuale | Disponibili |
9 | 5 maggio 2005 | Il modello relazionale: concetti introduttivi | Disponibili |
10 | 10 maggio 2005 | Il modello relazionale: aspetti formali e vincoli di integrità | [Vedi lucidi precedenti] |
11 | 11 maggio 2005 | Mapping da schemi EER a schemi relazionali | Disponibili |
12 | 12 maggio 2005 | Operazioni di modifica e consultazione | Disponibili |
13 | 17 maggio 2005 | AR: operazioni di base | [Vedi lucidi precedenti] |
14 | 18 maggio 2005 | AR: operazioni di giunzione | [Vedi lucidi precedenti] |
15 | 19 maggio 2005 | Il calcolo relazionale delle tuple | Disponibili |
16 | 24 maggio 2005 | SQL: caratteristiche generali | Disponibili |
17 | 25 maggio 2005 | SQL: il DDL | [Vedi lucidi precedenti] |
18 | 26 maggio 2005 | SQL: comandi di aggiornamento; SELECT di base | [Vedi lucidi precedenti] |
Lab1 | 31 maggio 2005 | Introduzione a MySQL e MySQLCC | ---------- |
19 | 1 giugno 2005 | SQL: SELECT avanzate | Disponibili |
Lab2 | 7 giugno 2005 | Uso del DDL di MySQL | ---------- |
20 | 8 giugno 2005 | Il VDL di SQL | [Vedi lucidi precedenti] |
Lab3 | 9 giugno 2005 | Uso del DML di MySQL | ---------- |
Lab4 | 15 giugno 2005 | Esercitazioni con uso di MySQL | ---------- |