1. Corso di Basi di Dati e Laboratorio
Presentazione del corso di
Laboratorio
Alfio Ferrara - Stefano Montanelli
A.A. 2005/2006 Basi di Dati e Laboratorio 1
Programma
• Il laboratorio è complessivamente
composto di 48 ore
• E’ previsto lo svolgimento di un progetto
finale
• Due temi principali:
– DBMS
• PostgreSQL
• MySQL
– Database e Web
• Apache
• PHP
A.A. 2005/2006 Basi di Dati e Laboratorio 2
Programma
Le tecnologie che verranno illustrate a lezione sono
state selezionate sulla base dei seguenti criteri:
• Soluzioni disponibili per diverse piattaforme
(e.g., Windows, Linux)
• Soluzioni Open Source
Per la realizzazione del progetto, gli studenti
possono adottare le soluzioni tecnologiche che
ritengono opportune purché esse consentano di
realizzare completamente le specifiche richieste
A.A. 2005/2006 Basi di Dati e Laboratorio 3
1
2. Esercitazioni
• Algebra relazionale
• SQL
• Progettazione di una base di dati
relazionale
– Specifica di un problema
– Definizione del modello E/R
– Traduzione nel modello relazionale
– Strumenti CASE per il supporto alla
progettazione
• Caratteristiche degli strumenti CASE
• Un prodotto commerciale: ERWin
• Un prodotto non commerciale: DbDesigner4
• Esempi di progettazione
A.A. 2005/2006 Basi di Dati e Laboratorio 4
DBMS
• Introduzione
– Architettura c/s dei DBMS
– Prodotti a confronto
• Oracle
• Access
• SQLServer
• PostgreSQL
• MySQL
• MySQL
– Architettura
– Creazione di database e utenti
– Tabelle, chiavi primarie, chiavi esterne
– Vincoli di integrità referenziale
A.A. 2005/2006 Basi di Dati e Laboratorio 5
DBMS
• PostgreSQL
– Architettura
– Creazione di database e utenti
– Tabelle, chiavi primarie, chiavi esterne
– Vincoli di integrità referenziale
• PLSQL ed Embedded SQL
– Trigger
– Procedure
– Funzioni
A.A. 2005/2006 Basi di Dati e Laboratorio 6
2
3. Database e Web
• Introduzione al Web
– Architettura client-server
– La condizione stateless
– Protocolli e standard del Web
• HTTP
• HTML
• XML
– Funzioni di un browser
– Prospettive (Web Service e Semantic Web)
A.A. 2005/2006 Basi di Dati e Laboratorio 7
Database e Web
• Programmazione Web
– La funzione delle pagine dinamiche
– Script lato client e script lato server
– Programmi CGI
– Uso degli script lato server
– Tecnologie a confronto
• PHP
• ASP
• JSP
– Il Web procedurale: ASP.NET
– Uso degli script lato client
• Javascript
A.A. 2005/2006 Basi di Dati e Laboratorio 8
Database e Web
• I Web Server
– Funzioni di un Web server
– Servizi e porte di comunicazione
– Directory di pubblicazione e directory virtuali
– Tecnologie a confronto
• Apache
• Internet Information Services (IIS)
• Tomcat
– Configurazione di un server Apache
A.A. 2005/2006 Basi di Dati e Laboratorio 9
3
4. Database e Web
• PHP
– Introduzione al linguaggio
– File di configurazione: php.ini
– Strutture del linguaggio
– Passaggio di parametri: GET/POST
– Interazione con database: MySQL e
PostgreSQL
– Persistenza di stato: Cookie e Sessioni
– PEAR
• Classi astratte per la connessione ad un database
• Classi per l’interazione con la posta elettronica
– Supporto per XML
A.A. 2005/2006 Basi di Dati e Laboratorio 10
DBMS
• PostegreSQL
– http://www.postgresql.org
– DBMS relazionale Open Source (licenza BSD)
– Applicazione Client – Server
– La distribuzione consiste in un server e una
applicazione client da riga di comando (psql)
– Possibilità di usare una GUI per l’amministrazione del
server (pgAdmin III)
• MySQL
– http://www.mysql.com
– DBMS relazionale Open Source (licenza GPL)
– Applicazione Client – Server
– La distribuzione consiste in un server e una
applicazione client da riga di comando (mysql)
– Possibilità di usare una GUI per l’amministrazione del
server (phpMyAdmin)
A.A. 2005/2006 Basi di Dati e Laboratorio 11
PostgreSQL
• Possibilità offerte per l’installazione:
– Compilazione dei sorgenti
• Prevalentemente per Linux/MacOSX
– Utilizzo di una distribuzione binaria
• Disponibile sia per Linux/MacOSX sia per Windows
– PostgreSQL può essere installato senza possedere i
privilegi di root (in una porzione del FileSystem
completamente accessibile all’utente che esegue
l’installazione)
• Installare la versione stabile più recente
– Ad oggi la versione 8.1
A.A. 2005/2006 Basi di Dati e Laboratorio 12
4
5. PostgreSQL – Linux
• ./configure
• Gmake
• Su
• Gmake install
• Adduser postgres
• Mkdir /usr/local/pgsql/data
• Chown postgres /usr/local/pgsql/data
• Su - postgres
• /usr/local/pgsql/bin/initdb -D
/usr/local/pgsql/data
• /usr/local/pgsql/bin/postmaster -D
/usr/local/pgsql/data > logfile 2>&1&
• /usr/local/pgsql/bin/createdb test
• /usr/local/pgsql/bin/psql test
A.A. 2005/2006 Basi di Dati e Laboratorio 13
PostgreSQL – Windows
• Installare la versione 8.1 supportata nativamente
da Windows
– E’ preferibile utilizzare una versione 2K/XP di
Windows
• Eseguire l’installer e seguire la procedura di
installazione
– Installare come servizio
– Creare l’account per l’inizializzazione del servizio
– Creare l’utente superuser del DBMS
– Impostare il cluster che il DBMS dovrà utilizzare
• Se non ci sono esigenze particolari, non modificare le opzioni
di default
A.A. 2005/2006 Basi di Dati e Laboratorio 14
PostgreSQL
• Account per l’inizializzazione del servizio
– E’ l’account di sistema che “lancia” il servizio
PostgreSQL
– E’ preferibile che non abbia privilegi di
amministrazione sulla macchina
– NON è un utente del DBMS
• Superuser del DBMS
– E’ l’utente con privilegi di amministrazione su
PostgreSQL
– E’ inizialmente l’unico utente configurato per
l’accesso al DBMS
A.A. 2005/2006 Basi di Dati e Laboratorio 15
5
6. PostgreSQL
• Inizialmente su PostgreSQL sono presenti
due database (template0, template1) che
sono i modelli da cui vengono generati
nuovi database
• Prima connessione al DBMS
– E’ necessario specificare l’utente e il database
a cui connettersi
– psql –U <nomesuperuser> template1
A.A. 2005/2006 Basi di Dati e Laboratorio 16
MySQL
• Possibilità offerte per l’installazione:
– Compilazione dei sorgenti
• Prevalentemente per Linux/MacOSX
– Utilizzo di una distribuzione binaria
• Disponibile sia per Linux/MacOSX sia per Windows
• Installare la versione stabile più recente
– Ad oggi la versione 5.0.15
A.A. 2005/2006 Basi di Dati e Laboratorio 17
MySQL – Linux
• groupadd mysql
• useradd -g mysql mysql
• gunzip < mysql-VERSION.tar.gz | tar -xvf –
• cd mysql-VERSION
• ./configure --prefix=/usr/local/mysql
• make
• make install
• scripts/mysql_install_db
• chown -R root /usr/local/mysql
• chown -R mysql /usr/local/mysql/var
• chgrp -R mysql /usr/local/mysql
• cp support-files/my-medium.cnf /etc/my.cnf
• /usr/local/mysql/bin/mysqld_safe --user=mysql &
A.A. 2005/2006 Basi di Dati e Laboratorio 18
6
7. MySQL – Windows
• Se si utilizza una versione 2K/XP è
necessario avere i permessi di
amministratore
• Scompattare il file della distribuzione in
una cartella temporanea
• Eseguire il file setup.exe e seguire la
procedura di installazione
– Se si utilizza una versione 2K/XP,
selezionare il server mysqld-nt
– Installare con supporto alle connessioni
remote
A.A. 2005/2006 Basi di Dati e Laboratorio 19
MySQL
• Inizialmente su MySQL è presente il
database di sistema MySQL che contiene
tutte le impostazioni del DBMS
• Prima connessione al DBMS
– MySQL accetta di default connessione da
parte di qualsiasi utente
– L’utente root è creato automaticamente e ha
privilegi di amministrazione sul DBMS
– mysql –u root –p
• L’opzione –p viene specificata se root ha una
password
A.A. 2005/2006 Basi di Dati e Laboratorio 20
Web Server
• Apache – HTTP server
– http://www.apache.org/
– Il server Apache deve la sua diffusione all’elevata
flessibilità nelle opzioni di configurazione
– Il file httpd.conf contiene le direttive di configurazione
del server
• Installare la versione stabile più recente
– Ad oggi la versione 2.0.55
A.A. 2005/2006 Basi di Dati e Laboratorio 21
7
8. Apache – Linux
• ./configure –prefix=/usr/local/apache --enable-
module=rewrite --enable-shared=rewrite --enable-
module=proxy --enable-shared=proxy
• make
• make install
A.A. 2005/2006 Basi di Dati e Laboratorio 22
Apache – Windows
• Se si utilizza una versione 2K/XP è
necessario avere i permessi di
amministratore
• Eseguire l’installer scaricato dal sito e
seguire la procedura di installazione
– Installare Apache come servizio
– Specificare nome del server, dominio, e-mail
dell’amministratore del Web Server
A.A. 2005/2006 Basi di Dati e Laboratorio 23
Linguaggi
• PHP
– http://www.php.net/
– Linguaggio di scripting opensource
– La versione 5 introduce nel linguaggio il
paradigma ad oggetti
– Retro-compatibilità largamente garantita, con
alcune significative eccezioni:
• Supporto XML
• Installare la versione stabile più recente
– Ad oggi la versione 5.0.4
A.A. 2005/2006 Basi di Dati e Laboratorio 24
8
9. PHP – Linux
• ./configure --with-apxs=/usr/bin/apxs --
prefix=/usr/local/php-4.3.0/ --with-pgsql --with-
dom --with-dom-xslt --with-dom-exslt --with-config-
file-path=/etc/php/ --enable-track-vars --enable-
trans-sid --enable-ftp --with-wddx --enable-ctype -
-with-gd --with-freetype-dir=/usr --with-zlib-
dir=/usr --enable-gd-native-ttf --with-expat-
dir=/usr --with-imagemagick --with-recode --with-
gettext
• make
• make install
A.A. 2005/2006 Basi di Dati e Laboratorio 25
PHP – Windows
• Scaricare la versione binaria priva di installer e
scompattare il package in una cartella temporanea
• Creare la cartella di installazione di PHP (e.g.,
c:php), di seguito chiamata PHPinstallDIR.
• Leggere il file install.txt e seguire la procedura di
installazione manuale in modalità SAPI module per
Apache2
• Copiare le seguenti librerie in PHPinstallDIR:
– fdftk.dll – msql.dll
– fribidi.dll – ntwdblib.dll
– gds32.dll – php5apache2.dll
– libeay32.dll – php5ts.dll
– libmhash.dll – ssleay32.dll
– libmysql.dll – yaz.dll
A.A. 2005/2006 Basi di Dati e Laboratorio 26
PHP - Windows
• Copiare il file php.ini-recommended in
PHPinstallDIR, rinominarlo come php.ini e
modificarlo come segue:
– Modificare le direttive
• include_path = quot;PHPinstallDIRincludesquot;
• extension_dir = quot;PHPinstallDIRextensionsquot;
– Abilitare le seguenti estensioni
• extension=php_mysql.dll
• extension=php_pgsql.dll
• extension=php_xsl.dll
• Copiare il contenuto della cartella
extensions in PHPinstallDIRextensions
A.A. 2005/2006 Basi di Dati e Laboratorio 27
9
10. PHP – Windows
• Configurare il server Apache per il
supporto al PHP come modulo
– Aggiungere al file httpd.conf di Apache le
seguenti righe:
• LoadModule php5_module
quot;PHPinstallDIR/php5apache2.dllquot;
• AddType application/x-httpd-php .php
• PHPIniDir quot;PHPinstallDIRquot;
• Aggiungere PHPinstallDIR alla variabile di
sistema path
A.A. 2005/2006 Basi di Dati e Laboratorio 28
Progetto
Applicazione di basi di dati per la gestione di
aste on-line
Una società commerciale intende offrire ai propri clienti
registrati un'applicazione Web che permetta loro di gestire la
compravendita di oggetti mediante aste on-line
A.A. 2005/2006 Basi di Dati e Laboratorio 29
Descrizione
• Come in quelle tradizionali, anche nelle aste on-line la
caratterizzazione del servizio sta nel fatto che il prezzo di
vendita di un oggetto deriva da una contrattazione in cui
l'acquirente decide il prezzo che è disposto a pagare
• L'oggetto viene messo all'asta dal venditore ad un prezzo
minimo fissato (base d'asta), al di sotto del quale non vi
saranno assegnazioni
• Nel caso in cui il valore minimo venga superato, chi ha
fatto l'offerta più elevata risulta vincitore e si vede
assegnato l'oggetto
• Esiste anche un tempo massimo di durata dell'asta,
superato il quale le contrattazioni si fermano e vengono
valutate le condizioni d'assegnazione
• Durante il periodo di contrattazione, i potenziali acquirenti
possono intervenire nella contrattazione rilanciando il
prezzo e cercando di aggiudicarsi l'oggetto
A.A. 2005/2006 Basi di Dati e Laboratorio 30
10
11. Descrizione
• L'asta può riguardare un oggetto di qualsiasi genere. Per
questo motivo gli oggetti messi all'asta vengono
classificati rispetto ad una tassonomia di categorie che
permettono una rapida ed efficiente consultazione degli
oggetti attualmente disponibili per la contrattazione
• In seguito ad un acquisto, l’acquirente è chiamato ad
esprimere un giudizio relativamente alla propria
soddisfazione in merito alla transazione effettuata. Tale
giudizio ha lo scopo di valutare il comportamento dei
venditori e contribuisce a delineare la reputazione di
ciascuno di essi
• Tutte le contrattazioni avvengono in valuta EURO
• Sono previste le seguenti categorie d’utenza
– Utenti non registrati
– Utenti registrati
– Amministratori
A.A. 2005/2006 Basi di Dati e Laboratorio 31
Specifiche essenziali
• Utenti non registrati. Funzionalità
minime:
– Scorrere la tassonomia delle categorie di
oggetti in vendita
– Consultare l'elenco degli oggetti all'asta
– NON sono autorizzati a presentare offerte
d'acquisto
– NON possono visionare i dettagli relativi ad
un'asta (e.g., base d'asta, ultima offerta, nome
del venditore, scadenza del periodo
contrattazione)
A.A. 2005/2006 Basi di Dati e Laboratorio 32
Specifiche essenziali
• Utenti registrati. Sono caratterizzati da
informazioni anagrafiche (e.g., nome, cognome,
indirizzo) e tecniche (e.g., codice identificativo,
username, password). Funzionalità minime:
– Iniziare una nuova asta
• Definisce la base d’asta
• Definisce i termini del periodo di contrattazione
• Colloca l'oggetto all'asta in una delle categorie di vendita
previste dalla tassonomia
– Partecipare ad un'asta
• Visiona lo stato corrente di un oggetto all'asta (e.g., base
d'asta, venditore, termini di contrattazione, ultima offerta)
• Rilancia le ultime offerte. Rilancio minimo di almeno 1 EURO
rispetto alla precedente ultima offerta
A.A. 2005/2006 Basi di Dati e Laboratorio 33
11
12. Specifiche essenziali
• Utenti registrati. Funzionalità minime:
– Esprimere giudizi sulle contrattazioni concluse
• Giudizio espresso mediante intero 1 ≤ V ≤ 5 (V=1
soddisfazione minima – V=5 soddisfazione
massima) e un commento testuale a discrezione
dell'acquirente
– Specificare interessi
• Selezionando dalla tassonomia una o più categorie
di vendita
• Un utente può rilanciare un'offerta per qualsiasi
oggetto all'asta indipendentemente dagli interessi
dichiarati
A.A. 2005/2006 Basi di Dati e Laboratorio 34
Specifiche essenziali
• Amministratori. Funzionalità minime:
– Aggiornamento della tassonomia delle
categorie di vendita
• Aggiunta di categorie
• Modifica di categorie
• Cancellazione di categorie
– Gestione degli utenti “maliziosi” sulla base
della loro reputazione
• La reputazione si misura con la media aritmetica
dei giudizi ricevuti
• L'amministratore può decidere di disabilitare gli
utenti con reputazione R < 2
A.A. 2005/2006 Basi di Dati e Laboratorio 35
Specifiche essenziali
• Amministratori. Funzionalità minime:
– Storico aste
• Visionare per ogni utente registrato le offerte da lui
presentate (raggruppate per oggetto)
• Visionare per ogni oggetto, la sequenza
cronologica di offerte ricevute
• L'elenco delle transazioni concluse
A.A. 2005/2006 Basi di Dati e Laboratorio 36
12
13. Specifiche essenziali
• Ulteriori vincoli:
– La cancellazione di una categoria implica la
cancellazione di tutte le corrispondenti sotto-
categorie
– Non è possibile cancellare una categoria se
esistono oggetti all'asta appartenenti a quella
categoria
– Non possono esistere due categorie con il
medesimo nome
A.A. 2005/2006 Basi di Dati e Laboratorio 37
Specifiche essenziali
• Ulteriori vincoli:
– In ogni momento il venditore può ridurre la base d'asta
– Durante il periodo di contrattazione, il venditore NON
può ritirare un oggetto dall'asta e NON può aumentare
la base d'asta
– Durante il periodo di contrattazione, il venditore può
visualizzare la sequenza cronologica e l'entità delle
offerte ricevute
– Al termine del periodo di contrattazione, se la base
d'asta non è stata raggiunta, il venditore può decidere
di ritirare l'oggetto dall'asta o di modificare la base
d'asta e i termini di contrattazione a suo piacimento
A.A. 2005/2006 Basi di Dati e Laboratorio 38
Specifiche essenziali
• Ulteriori vincoli:
– Gli oggetti in vendita all'asta sono associati ad
un'immagine e ad una descrizione testuale
– Il termine della contrattazione deve essere
fissato con una data e un'orario
– Un oggetto NON può essere collocato in più di
una categoria di vendita
– Un utente registrato NON può presentare
offerte per oggetti che lui stesso ha messo
in vendita
A.A. 2005/2006 Basi di Dati e Laboratorio 39
13
14. Specifiche aggiuntive
• La tassonomia delle categorie di vendita è
specificata mediante un file XML il cui schema è
descritto nel file categoria.xsd
– Le categorie sono organizzate in una gerarchia nella
quale ogni categoria può avere N sotto-categorie
distribuite su M livelli, con N,M ∈N.
A.A. 2005/2006 Basi di Dati e Laboratorio 40
Specifiche aggiuntive
• Funzionalità previste:
– Acquisizione della tassonomia delle categorie di
vendita. L'applicazione Web deve permettere
all'amministratore l'acquisizione un file XML conforme
allo schema categoria.xsd da cui derivare la
tassonomia delle categorie che verrà utilizzata per
classificare gli oggetti in vendita
– Esportazione della tassonomia delle categorie di
vendita. L'applicazione deve permettere
all'amministratore la memorizzazione della
tassonomia delle categorie in un file XML conforme
allo schema categoria.xsd
A.A. 2005/2006 Basi di Dati e Laboratorio 41
Specifiche aggiuntive
• categoria.xsd
<?xml version=quot;1.0quot; encoding=quot;ISO-8859-1quot; ?>
<xs:schema
xmlns:xs=quot;http://www.w3.org/2001/XMLSchemaquot;>
<xs:element name=quot;namequot; type=quot;xs:stringquot;/>
<xs:element name=quot;descriptionquot; type=quot;xs:stringquot;/>
<xs:attribute name=quot;categoryidquot; type=quot;xs:stringquot;/>
<xs:element name=quot;categoryquot;>
<xs:complexType><xs:sequence>
<xs:element ref=quot;namequot;/>
<xs:element ref=quot;descriptionquot; minOccurs=quot;0quot;/>
<xs:element ref=quot;categoryquot; minOccurs=quot;0quot;
maxOccurs=quot;unboundedquot; />
</xs:sequence>
<xs:attribute ref=quot;categoryidquot; use=quot;requiredquot;/>
</xs:complexType></xs:element></xs:schema>
A.A. 2005/2006 Basi di Dati e Laboratorio 42
14
15. Specifiche aggiuntive
• Esempio di file XML conforme a categoria.xsd
<?xml version=quot;1.0quot; encoding=quot;ISO-8859-1quot;?>
<category categoryid=quot;Aquot;
xmlns:xsi=quot;http://www.w3.org/2001/XMLSchema-instancequot;
xsi:noNamespaceSchemaLocation=quot;categoria.xsdquot;>
<name>Example A</name>
<description>Long description</description>
<category categoryid=quot;Bquot;>
<name>Example B</name>
<description>Long description</description>
</category>
<category categoryid=quot;Cquot;>
<name>Example C</name>
<description>Long description</description>
</category>
</category>
A.A. 2005/2006 Basi di Dati e Laboratorio 43
Specifiche aggiuntive
• Funzionalità previste
– Navigazione per similarità della tassonomia di
categorie. Dato un prodotto, l’applicazione deve
permettere ad un qualsiasi utente di visualizzare un
elenco di prodotti simili con associata una misura di
similarità con il prodotto indicato. La similarità tra due
prodotti viene calcolata mediante euristiche basate
sulle categorie di appartenenza:
• due oggetti della stessa categoria hanno similarità massima
• la similarità fra oggetti di diverse categorie è proporzionale
alla lunghezza della porzione di albero da attraversare per
transitare da una categoria all’altra
A.A. 2005/2006 Basi di Dati e Laboratorio 44
Specifiche aggiuntive
• Esempi di similarità Sim(D,E) = Sim(B,C)
Sim(D,E) > Sim (D,C)
A.A. 2005/2006 Basi di Dati e Laboratorio 45
15
16. Specifiche aggiuntive
• Si richiede:
– la definizione dell’algoritmo e delle funzioni
necessarie a implementare le euristiche
presentate definendo anche le necessarie
misure di similarità
– l’implementazione del meccanismo e
dell’interfaccia di navigazione fra gli oggetti
d’asta basati sulla valutazione della similarità
A.A. 2005/2006 Basi di Dati e Laboratorio 46
Specifiche aggiuntive
• Funzionalità previste
– Notifica di nuove aste. Quando un oggetto viene
inserito in una categoria C per la vendita all'asta, tutti
gli utenti interessati a C riceveranno automaticamente
una email che li informa della nuova asta e dei relativi
dettagli (e.g., base d'asta, venditore, termini di
contrattazione)
– Notifica di nuove offerte. Quando un'offerta O viene
rilanciata con una nuova offerta, l'utente che ha
presentato O viene automaticamente notificato via
email del fatto che la sua offerta è stata superata.
Nella email vengono riportati i dettagli della nuova
offerta
A.A. 2005/2006 Basi di Dati e Laboratorio 47
Indicazioni per la discussione
• In sede di discussione del progetto è
necessario considerare le seguenti
indicazioni:
– Creare almeno un utente amministratore
– Creare almeno un utente registrato
– (Per coloro che implementano le specifiche
aggiuntive) Preparare un file XML conforme
allo schema categoria.xsd contenente
una tassonomia di categorie di vendita che
contenga almeno 20 categorie distribuite su 5
livelli
A.A. 2005/2006 Basi di Dati e Laboratorio 48
16
17. Valutazione
• I progetti validi vengono valutati in modo
differente in base alle funzionalità sviluppate:
– Range di valutazione -2 / +3. Progetti che realizzano
correttamente TUTTE le specifiche essenziali
– Range di valutazione -2 / +5. Progetti che, oltre alle
specifiche essenziali, realizzano correttamente TUTTE
le specifiche aggiuntive
• Per la realizzazione del progetto, gli studenti
possono adottare le soluzioni tecnologiche
che ritengono opportune purché esse
consentano di realizzare completamente le
specifiche richieste
A.A. 2005/2006 Basi di Dati e Laboratorio 49
Svolgimento
• Il progetto è obbligatorio e costituisce parte
integrante dell’esame
• Lo sviluppo dell’interfaccia Web è una componente
obbligatoria
• Il progetto deve essere funzionante in sede d’esame,
avvalendosi di un calcolatore portatile o on-line
• Il progetto può essere svolto in gruppi non superiori
alle tre unità. Per la valutazione dell’elaborato avrà
luogo un apposito colloquio a cui tutti i membri del
gruppo sono tenuti a partecipare
• I progetti sufficienti avranno validità UN ANNO a
decorrere dall'appello di consegna
• Utilizzare la mailing list BDLAB per scambiarsi
considerazioni, dubbi, perplessità
A.A. 2005/2006 Basi di Dati e Laboratorio 50
Materiale da consegnare
• Documentazione tecnica, in cui sono descritte in
maniera esauriente le scelte di progettazione concettuale
e di progettazione logica della base di dati e gli aspetti
metodologici
– Schema concettuale ER della base di dati
– Schema relazionale della base di dati
– Esauriente descrizione delle funzioni realizzate, l'elenco dei
prodotti software e dei linguaggi utilizzati
• Manuale utente, comprendente le istruzioni d'uso e le
note tecniche relative all'installazione dell'applicazione e
alla dotazione software necessaria per il corretto
funzionamento
• Prodotti software, comprendenti il dump SQL della base
di dati e TUTTI i sorgenti che costituiscono il progetto
A.A. 2005/2006 Basi di Dati e Laboratorio 51
17
18. Materiale da consegnare
• La documentazione tecnica e il manuale
utente dell'applicazione devono essere
consegnati sia in formato cartaceo che in
formato elettronico
• I prodotti software devono essere
consegnati in formato elettronico (floppy
disk o cd-rom)
A.A. 2005/2006 Basi di Dati e Laboratorio 52
Materiale da consegnare
• Tutto il materiale deve essere consegnato
in una busta chiusa:
– Indicare sulla busta: Progetto di Basi di dati
e Laboratorio 2005/2006
– Specificare nome, cognome, matricola,
indirizzo di posta elettronica di ciascun
componente del gruppo
A.A. 2005/2006 Basi di Dati e Laboratorio 53
Modalità di consegna
• Il progetto deve essere consegnato il
giorno stesso dell'appello scritto d'esame
ai docenti presenti in aula
– Per coloro che hanno sostenuto i compitini
l’ultima scadenza per la consegna è l’appello
di aprile
• I progetti consegnati saranno corretti
secondo calendario di discussione che
verrà pubblicato per ogni appello d'esame
sul sito Web del corso
– http://islab.dico.unimi.it/basi/
A.A. 2005/2006 Basi di Dati e Laboratorio 54
18