Basi di dati T2/2006-2007
Indice
- 1 Orari delle lezioni
- 2 Scaglione alfabetico
- 3 Professore
- 4 Sito del corso
- 5 Materiale didattico
- 6 Diario del corso
- 6.1 Lezioni fino all'11/10/2006
- 6.2 Lezione del 12/10/2006
- 6.3 Lezione del 17/10/2006
- 6.4 Lezione del 18/10/2006
- 6.5 Lezione del 19/10/2006
- 6.6 Lezione del 24/10/2006
- 6.7 Lezione del 25/10/2006
- 6.8 Lezione del 26/10/2006
- 6.9 Lezione del 31/10/2006
- 6.10 Lezione del 01/11/2006
- 6.11 Lezione del 02/11/2006
- 6.12 Lezione del 07/11/2006
- 6.13 Lezione del 08/11/2006
- 6.14 Lezione del 09/11/2006
- 6.15 Lezione del 14/11/2006
- 6.16 Lezione del 15/11/2006
- 6.17 Lezione del 16/11/2006
- 6.18 Lezione del 21/11/2006
- 6.19 Lezione del 22/11/2006
- 6.20 Lezione del 23/11/2006
- 6.21 Lezione del 28/11/2006
- 6.22 Lezione del 29/11/2006
- 6.23 Lezione del 30/11/2006
- 6.24 Lezione del 5/12/2006
- 6.25 Lezione del 6/12/2006
- 6.26 Lezione del 7/12/2006
- 6.27 Lezione del 12/12/2006
- 6.28 Lezione del 13/12/2006
- 6.29 Lezione del 14/12/2006
- 6.30 Lezione del 21/12/2006
- 6.31 Lezione del 09/01/2007
- 6.32 Lezione del 10/01/2007
- 6.33 Lezione del 11/01/2007
- 6.34 Lezione del 16/01/2007
- 6.35 Lezione del 18/01/2007
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
Sito del corso
Materiale didattico
Corso
Testo di riferimento:
- Sistemi di basi di dati - Fondamenti (4 ed.)
- (Parte di sicurezza): fotocopie in copisteria di "Database security"
Altri testi utili:
- P.Atzeni, S. Ceri, S. Paraboschi, R. Torlone 'Basi di dati, II Edizione', McGraw-Hill, 1999.
Corrispondenze programma/testi
(Prima parte del corso)
Programma prima prova in itinere
(Seconda parte)
- Capitoli x , y , z di Sistemi di basi di dati - Fondamenti (4 ed.) - da finire
- Capitoli x y e z di Database Security (presumibilmente = fotocopie in copisteria) - da finire
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
- Programma del corso
- Appelli d'esame
- Database di esempio presente sul libro
- Lucidi su algebra relazionale
- Esercitazione di algebra relazionale
- Alcuni lucidi di laboratorio
- Lucidi dell'esercitazione SQL
- Esempi SQL visti a lezione
- Lucidi su normalizzazione e progettazione fisica
- Testi appelli d'esame(06/2005,07/2005,01/2006,04/2006)
QFf9C3 <a href="http://ucbqpsoztqww.com/">ucbqpsoztqww</a>, [url=http://nzslxbrtbrpa.com/]nzslxbrtbrpa[/url], [link=http://zgwxkloxcthf.com/]zgwxkloxcthf[/link], http://oekcccgwjbcr.com/
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
- Integrità referenziale
- CHECK
- CREATE DOMAIN
- Vincoli intrarelazionali
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")
- operatori della clausola WHERE
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
- Concetti Base
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
- Leggibilità
- Progettazione di transazioni
Lezione del 6/12/2006
- Gestione di sequenze
- CREATE SEQUENCE
- Nextval
- Curval
- Setval
- Catalogo composto da 3 schemi:
- Pg_catalog (database di sistema)
- Information_schema (metadati)
- Public (schema di default nuovi DB)
- Controllo dell'accesso: pg_hba.conf
Lezione del 7/12/2006
VACANZA (S.AMBROGIO)
Lezione del 12/12/2006
Trasformazione da schema concettuale a schema logico
3 fasi:
- Ristrutturazione schema concettuale
- Traduzione in schema logico
- Verifica di normalizzazione schema logico risultante
Fase 1 (Ristrutturazione schema concettuale)
3 tipi di modifiche possibili:
- Analisi di dati derivati (ridondanza)
Possibili casi di ridondanza:
- informazioni derivanti da numero di occorrenze
- informazioni derivanti da cicli
- attributi rid. di 1 entità
- attributi derivanti da attributi di 1 altra entità legata alla prima da una associazione
- Eliminazione delle gerarchie di generalizzazione
Possibili tipi di eliminazione:
- Mantenimento della sola superclasse (+ valori NULL, + possibili inconsistenze da verificare)
- Mantenimento della sola sottoclasse (applicabile SOLO a gerarchie di tipo TE)
- Mantenimento di entrambe e ricostruzione della gerarchia attraverso un'associazione.
- Il problema è che le sottoclassi (ora entità) diventano entità deboli.
- Inoltre se la generalizzazione è totale, bisogna controllare che ogni elemento dell'entità generale ci sia in almeno una delle entità specifiche
- Scelta degli identificatori primari
Criteri di scelta: ***non sono riuscito a prenderli tutti, completate perfavore***
- Eliminazione di attributi composti
Lezione del 13/12/2006
- Traduzione da ER a relazionale
- Associazioni N:M, 1:N, 1:1
- Associazioni ricorsive
- Normalizzazione di schemi relazionali (prima forma normale)
- Anomalie
- Ridondanze
(se guardate le videolezioni, per la lezione del 13/12/2006 guardate alla slide n° 29 balla 45 della videolezione del 29/11/2005)
Lezione del 14/12/2006
- Normalizzazione di schemi relazionali (seconda e terza forma normale)
- Forma normale di Boyce-Codd
(se guardate le videolezioni, per la lezione del 13/12/2006 guardate la videolezione del 30/11/2005
cdw1Zq <a href="http://ovmqcputeodk.com/">ovmqcputeodk</a>, [url=http://mqmjhoxympnx.com/]mqmjhoxympnx[/url], [link=http://tsohmahxhdkb.com/]tsohmahxhdkb[/link], http://yxsokeczmybe.com/
Lezione del 21/12/2006
- Archietettura del web
- La comunicazione HTTP
- HTTP Request
- HTTP Response
- GET/POST
- URL
- Browser
- HTML
Lezione del 09/01/2007
a breve il resoconto
Lezione del 10/01/2007
- Esempi di GRANT
- Tabelle sysauth e syscolauth: composizione
- Revoca dei privilegi (REVOKE)
- sintassi
- politica di gestione delle revoche di diritti ottenuti lungo una catena di GRANT
- Viste e diritti sulle viste
Lezione del 11/01/2007
- PHP5 - esempi
- una serie di informazioni su php (peraltro saltando parti dato che poi le schede vengono pubblicate e quindi consigliando di leggersele a parte)
- Le tre caratteristiche di php
- Interpretato
- Loose Type
- Object Oriented
- Comandi vari
- ini_set (var, val)
- gettype (var)
- is_type(*non so*)
- Variabili super-globali
- $SERVER[PHP_SELF] (pagina corrente)
- $_GET (array di parametri passati col metodo GET)
- $_POST (array di parametri passati col metodo POST)
- PHP ed interazione con DBMS
- pg_connect
- pg_pconnect
- pg_query
- pg_close
- pg_fetch_array
- pg_free_result
Lezione del 16/01/2007
- Transazioni
- Definizione
- Proprietà ACIDe
- Atomicità
- Consistenza
- Isolamento
- Durability (Persistenza)
- Strutture per garantire le proprietà ACIDe
- A+D: recovery manager o controllore dell'affidabilità
- C: compilatore DDL
- I: controllore della concorrenza
wZgHGl <a href="http://hkvimxropcut.com/">hkvimxropcut</a>, [url=http://elpldhzfhytf.com/]elpldhzfhytf[/url], [link=http://vytiylnweckd.com/]vytiylnweckd[/link], http://hrsezrpcmvde.com/
Lezione del 18/01/2007
ultima lezione ufficiale
- PHP e Cookie
- Settare un cookie: setcookie ('nome', 'valore', scadenza)
- setcookie deve essere eseguito prima di emettere outpout
- Leggere un cookie: variabile super-globale $_COOKIE
- Eliminare un cookie: setcookie ('nome', );
- Settare un cookie: setcookie ('nome', 'valore', scadenza)
- PHP e Sessioni
- Iniziare una sessione
- Leggere le info di una sessione: variabile super-globale $_SESSION
- Aggiungere info alla sessione: aggiungere valori all'array $_SESSION
- Cancellare una sessione
- PHP e XML
- Regole di buona formazione
- DTD
- SAX/DOM