| Indice
Introduzione
Capitolo 1 Le basi di dati relazionali
Le basi di dati
Un po’ di storia
I database gerarchici
I database reticolari
Il modello relazionale
Architettura
Tabelle
Relazioni
Vincoli
Vantaggi del modello relazionale
Integrita' dei dati a tutti i livelli
Indipendenza fisica e logica
Semplicita' di utilizzo
RDBMS: Relational DataBase Management System
Le dodici regole di Codd
1. I dati sono presentati in forma di tabelle
2. I dati sono accessibili logicamente
3. I valori null rappresentano valori sconosciuti
4. Il database si descrive da solo
5. L’RDBMS deve essere gestito da un unico linguaggio
6. Fornire visioni alternative dei dati
7. Supporto degli operatori basilari dell’algebra relazionale
8. Indipendenza dai dati fisici
9. Indipendenza dagli aspetti logici
10. Integrita' dei dati
11. Operazioni distribuite
12. L’integrita' dei dati non puo' essere violata
RDBMS piu' diffusi
Algebra relazionale
Selezione
Proiezione
Join naturale
Unione, differenza e intersezione
Ridenominazione
Valori null
Viste
Equivalenze
Atomizzazione delle selezioni
Idempotenza delle proiezioni
Push-down della selezione
Push-down della proiezione
SQL: Structured Query Language
Definizione dello schema
Definizione delle tabelle
Variazione di tabelle
Interrogazioni
Join
Altri operatori e funzioni
Order by
Count
Distinct
Sum, max, min e avg
Raggruppamenti
Inserimenti
Cancellazioni
Aggiornamenti
Capitolo 2 La progettazione concettuale
Ciclo di vita dei sistemi informativi
Analisi dei requisiti
Gli utenti
Le funzionalita'
Progettazione
La base di dati
Il diagramma E-R
La progettazione concettuale
L’applicazione software
Case study
Capitolo 3 Le tabelle
Che cos’e' una tabella
Tipi di tabelle
Tabelle di dati
Tabelle di relazione
Tabelle sottoinsieme
Tabelle di validazione
Dal diagramma E-R alle tabelle
Le entita'
Le relazioni
Relazioni con attributi
Relazioni molti a molti
La cardinalita'
Schema logico
La normalizzazione
Perche' e' necessario normalizzare
Inserimento
Aggiornamento
Cancellazione
La dipendenza
Dipendenza funzionale
Dipendenza transitiva
Dipendenza multivalente
Dipendenza di join
Le sette forme normali
La prima forma normale
La seconda forma normale
La terza forma normale
La forma normale di Boyce-Codd
La quarta forma normale
La quinta forma normale
La sesta forma normale
De-normalizzazione
Troppe tabelle in join
Database storici
Data warehouse
Nomenclatura
Tabelle
Nome
Descrizione
Campi
Case study
Capitolo 4 I campi e le chiavi
I campi e l’integrita' dei dati
Analisi dei campi
Il dizionario dati
Proprieta' di carattere generale
Nome
Tabelle di appartenenza
Etichetta
Descrizione
Proprieta' di carattere logico
Chiave e unicita'
Valori null e di default
Vincoli
Proprieta' di carattere fisico
Tipo del dato
Dimensioni
Filtri di digitazione
Aspetto
I tipi di dato standard
La tabelle di validazione
Le chiavi
Chiavi candidate
Chiavi surrogate
Chiavi primarie
Chiavi alternative
Case study
La tabella CopieEdizioni
La tabella EdizioniOpere
La tabella Utenti
Identificazione delle chiavi
Capitolo 5 Le relazioni
Tipi di relazioni
Relazioni uno a uno
Casistiche
Tabelle sottoinsieme
Limitazione della visibilita'
Legami di diverse entita'
Diagrammi
Primary key e foreign key
Implementazione
Relazioni uno a molti
Casistiche
Gerarchie
Tabelle di validazione
Dipendenza transitiva
Diagrammi
Implementazione
Relazioni molti a molti
Casistiche
Le chiavi duplicate
Diagrammi
Implementazione
Relazioni autoreferenzianti
Relazioni uno a uno
Relazioni uno a molti
Relazioni molti a molti
Determinare le relazioni
La cardinalita' di una relazione
Le chiavi esterne
Case study
Capitolo 6 Le business rule
Perche' le business rule?
Tipi di business rule
Business rule a livello di database
Business rule a livello applicativo
Business rule sui campi
Definizione dei campi
Vincoli
Vincoli di dominio
Vincoli di congruenza
Tabelle di validazione
Business rule sulle relazioni
Cardinalita' delle relazioni
Comportamenti delle relazioni
Clausola cascade
Clausola Set null
Clausola set default
Clausola No action
Business rule sulle tabelle
I trigger
Utilizzare i trigger
Trigger instead of
Utilizzo di linguaggi esterni
Le stored procedure
Perche' le stored procedure?
Prestazioni
Facilita' di utilizzo
Sicurezza
Utilizzare le stored procedure
Parametri di input e di output
Chiavi surrogate
Inserimento dei soli dati significativi
Logiche complesse
Gestione dei resultset
Le viste
Tipi di viste
Modello logico delle viste
Modello fisico delle viste
Viste di dati
Viste a singola tabella
Viste a tabella multipla
Viste di aggregazione
Viste di validazione
Le viste e gli aggiornamenti
Trigger instead of
Case study
Capitolo 7 Errori da evitare
Il processo di normalizzazione
Il caso dei numeri telefonici
Troppa normalizzazione
I tipi di dato
I campi data
I caratteri nazionali
I campi numerici
Gli importi
Le relazioni
Relazioni con chiavi complesse
Cancellazioni a cascata
Utilizzo della base di dati
Profili e accessi
SQL injection
Capitolo 8 Diagrammi
Il diagramma E-R
Le entita'
Gli attributi
Attributi o entita'?
Le relazioni
Relazioni e attributi
Lo schema scheletro
Le chiavi
Ancora sulle entita' deboli
Lo schema logico e lo schema fisico
Lo schema logico
Tabelle
Linee e terminatori
Le tabelle sottoinsieme
Lo schema fisico
UML: un passo verso il futuro
Accenni sull’UML
Class diagram dei dati
Capitolo 9 Accesso ai dati
Tipi di applicazioni
La reportistica
Evitare interrogazioni troppo onerose
Join complessi
Case sensitive
Apici
Lock e contesa delle risorse
Le transazioni
Le transazioni implicite
Transazioni esplicite
Le data page
Linee guida per ridurre la contesa delle risorse
Transazioni brevi
Interazione dell’utente
Aggiornamenti e letture
Accessi
Dead-lock
Test multi-utente
Paginazione
Metodi di paginazione
Paginazione basata sugli strumenti
ADO: ActiveX Data Object
Paginazione basata sul database
La soluzione di Oracle
La soluzione di SQL Server
Capitolo 10 Data warehouse
Dalla gestione alla conoscenza
DSS: Decision Support System
Problematiche
Reperimento
Interpretazione
Tempestivita'
Prestazioni
OLTP contro OLAP
Data warehouse
Data mart
Modello logico
Modello relazionale
Schema a stella
Schema a galassia
Schema a fiocco di neve
Modello multi-dimensionale
I cubi
Esempi di MDDBMS
Processi ETL: Extract, Transform and Load
Definizione dei processi ETL
Granularita'
Chiavi surrogate
Tabelle di transcodifica
Dati di fonti eterogenee
Appendice A Glossario
Appendice B I passi per progettare un database
Appendice C Simbologia
Algebra relazionale
Diagramma E-R
Schema logico e schema fisico
Appendice D Strumenti per il database design
Appendice E Letture consigliate
Appendice F Indice analitico |