|
|
CONSIGLIATO DA LIBRINFORMATICA
Sistemi di basi di dati Complementi - quarta edizione
|
| Editore | Pearson Education Italia |
| Autore | Elmasri Ramez A., Navathe Shamkant B. |
| Titolo originale | Fundamentals of database systems, fourth edition |
| Editore originale | Addison Wesley |
| Collana | Accademica |
| Pagine | 466 |
| Volumi | 1 |
| Livello | Intermedio-Avanzato |
| Lingua | Italiano |
| Data pubblicazione | 03 - 2005 |
| ISBN | 8871922212 |
|
|
| Prezzo di copertina |
| Euro 35,00 |
|
Struttura dell’edizione italiana
Prefazione
Contenuti
Linee guida per l’uso di questo libro
Materiale supplementare
Ringraziamenti
Profilo degli autori
Parte prima Concetti di gestione di transazioni ed esecuzione di interrogazioni
Capitolo 1 Introduzione alla gestione delle transazioni
1.1 Introduzione alla gestione delle transazioni
1.1.1 Confronto tra sistemi monoutente e sistemi multiutente
1.1.2 Transazioni, operazioni di lettura e scrittura e buffer del DBMD
1.1.3 Perché è necessario il controllo di concorrenza
1.1.4 Perché è necessario il controllo di affidabilità
1.2 Concetti di transazione e di sistema
1.2.1 Stati delle transazioni e ulteriori operazioni
1.2.2 Il log di sistema
1.2.3 Punto di commit di una transazione
1.3 Proprietà auspicabili delle transazioni
1.4 Caratterizzazione degli schedule rispetto al ripristino
1.4.1 Schedule di transazioni
1.4.2 Proprietà degli schedule rispetto al ripristino
1.5 Caratterizzazione di schedule rispetto alla serializzabilità
1.5.1 Schedule seriali, schedule non seriali e schedule conflict-serializzabili
1.5.2 Verifica di conflict-serializzabilità di uno schedule
1.5.3 Usi della serializzabilità
1.5.4 View-equivalenza e view-serializzabilità
1.5.5 Altri tipi di equivalenza di schedule
1.6 Supporto alle transazioni in SQL
1.7 Riepilogo
Questionario di verifica
Esercizi
Bibliografia selezionata
Capitolo 2 Tecniche per il controllo della concorrenza
2.1 Tecniche basate sul locking a due fasi per il controllo della concorrenza
2.1.1 Tipi di lock e tabelle di lock di sistema
2.1.2 Garantire la serializzabilità con il locking a due fasi
2.1.3 Gestione di deadlock e starvation
2.2 Controllo della concorrenza basato su timestamp ordering
2.2.1 I timestamp
2.2.2 L’algoritmo di timestamp ordering
2.3 Tecniche multi-versione per il controllo della concorrenza
2.3.1 Tecnica multi-versione basata su timestamp ordering
2.3.2 2PL multi-versione con l’uso di certify lock
2.4 Tecniche di controllo della concorrenza basate su validazione (ottimistiche)
2.5 Granularità dei dati e locking a granularità multipla
2.5.1 Considerazioni sul livello di granularità per scopi di locking
2.5.2 Locking a più livelli di granularità
2.6 Uso di lock per il controllo della concorrenza negli indici
2.7 Altre problematiche relative al controllo della concorrenza
2.7.1 Inserimento, cancellazione e record fantasma
2.7.2 Transazioni interattive
2.7.3 Latch
2.8 Riepilogo
Questionario di verifica
Esercizi
Bibliografia selezionata
Capitolo 3 Tecniche di recovery per basi di dati
3.1 Concetti di recovery
3.1.1 Panoramica sul recovery e classificazione degli algoritmi
3.1.2 Caching (buffering) dei blocchi di disco
3.1.3 Write-ahead logging, steal/no-steal e force/no-force
3.1.4 I record di checkpoint nel log di sistema e la tecnica di fuzzy checkpointing
3.1.5 Rollback di transazioni
3.2 Tecniche di recovery basate su aggiornamento differito
3.2.1 Recovery con aggiornamento differito in ambiente monoutente
3.2.2 Aggiornamento differito con esecuzione concorrente in ambiente multiutente
3.2.3 Azioni di una transazione senza effetto sulla base di dati
3.3 Tecniche di recovery basate su aggiornamento immediato
3.3.1 Tecnica UNDO/REDO basata su aggiornamento immediato in ambiente monoutente
3.3.2 Tecnica UNDO/REDO basata su aggiornamento immediato con esecuzione concorrente
3.4 Tecnica di shadow paging
3.5 L’algoritmo di recovery ARIES
3.6 Recovery in sistemi di basi di dati distribuite
3.7 Backup di basi di dati e recovery da guasti catastrofici
3.8 Riepilogo
Questionario di verifica
Esercizi
Bibliografia selezionata
Capitolo 4 Algoritmi per l’esecuzione e l’ottimizzazione di interrogazioni
4.1 Traduzione di interrogazioni SQL in algebra relazionale
4.2 Algoritmi per l’ordinamento esterno
4.3 Algoritmi per le operazioni di SELEZIONE e di JOIN
4.3.1 Implementazione dell’operazione di SELEZIONE
4.3.2 Implementazione dell’operazione di JOIN
4.4 Algoritmi per l’operazione di PROIEZIONE e le operazioni insiemistiche
4.5 Implementazione di operazioni aggregate di JOIN ESTERNO
4.5.1 Implementazione di operazioni aggregate
4.5.2 Implementazione del JOIN ESTERNO
4.6 Combinazione di operazioni mediante pipelining
4.7 Utilizzo di euristiche nell’ottimizzazione di interrogazioni
4.7.1 Notazione per gli alberi e per i grafi di interrogazione
4.7.2 Ottimizzazione euristica di alberi di interrogazione
4.7.3 Conversione di alberi di interrogazione in piani di esecuzione
4.8 Uso di selettività e stime di costo nell’ottimizzazione di interrogazioni
4.8.1 Componenti di costo per l’esecuzione d interrogazioni
4.8.2 Informazioni di catalogo usate nelle funzioni di costo
4.8.3 Esempi di funzioni di costo per la SELEZIONE
4.8.4 Esempi di funzioni di costo per il JOIN
4.8.5 Interrogazioni su più relazioni e ordinamento delle operazioni di JOIN
4.8.6 Esempio di ottimizzazione di interrogazioni basata sul costo
4.9 Panoramica sull’ottimizzazione di interrogazioni in Oracle
4.10 Ottimizzazione semantica di interrogazioni
4.11 Riepilogo
Questionario di verifica
Esercizi
Bibliografia selezionata
|
|
|
|