Indice Introduzione XI Capitolo 1 Elementi di base dei database 1 1.1 Che cos è un database 1 1.2 L architettura di Oracle Database 10g 3 Progetto 1.1 L architettura di Oracle Database 10g 8 1.3 I tipi di dati principali di Oracle Database 10g 10 1.4 Utilizzo delle tabelle 13 1.5 Utilizzo degli oggetti memorizzati 15 1.6 Altri elementi importanti di Oracle Database 10g 19 1.7 I privilegi sugli oggetti e il sistema 24 1.8 Introduzione al grid computing 26 1.9 Riepilogo 28 1.10 Verifica delle capacità 31 Capitolo 2 Il linguaggio SQL (Structured Query Language) 33 2.1 I componenti di un istruzione SQL 34 2.2 Uso di semplici istruzioni insert e select 36 2.3 Uso di semplici clausole where 38 2.4 Uso di semplici istruzioni update e delete 46 2.5 Ordinamento dei dati 49 2.6 Le funzioni: per stringhe, per numeri e di aggregazione 51 2.7 Uso delle date e delle relative funzioni (cronologiche e di formattazione) 53 2.8 Uso di join (ANSI e Oracle): inner, outer e self 55 Progetto 2.1 Unione dei dati con join interne ed esterne 61
VI INDICE Progetto 2.2 Unione dei dati utilizzando operazioni di join SQL ANSI 65 2.9 Le clausole group by e having 67 Progetto 2.3 Raggruppamento dei dati nelle istruzioni select 69 2.10 Le subquery: confronti semplici e correlati con le join 73 2.11 Uso degli operatori sugli insiemi: union, intersect e minus 75 Progetto 2.4. Uso della funzione union 78 2.12 Uso delle viste 79 2.13 Le sequenze 81 2.14 I vincoli: collegamento a modelli di entità, tipi, deferred, enforced 82 2.15 Formattazione dell output con SQL*Plus 85 Progetto 2.5 Formattazione dell output dei comandi SQL 86 2.16 Verifica delle capacità 90 Capitolo 3 L amministratore del database 91 3.1 I compiti di un amministratore di database 92 3.2 Quali sono i compiti di un amministratore di Oracle Database 10g 92 3.3 Esecuzione delle attività quotidiane 93 3.4 L infrastruttura di Oracle Database 10g 96 3.5 Le modalità operative di Oracle Database 10g 100 3.6 Introduzione a Oracle Enterprise Manager 105 3.7 Gestione degli oggetti del database 110 3.8 La gestione dello spazio 113 3.9 Gestione degli utenti 116 3.10 Gestione dei privilegi per gli utenti del database 119 Progetto 3.1 Creazione degli oggetti di base 122 3.11 Verifica delle capacità 125 Capitolo 4 Connessioni di rete 127 4.1 Uso di Oracle Net Services 128 4.2 Le differenze fra le architetture dedicate e a server condiviso 132 4.3 Definizione delle connessioni 138 4.4 Uso di Oracle Net Listener 141 4.5 I metodi di denominazione 145 4.6 Uso dei file di configurazione di Oracle 149 4.7 Uso degli strumenti di amministrazione 150 Progetto 4.1 Test di una connessione 156
INDICE VII 4.8 Uso dei profili 158 4.9 Connessioni di rete in un ambiente multilivello 159 4.10 Verifica delle capacità 160 Capitolo 5 Backup e ripristino 163 5.1 Le attività di backup e ripristino in Oracle 163 5.2 Attività di backup e ripristino gestite dall utente 169 5.3 Scrittura di un backup di un database 176 5.4 Backup dei redo log archiviati 178 5.5 Introduzione a Oracle Data Pump 179 5.6 Uso di Oracle Data Pump Export 180 5.7 Uso di Oracle Data Pump Import 185 5.8 Uso delle operazioni tradizionali di esportazione e importazione 190 5.9 Introduzione a Recovery Manager 193 Progetto 5.1 Backup e ripristino con RMAN 204 5.10 Verifica delle capacità 206 Capitolo 6 PL/SQL 207 6.1 Che cos è PL/SQL e perché si usa 208 6.2 La struttura di un programma PL/SQL 209 6.3 I tipi di dati di PL/SQL 211 6.4 Scrivere programmi PL/SQL in SQL*Plus 217 Progetto 6.1 Creazione di un programma PL/SQL 219 6.5 Gestione delle condizioni di errore in PL/SQL 223 6.6 Le istruzioni condizionali 229 Progetto 6.2 Uso delle condizioni e dei cicli in PL/SQL 238 6.7 Come e perché creare le procedure memorizzate 239 6.8 Creazione e uso delle funzioni 244 Progetto 6.3 Creazione e uso di una funzione 245 6.9 Chiamata di programmi PL/SQL 246 6.10 Verifica delle capacità 248 Capitolo 7 Java 249 7.1 Che cosa rappresenta Java per un amministratore di database Oracle? 250 7.2 Panoramica su Java 253 7.3 Configurazione di Java per Oracle 261 7.4 Java in Oracle 263 7.5 I driver JDBC 266
VIII INDICE 7.6 Uso di JDBC 267 Progetto 7.1 Accesso al database con Java 268 7.7 Uso di SQLJ 270 7.8 Le procedure Java memorizzate 271 Progetto 7.2 Creazione di una procedura memorizzata Java 273 7.9 Creazione di oggetti Java in Oracle 275 7.10 I prodotti Oracle per Java 276 7.11 Verifica delle capacità 278 Capitolo 8 Il linguaggio XML 279 8.1 Che cos è XML 279 8.2 Uso di XML in Oracle 280 8.3 SQLX: creazione di documenti XML dai dati memorizzati in Oracle 283 Progetto 8.1 Creazione di un listato XML 288 8.4 Memorizzazione di codice XML in un database Oracle 290 Progetto 8.2 Memorizzazione di codice XML 295 8.5 Uso di query semplici 299 Progetto 8.3 Uso di query semplici 300 8.6 Creazione di una vista relazionale da XML 302 8.7 Accesso programmatico con XSLT 303 8.8 Verifica delle capacità 304 Capitolo 9 Funzionalità per i database di grandi dimensioni 307 9.1 Che cosa si intende con database di grandi dimensioni? 307 9.2 Perché e come utilizzare il partizionamento dei dati 308 Progetto 9.1 Creazione di una tabella partizionata a intervallo e un indice partizionato locale 327 9.3 Compressione dei dati 331 9.4 Miglioramento delle prestazioni grazie all elaborazione parallela 333 9.5 Uso delle viste materializzate 338 9.6 Introduzione a Real Application Clusters 343 9.7 Introduzione a Automatic Storage Management 344 9.8 Grid computing: ovvero la g di Oracle Database 10g 346 9.9 Uso delle funzioni aggregate e analitiche di SQL 350
INDICE IX 9.10 Creazione di modelli SQL 361 Progetto 9.2 Uso delle funzioni SQL analitiche e dei modelli 364 9.11 Verifica delle capacità 366 Risposte alle verifiche delle capacità 369 Indice analitico 391