○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Indice Introduzione Capitolo 1 Capitolo 2 Elementi di base dei database 1.1 Che cos’è un database 1.2 L’architettura di Oracle Database 10g Progetto 1.1 L’architettura di Oracle Database 10g 1.3 I tipi di dati principali di Oracle Database 10g 1.4 Utilizzo delle tabelle 1.5 Utilizzo degli oggetti memorizzati 1.6 Altri elementi importanti di Oracle Database 10g 1.7 I privilegi sugli oggetti e il sistema 1.8 Introduzione al “grid computing” 1.9 Riepilogo 1.10 Verifica delle capacità Il linguaggio SQL (Structured Query Language) 2.1 I componenti di un’istruzione SQL 2.2 Uso di semplici istruzioni insert e select 2.3 Uso di semplici clausole where 2.4 Uso di semplici istruzioni update e delete 2.5 Ordinamento dei dati 2.6 Le funzioni: per stringhe, per numeri e di aggregazione 2.7 Uso delle date e delle relative funzioni (cronologiche e di formattazione) 2.8 Uso di join (ANSI e Oracle): inner, outer e self Progetto 2.1 Unione dei dati con join interne ed esterne XI 1 1 3 8 10 13 15 19 24 26 28 31 33 34 36 38 46 49 51 53 55 61 VI INDICE 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 Capitolo 3 Capitolo 4 Progetto 2.2 Unione dei dati utilizzando operazioni di join SQL ANSI Le clausole group by e having Progetto 2.3 Raggruppamento dei dati nelle istruzioni select Le subquery: confronti semplici e correlati con le join Uso degli operatori sugli insiemi: union, intersect e minus Progetto 2.4. Uso della funzione union Uso delle viste Le sequenze I vincoli: collegamento a modelli di entità, tipi, deferred, enforced Formattazione dell’output con SQL*Plus Progetto 2.5 Formattazione dell’output dei comandi SQL Verifica delle capacità L’amministratore del database 3.1 I compiti di un amministratore di database 3.2 Quali sono i compiti di un amministratore di Oracle Database 10g 3.3 Esecuzione delle attività quotidiane 3.4 L’infrastruttura di Oracle Database 10g 3.5 Le modalità operative di Oracle Database 10g 3.6 Introduzione a Oracle Enterprise Manager 3.7 Gestione degli oggetti del database 3.8 La gestione dello spazio 3.9 Gestione degli utenti 3.10 Gestione dei privilegi per gli utenti del database Progetto 3.1 Creazione degli oggetti di base 3.11 Verifica delle capacità Connessioni di rete 4.1 Uso di Oracle Net Services 4.2 Le differenze fra le architetture dedicate e a server condiviso 4.3 Definizione delle connessioni 4.4 Uso di Oracle Net Listener 4.5 I metodi di denominazione 4.6 Uso dei file di configurazione di Oracle 4.7 Uso degli strumenti di amministrazione Progetto 4.1 Test di una connessione 65 67 69 73 75 78 79 81 82 85 86 90 91 92 92 93 96 100 105 110 113 116 119 122 125 127 128 132 138 141 145 149 150 156 INDICE 4.8 4.9 4.10 Capitolo 5 VII Uso dei profili 158 Connessioni di rete in un ambiente multilivello 159 Verifica delle capacità 160 Backup e ripristino 5.1 Le attività di backup e ripristino in Oracle 5.2 Attività di backup e ripristino gestite dall’utente 5.3 Scrittura di un backup di un database 5.4 Backup dei redo log archiviati 5.5 Introduzione a Oracle Data Pump 5.6 Uso di Oracle Data Pump Export 5.7 Uso di Oracle Data Pump Import 5.8 Uso delle operazioni tradizionali di esportazione e importazione 5.9 Introduzione a Recovery Manager Progetto 5.1 Backup e ripristino con RMAN 5.10 Verifica delle capacità 163 163 169 176 178 179 180 185 190 193 204 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 7.1 Che cosa rappresenta Java per un amministratore di database Oracle? 7.2 Panoramica su Java 7.3 Configurazione di Java per Oracle 7.4 Java in Oracle 7.5 I driver JDBC 249 250 253 261 263 266 VIII INDICE 7.6 7.7 7.8 7.9 7.10 7.11 Uso di JDBC Progetto 7.1 Accesso al database con Java Uso di SQLJ Le procedure Java memorizzate Progetto 7.2 Creazione di una procedura memorizzata Java Creazione di oggetti Java in Oracle I prodotti Oracle per Java Verifica delle capacità 267 268 270 271 273 275 276 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 9.10 9.11 Creazione di modelli SQL Progetto 9.2 Uso delle funzioni SQL analitiche e dei modelli Verifica delle capacità IX 361 364 366 Risposte alle verifiche delle capacità 369 Indice analitico 391