Laboratorio Di Basi Di Dati 01 Introduzione

18

Click here to load reader

Transcript of Laboratorio Di Basi Di Dati 01 Introduzione

Page 1: Laboratorio Di  Basi Di  Dati 01 Introduzione

1

A.A. 2005/2006 Basi di Dati e Laboratorio 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 2

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 3

Programma

• Soluzioni disponibili per diverse piattaforme (e.g., Windows, Linux)

• Soluzioni Open Source

Le tecnologie che verranno illustrate a lezione sono state selezionate sulla base dei seguenti criteri:

Per la realizzazione del progetto, gli studenti possono adottare le soluzioni tecnologiche che ritengono opportune purché esse consentano di realizzare completamente le specifiche richieste

Page 2: Laboratorio Di  Basi Di  Dati 01 Introduzione

2

A.A. 2005/2006 Basi di Dati e Laboratorio 4

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 5

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 6

DBMS

• PostgreSQL– Architettura– Creazione di database e utenti– Tabelle, chiavi primarie, chiavi esterne– Vincoli di integrità referenziale

• PLSQL ed Embedded SQL– Trigger– Procedure– Funzioni

Page 3: Laboratorio Di  Basi Di  Dati 01 Introduzione

3

A.A. 2005/2006 Basi di Dati e Laboratorio 7

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 8

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 9

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

Page 4: Laboratorio Di  Basi Di  Dati 01 Introduzione

4

A.A. 2005/2006 Basi di Dati e Laboratorio 10

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 11

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 12

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 FileSystemcompletamente accessibile all’utente che esegue l’installazione)

• Installare la versione stabile più recente– Ad oggi la versione 8.1

Page 5: Laboratorio Di  Basi Di  Dati 01 Introduzione

5

A.A. 2005/2006 Basi di Dati e Laboratorio 13

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 14

PostgreSQL – Windows

• Installare la versione 8.1 supportata nativamenteda 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 15

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

Page 6: Laboratorio Di  Basi Di  Dati 01 Introduzione

6

A.A. 2005/2006 Basi di Dati e Laboratorio 16

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 17

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 18

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 &

Page 7: Laboratorio Di  Basi Di  Dati 01 Introduzione

7

A.A. 2005/2006 Basi di Dati e Laboratorio 19

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 20

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 21

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

Page 8: Laboratorio Di  Basi Di  Dati 01 Introduzione

8

A.A. 2005/2006 Basi di Dati e Laboratorio 22

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 23

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 24

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

Page 9: Laboratorio Di  Basi Di  Dati 01 Introduzione

9

A.A. 2005/2006 Basi di Dati e Laboratorio 25

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 26

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– fribidi.dll– gds32.dll– libeay32.dll– libmhash.dll– libmysql.dll

– msql.dll– ntwdblib.dll– php5apache2.dll– php5ts.dll– ssleay32.dll– yaz.dll

A.A. 2005/2006 Basi di Dati e Laboratorio 27

PHP - Windows

• Copiare il file php.ini-recommended in PHPinstallDIR, rinominarlo come php.ini e modificarlo come segue:– Modificare le direttive

• include_path = "PHPinstallDIR\includes"• extension_dir = "PHPinstallDIR\extensions"

– Abilitare le seguenti estensioni• extension=php_mysql.dll• extension=php_pgsql.dll• extension=php_xsl.dll

• Copiare il contenuto della cartella extensions in PHPinstallDIR\extensions

Page 10: Laboratorio Di  Basi Di  Dati 01 Introduzione

10

A.A. 2005/2006 Basi di Dati e Laboratorio 28

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 "PHPinstallDIR/php5apache2.dll"

• AddType application/x-httpd-php .php• PHPIniDir "PHPinstallDIR"

• Aggiungere PHPinstallDIR alla variabile di sistema path

A.A. 2005/2006 Basi di Dati e Laboratorio 29

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 30

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

Page 11: Laboratorio Di  Basi Di  Dati 01 Introduzione

11

A.A. 2005/2006 Basi di Dati e Laboratorio 31

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 32

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 33

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

Page 12: Laboratorio Di  Basi Di  Dati 01 Introduzione

12

A.A. 2005/2006 Basi di Dati e Laboratorio 34

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 35

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 36

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

Page 13: Laboratorio Di  Basi Di  Dati 01 Introduzione

13

A.A. 2005/2006 Basi di Dati e Laboratorio 37

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 38

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 39

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

Page 14: Laboratorio Di  Basi Di  Dati 01 Introduzione

14

A.A. 2005/2006 Basi di Dati e Laboratorio 40

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 41

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 42

Specifiche aggiuntive• categoria.xsd

<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema

xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="name" type="xs:string"/><xs:element name="description" type="xs:string"/><xs:attribute name="categoryid" type="xs:string"/><xs:element name="category"><xs:complexType><xs:sequence>

<xs:element ref="name"/><xs:element ref="description" minOccurs="0"/><xs:element ref="category" minOccurs="0"

maxOccurs="unbounded" /></xs:sequence> <xs:attribute ref="categoryid" use="required"/> </xs:complexType></xs:element></xs:schema>

Page 15: Laboratorio Di  Basi Di  Dati 01 Introduzione

15

A.A. 2005/2006 Basi di Dati e Laboratorio 43

Specifiche aggiuntive• Esempio di file XML conforme a categoria.xsd

<?xml version="1.0" encoding="ISO-8859-1"?><category categoryid="A"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="categoria.xsd">

<name>Example A</name><description>Long description</description><category categoryid="B"><name>Example B</name><description>Long description</description>

</category><category categoryid="C"><name>Example C</name><description>Long description</description>

</category></category>

A.A. 2005/2006 Basi di Dati e Laboratorio 44

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 45

Specifiche aggiuntive

• Esempi di similarità Sim(D,E) = Sim(B,C)

Sim(D,E) > Sim (D,C)

Page 16: Laboratorio Di  Basi Di  Dati 01 Introduzione

16

A.A. 2005/2006 Basi di Dati e Laboratorio 46

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 47

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 48

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

Page 17: Laboratorio Di  Basi Di  Dati 01 Introduzione

17

A.A. 2005/2006 Basi di Dati e Laboratorio 49

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 50

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 51

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

Page 18: Laboratorio Di  Basi Di  Dati 01 Introduzione

18

A.A. 2005/2006 Basi di Dati e Laboratorio 52

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 53

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 54

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/