Basi di dati T2/2006-2007

Da WikiDsy.
Versione del 13 dic 2006 alle 11:13 di 81.208.74.182 (discussione) (Lezione del 14/12/2006)

Orari delle lezioni

  • Martedì, 17:45-19:15, aula Beta
  • Mercoledì, 17:45-19:15, aula Beta
  • Giovedì, 17:45-19:15, aula Beta

Scaglione alfabetico

Il turno 2 comprende gli studenti nello scaglione H-Z

Professore

Alfio Ferrara

Sito del corso

Sito web del corso

Materiale didattico

Corso

Testo di riferimento:

Altri testi utili:

  • P.Atzeni, S. Ceri, S. Paraboschi, R. Torlone 'Basi di dati, II Edizione', McGraw-Hill, 1999.

Laboratorio

Testi consigliati:

  • L. Welling, L. Thomson 'MySQL Tutorial', Pearson-Addison Wesley, 2004.
  • David Sklar 'PHP 5 - Elementi di programmazione', McGraw-Hill, 2005.
  • A. Gutmans, S. Bakken, D. Rethans 'PHP 5 Guida Completa', Apogeo, 2005.

Materiale scaricabile

Modalità d'esame

L'esame consiste in una prova scritta, una (eventuale) discussione orale e nello svolgimento di un progetto di laboratorio.

Prova scritta Consiste di una parte A con domande di teoria e di una parte B con esercizi.

Discussione orale Per risultati fino a 24/30, SI CONFERMA DIRETTAMENTE il risultato della prova scritta. Per votazioni superiori a 24/30 OCCORRE SOSTENERE la prova orale per la conferma del voto; in caso contrario si intende confermata la votazione di 24/30.

Svolgimento di un progetto: vedere la sezione Progetto

Svolgimento dell'esame: che cosa bisogna fare Lo studente deve iscriversi OBBLIGATORIAMENTE VIA SIFA all'appello d'esame che intende sostenere. Lo studente che si iscrive ad un appello d'esame per sostenere lo scritto DEVE consegnare anche il progetto il giorno stesso dell'esame. Gli studenti che sostengono l'esame mediante le prove in itinere potranno consegnare il progetto entro e non oltre l'appello di Aprile.

IMPORTANTE. Qualora uno studente non superasse lo scritto, il progetto consegnato verrà corretto. I progetti sufficienti avranno validità un anno a decorrere dall'appello di consegna.

Progetto

Progetti di laboratorio

I progetti per l'Anno Accademico 2006-2007 verranno comunicati durante il corso.

Svolgimento dei progetti

Il progetto può essere svolto in gruppi di non più di 3 studenti. Può essere sviluppato su propri PC o presso i laboratori didattici, ma l'applicazione dovrà essere visionabile su un calcolatore portatile o on-line in sede d'esame. Per la valutazione dell’elaborato avrà luogo un apposito colloquio a cui tutti i membri del gruppo sono tenuti a partecipare. In casi giudicati eccezionali, e' anche possibile proporre un progetto alternativo. In questo caso dovrà essere inviata una email ai docenti allegando una descrizione della proposta di circa 2 pagine. La proposta sarà valutata dai docenti per l'eventuale accettazione.

Consegna dei progetti

Il progetto deve essere consegnato entro la data dell'appello d'esame scritto che lo studente intende sostenere. Il materiale deve essere consegnato entro la scadenza al prof. Ferrara durante il suo orario di ricevimento. In alternativa, il materiale può essere lasciato entro la scadenza nella casella postale del prof. Ferrara accanto alla portineria del dipartimento in via Comelico, 39. I progetti consegnati saranno corretti secondo un calendario di correzione che verrà pubblicato per ogni appello d'esame su questo sito. I progetti sufficienti avranno validità UN ANNO a decorrere dall'appello di consegna.

Diario del corso

Lezioni fino all'11/10/2006

  • introduzione al DBMS (è un sistema software che serve per manipolare condividere etc.... basi di dati)
  • obbiettivi del DBMS (efficienza, gestione della concorrenza, funzionalità di salvataggio e ripristino dei dati, gestione delle interrogazioni in modo efficiente, garantire protezione dei dati)
  • DBMS gestisce dati e metadati

Perchè usare una BD (base di dati)

Varie figure di utenza con accesso al database DBA (database administrator, utenti occasionali, utenti registrati etc...)

  • Modello dei dati
  • Differenza tra associazione e relazione di dati

Lezione del 12/10/2006

Schema e istanza

  • definizione di intensionale estensionale
  • insieme delle istanze
  • stato della base di dati

Livelli

  • livello esterno (sono le viste)
  • livello logico (sono le tabelle)
  • livello interno (sono i file)

note: quindi DBMS lavora su 3 livelli

Indipendenza

  • indipendenza dei dati
  • indipendenza logica

I linguaggi

  • DDL (scrive il catalogo "metadati" )
  • DML (scrive i dati ed interroga la BD) è un linguaggio di query
  • UDL viste esterne

note: SQL li incorpora entrambi (DDL e DML)

Classificazione dei DBMS

  • In base al modello dei dati:
    • relazionali,
    • object-oriented,
    • reticolari,
    • gerarchici,
    • object relational
  • In base al n° di utenti:
    • mono utente (es: access)
    • multi utente
  • In base al n° di siti in cui la BD è distribuita:
    • BD centralizzata (tutto su un solo server)
    • BD distribuita (BD su molteplici server) ogni transizione coinvolge più server, c'è da risolvere il problema della concorrenza

Lezione del 17/10/2006

  • Il fondamento del modello relazionale è una relazione matematica fra domini + un insieme di domini
  • Definizione di schema, attributo, schema di relazione, schema di basi di dati, istanza di relazione, istanza di basi di dati.
  • Problema dei dati incompleti: l'operatore NULL

