DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Informatica applicata: Basi di Dati e Sperimentazioni (5 CFU)

Laurea in Scienze della Comunicazione - Sede di IVREA

Anno accademico: 2002-2003

Docente: Luca ROVERSI


Consulenza didattica:


Indice


Appelli d'esame

  • Venerdì 13 febbraio 2004, ore 9:30, Dipartimento di Informatica -- Torino. Ultimo appello tenuto da me su Informatica Avanzata -- Basi di Dati
  • Venerdì 9 gennaio 2004, ore 9:30, Dipartimento di Informatica -- Torino
  • Venerdì 7 novembre 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 12 settembre 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 4 luglio 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 20 giugno 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 6 giugno 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 11 aprile 2003, ore 9:30, Officina H -- Ivrea
  • Venerdì 14 febbraio 2003, ore 9:30, Officina H -- Ivrea
  • Lunedì 20 gennaio 2003, ore 9:30, Officina H -- Ivrea

Torna all'indice


Obiettivi del corso

Il corso ha lo scopo di fornire gli strumenti metodologici di base per il progetto di semplici basi di dati.

Torna all'indice


Prerequisiti

Contenuti del corso di Informatica di Base.

Torna all'indice


Programma dettagliato del corso

  • Sistemi informativi
    Base di dati, nozioni di dato ed informazione, DBMS, architettura ANSI-SPARC'75, funzionalità di un DBMS, figura dell`amministratore di DBMS.
  • Progettazione concettuale:
    • schemi E-R: entità, attributi mono/multivalore, identificatori interni/esterni, relazioni n-arie e loro cardinalità, gerarchie;
    • assenza d'informazione e valore NULL;
    • metodologie di progettazione top-down, bottom-up e mista.
  • Progettazione logica:
    • DDL-SQL di InterBase6: datatypes, CREATE TABLE, vincoli intrarelazionali (NOT NULL, UNIQUE, PRIMARY KEY, DEFAULT), INSERT INTO TABLE, DROP TABLE, integrità referenziale, ALTER TABLE ADD CONSTRAINT,
    • algoritmo di massima per la traduzione di uno schema E-A in SQL (traduzione di relazioni (N,N),(1,N) e (1,1), entità con indentificatori interni ed esterni, gerarchie),
    • problemi di traduzione di vincoli d'integrità ciclici, istruzione COMMIT,
    • DML-SQL per interrogazioni semplici (proiezione/selezione su tabelle, ridenominazione degli attributi, alias (o copie) di tabelle, prodotti-cartesiani di tabelle),
    • DML-SQL per interrogazioni con l'operatore join.
  • InterBase6:
    • esempio di installazione di InterBase6 in ambiente Windows98,
    • accenni all'architettura client/server;
    • uso di IBConsole per:
      • connessione a server locale,
      • creazione di una base di dati,
      • commit delle transazioni;
    • uso della finestra I(nteractive)SQL,
    • uso dell'help on-line.
  • Microsoft Access2000:
    • uso dell'interfaccia

Torna all'indice


Libri di testo e Data Base Manangement System

  • Testo consigliato:
    • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone
      "Basi di Dati: Modelli e linguaggi di interrogazione"
      McGraw-Hill
  • Testo alternativo, egualmente valido:
    • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone
      "Basi di Dati" (II edizione)
      McGraw-Hill
  • DBMS:
NOTA: Il testo consigliato è ampiamente sufficiente a coprire gli argomenti trattati nel corso. Il testo alternativo è una versione estesa del testo consigliato.

Torna all'indice