Lezione del 18/10/2006

Vincoli

  • Intrarelazionali
    • su valori
    • di ennupla
    • di dominio
  • Interrelazionali

Chiave

  • Definizione
  • Superchiave
  • Chiave primaria

Integrità referenziale (definizione)

Tipi di attributo

  • semplice (atomico)
  • multivalore
  • strutturato

Prima forma normale (definizione)

Lezione del 19/10/2006

non ero presente, mi riferiscono

Le operazioni sul database (Theta join, join naturale, selezione, proiezione..)

Lezione del 24/10/2006

  • Outer Join
  • Regole di trasformazione
    • Atomizzazione delle selezioni
    • Commutatività della selezione
    • Idempotenza delle proiezioni
    • Anticipazione della selezione rispetto al Join
    • Anticipazione della proiezione rispetto al Join
    • Conversione di 1 sequenza
  • Esempi (presidenti americani)

Lezione del 25/10/2006

  • Esempi (sempre sui presidenti americani)
  • Accenno di SQL
    • Domini
    • CREATE SCHEMA (sintassi)
    • CREATE TABLE (sintassi)
    • Elementi dello schema

Lezione del 26/10/2006

ESERCITAZIONE

Lezione del 31/10/2006

  • SQL
    • Vincoli intrarelazionali
      • NOT NULL
      • UNIQUE
      • PRIMARY KEY
    • Vincoli interrelazionali
      • Integrità referenziale
        • FOREIGN KEY
        • REFERENCES
      • Politiche di risposta alla violazione del vincolo di integrità referenziale
        • CASCADE
        • SET NULL
        • SET DEFAULT
        • NO ACTION
        • ... ON DELETE
        • ... ON UPDATE
    • CHECK
    • CREATE DOMAIN

Lezione del 01/11/2006

VACANZA

Lezione del 02/11/2006

  • DROP
  • ALTER TABLE
    • ALTER COLUMN
    • ADD CONSTRAINT
    • DROP CONSTRAINT
    • ADD COLUMN
    • DROP COLUMN
  • Interrogazione: SELECT
    • operatori della clausola WHERE
      • <
      • >
      • <>
      • =
      • AND
      • NOT
      • OR
      • BETWEEN X AND Y
      • IN (LISTAVALORI)
      • IS NULL
      • LIKE
      • EXISTS
    • ridenominazione attributi: AS
    • Alias: AS (nella condizione "FROM")

Lezione del 07/11/2006

  • Interrogazione
    • ordinamento risultato: ORDER BY
  • JOIN interni ed esterni
    • (INNER) JOIN
    • NATURAL JOIN
    • OUTER JOIN (LEFT,RIGHT,FULL)
  • operatori aggregati
    • COUNT
    • SUM
    • MAX
    • MIN
    • AVG
  • sintassi
    • GROUP BY
    • HAVING

Lezione del 08/11/2006

  • Interrogazioni di tipo insiemistico
    • UNION (Default/ALL)
    • INTERSECT (Default/ALL)
    • EXCEPT (Default/ALL)
  • Interrogazioni nidificate
    • ALL
    • ANY
  • Interrogazioni correlate
    • EXISTS
    • NOT EXISTS

Lezione del 09/11/2006

Ripasso lezione precedente

Lezione del 14/11/2006

  • TRIGGERS

Ero assente, sorry.

Lezione del 15/11/2006

  • Triggers
  • SQL: manipolazione dati
    • INSERT
    • UPDATE
    • DELETE
  • Viste
    • CREATE VIEW
    • Problemi aggiornamento viste

Lezione del 16/11/2006

ESERCITAZIONE


Lezione del 21/11/2006

ESERCITAZIONE

Lezione del 22/11/2006

PREPARAZIONE ALLA PROVA IN ITINERE

Lezione del 23/11/2006

PROVA IN ITINERE

Lezione del 28/11/2006

  • Progettazione
  • Modelli
    • concettuali
    • logici
  • Astrazione
    • per classificazione (is-member-of)
    • per aggregazione (is-part-of)
    • per generalizzazione (is-a)
  • Modello E-R
    • Concetti Base
      • Entità
      • Relazione (o associazione)
        • Cardinalità della relazione
      • Attributo

Lezione del 29/11/2006

  • Relazoni 1:1 1:n n:n
  • Identificatore
    • Interno
    • Esterno
  • Gerarchie di entità
    • Specializzazione
    • Generalizazione
  • Proprietà delle gerarchie
    • Totalità
    • Disgiunzione
  • Attributi composti

Lezione del 30/11/2006

Lezione di laboratorio n.1

  • Comandi di PostgreSQL

Lezione del 5/12/2006

  • Fasi della progettazione
    • Raccolta dei requisiti
    • Analisi dei requisiti
      • Scegliere liv. astrazione
      • Standardizzaz. struttura frasi
      • Evitare frasi contorte
      • Identificare sinonimi ed omonimi e disambiguare
        • unificare sinonimi
        • diversificare omonimi
      • Costruire un glossario
    • Progettaziuone concettuale
    • Generazione schema E-R
      • top-down
      • bottom-up
      • inside-out
      • mista
    • Qualità di 1 schema
      • Leggibilità
        • nomi comprensibili
        • minimizzazione intersezioni
      • Minimalità: eliminare la ridondanza
      • Correttezza
        • semantica
        • sintattica
    • Progettazione di transazioni

Lezione del 6/12/2006

Da svolgersi

Lezione del 7/12/2006

VACANZA (S.AMBROGIO)

Lezione del 12/12/2006

presto il resconto

Lezione del 13/12/2006

non posso andarci, per lutto

Lezione del 14/12/2006

non posso andarci, per lutto