Registro delle lezioni

  • 4 ottobre 2002
    Introduzione
    Sistemi informativi informatici
    • Sistemi informativi: alcuni esempi, e definizione formale.
    • Sistemi informatici: base di dati, nozioni di dato ed informazione, DBMS, architettura ANSI-SPARC'75, funzionalità di un DBMS, figura dell`amministratore di DBMS.
    Capitoli del testo: 1.1, 1.2, 1 (leggere bene).

    Introduzione alla progettazione concettuale
    Esempi informali di progettazione di schemi E-R (entity relationship) con l'introduzione delle nozioni:

    • entità (per rappresentare insiemi di oggetti reali),
    • attributo (usato come astrazione per la rappresentazione degli insiemi di oggetti reali in termini di tabelle, le quali sono state introdotte come prodotto cartesiano dei valori degli attributi)
    • identificatore (usato come insieme di valori isomorfi all'insieme entità da identificare),
    • relazioni (come strumento per associazioni tra entità degli insiemi reali).
    Capitoli del testo: 1.3 (leggere), 1.3.1 (leggere), 6.1 (leggere), 6.2 (studiare), 6.3 (leggere bene), 7.2 (leggere).
  • 11 ottobre 2002
    Relazioni insiemistiche
    Linguaggio Entità -Associazione
    • nozioni intuitive di sintassi e semantica,
    • entità,
    • relazioni n-arie: commenti ed esempi su relazioni binarie e ternarie, relazioni ricorsive e ruoli, proprietà di riflessività e antisimmetricità, espressività alternative di relazioni con diverso grado tra le stesse entità, cardinalità delle relazioni, obligatorietà delle occorrenze, esempi di costruzione delle relazioni tra valori degli attributi rilevanti delle entità coinvolte
    • gerarchie: uso per classificazione totale/parziale/sovrapposta/esclusiva.
    Capitoli del testo: 6.1 (leggere), 6.2 (studiare), 6.3 (leggere bene), 7.2 (leggere).
  • 25 ottobre 2002
    Linguaggio Entità -Associazione (II puntata)
    • cardinalità degli attributi,
    • differenza tra un attributo con cardinalità multipla e un`entità,
    • identificatori singoli, multipli, composti ed esterni,
    • assenza d'informazione, valore NULL, relazione tra l'assenza d'informazione e l'obbligatorietà dei valori degli attributi che compongono gli identificatori,
    Testi di esercizi di progettazione Capitoli del testo: 6.1 (leggere), 6.2 (studiare), 6.3 (leggere bene), 6.4 (per i più curiosi), 7.2 (leggere).
  • 15 novembre 2002
    Metodologie di progettazione concettuale
    • Criteri di trasformazione delle specifiche in concetti E-A
    • Strategie di sviluppo di uno schema E-A

    Capitoli del testo: 7.1 (leggere bene), 7.2 (studiare), 7.3 (leggere), 7.4 (leggere), 7.5 (leggere), 7.6 (studiare).

    Progettazione logica

    • Introduzione degli obiettivi e schemi E-A di riferimento per gli esempi.
    • Traduzione di entità E-A in DDL-SQL di InterBase6 e dettagli SQL per creazione/popolamento/alterazione/modifica/cancellazione tabelle (datatypes, CREATE/DROP TABLE, INSERT INTO TABLE, vincoli intrarelazionali: NOT NULL, UNIQUE, PRIMARY KEY, DEFAULT, CHECK).
    Capitoli del testo: 8.1 -- 8.2 (saltare o leggere per cultura generale), 8.3 (studiare bene tutti i sottoparagrafi), 4 (leggere introduzione), 4.1 (leggere), 4.1.1 (leggere), 4.1.3 (leggere), 4.1.5 (leggere), 4.1.6 (leggere), 4.1.8 (leggere), 4.3.1 (leggere), 4.4.1 (leggere).

    Un possibile approfondimento è il manuale "Language Reference" di InterBase6: CREATE TABLE pag.72, INSERT INTO TABLE pag. 127. DROP TABLE pag.110, per DEFAULT e FOREIGN KEY vedere CREATE TABLE, ALTER TABLE pag.28

  • 22 novembre 2002
    Introduzione al DBMS Interbase in laboratorio:
    • motivazioni per l'uso
    • architettura client/server
    • descrizione delle risorse di laboratorio (vnc viewer e server, repository manuali e software)
    • installazione e configurazione del DBMS InterBase (registrazione server locale, creazione di un database)
    • creare script con il testo per la definizione di tabelle SQL InterBase6
    • interpretare gli script tramite IBconsole
    • verificare l'avvenuta interpretazione, tramite IBconsole
    • documentazione on-line di IBconsole
    Possibili approfondimenti sono: capitoli 2 e 4 del manuale "Operations Guide" di InterBase6 per il COMMIT di transazioni interattive con IBConsole, e pag 28 del manuale "Language Reference" di InterBase6 per ALTER TABLE.

    Traduzione di schemi concettuali in schemi logici

    • integrità referenziale e comandi FOREIGN KEY, ALTER TABLE ADD CONSTRAINT;
    • relazioni (N,N)

    Capitoli del testo: 8.3 (studiare), 8.3.1 (studiare), 4.1.7 (leggere bene), 4.1.8 (leggere bene).

  • 29 novembre 2002
    Traduzione di schemi concettuali in schemi logici:
    • relazioni (1,N) e (1,1);
    • algoritmo di massima;
    • osservazioni sull'ordine di popolamento delle tabelle imposto dai vincoli interrelazionali.

    Capitoli del testo: 8.3.2 (studiare), 8.3.4 (studiare), 8.3.3 (studiare), 8.3.5 (studiare).

    Esercitazioni.

    • Traduzione degli schemi E-A Prenotazione esami e Cicli di lavorazione
    • Proposte di esercizi
    • Sorgenti SQL che propongono soluzioni agli esercizi dei due punti precedenti.

  • 6 dicembre 2002
    Traduzione di schemi concettuali in schemi logici:
    • associazioni che creano dipendenze cicliche
    • ALTER TABLE per la traduzione di dipendenze cicliche
    • accenno all'uso di Update table SET...

    Interrogazioni semplici (Sorgente SQL con esempi)

    • proiezione su tabelle,
    • ridenominazione dei nomi dei campi,
    • generazione di copie di tabelle (alias),
    • prodotti-cartesiani tra tabelle,
    • selezione su tabelle: uso della clausola WHERE, con operatori AND, OR, <>, =, >=, <=.

    Capitoli del testo: 4.2, 4.2.1 (studiare), 4.2.2 (studiare, SALTANDO sia l'interpretazione algebrica (pag.113), che i join interni ed esterni (pag. 115 -- 118)).

    Interrogazioni "complesse" I: prodotti cartesiani e join (Sorgenti SQL con esempi)

    Capitoli del testo: 4.2.2 (studiare join interni, a pag. 115)

    Proposte di interrogazioni per gli schemi logici di riferimento.

    Esercitazione in laboratorio.

  • 13 dicembre 2002

    Interrogazioni "complesse" II: annidate e con operatori aggregati e di aggregazione (Lucidi)

    • Sorgenti SQL dello schema logico di riferimento "Azienda".
    • Sorgenti SQL delle interrogazioni sullo schema logico di riferimento "Azienda", discusse a lezione.

    Capitoli del testo: 4.2.2 (studiare join interni, a pag. 115)

    Esercitazione in laboratorio.

  • 20 dicembre 2002

    Definizione dei dettagli sulle modalità d'esame.

    Esercitazione in laboratorio.

  • 10 gennaio 2003
    Costruire una base di dati con Microsoft Access.

    Torna all'indice


    Modalità d'esame

    L'esame consiste di due parti.

    • realizzazione o di uno dei sistemi informativi, descritti nei testi d'esame, o di un sistema informativo a piacere, la cui progettazione concettuale produca uno schema E-A in cui la somma del numero di entità e di relazioni sia almeno 9.
      Occorre attenersi alla metodologia progettuale, sviluppata nel corso. Il programma ne dettaglia i contenuti. Brevemente, la metodologia si compone delle fasi di progettazione concettuale e di progettazione logica. La progettazione logica può essere sviluppata sia prendendo come riferimento il DBMS InterBase6, sia una qualsiasi versione del DBMS Microsoft Access.
    • discussione orale che trae spunto dai risultati della prima parte. Quindi, la fase realizzativa del sistema informativo è una componente dell'esame propedeutica e non facoltativa per l'orale.
    Proprietà di linguaggio, precisione espositiva, rielaborazione personale saranno aspetti apprezzati della preparazione, verificati durante la discussione orale.
    Aspetti irrinunciabili della preparazione sono: capacità di lettura di uno schema E-A, e capacità di impostazione di una interrogazione in SQL, che coinvolga un paio di tabelle.
    La realizzazione del sistema informativo può essere sviluppata in gruppi di, al massimo, due componenti.

    Torna all'indice