Oracle9i. Sono le dieci di sera, state impazzendo sul database. Indietro nel tempo con. Flashback Query

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Oracle9i. Sono le dieci di sera, state impazzendo sul database. Indietro nel tempo con. Flashback Query"

Transcript

1 Nella versione 9i del database più diffuso al mondo sono state aggiunte molte nuove funzionalità, una di queste consente di visualizzare i dati com erano in un determinato istante del passato Indietro nel tempo con Oracle9i Flashback Query Sono le dieci di sera, state impazzendo sul database di un cliente perché c è qualcosa che non vi torna nei dati. Dopo avere fatto decine di select, pregato in molti modi il Santo protettore dei programmatori e pianto lacrime amare, vi giunge l illuminazione: <<Eureka! Ecco i record di troppo!>>. Pensate subito al programma, o all utente, che sbagliando ha inserito quei dati. OK, niente panico, cancello questi record e sono a cavallo! Il comando da eseguire si scrive in pochi secondi: Delete from tabella Where condizione; Commit; «A posto! Controlliamo, per sicurezza ma che succede perché non trovo più? NO! HO CANCEL- LATO LE RIGHE SBAGLIATE!». Dite la verità, se lavorate su database da un po di tempo sicuramente vi è capitato. Dato il comando di Commit, il danno è fatto ed irreparabile. Bisogna recuperare il backup (se è disponibile) e questo comporta comunicare l errore al cliente e, soprattutto, al proprio capo. Problemi in vista! Il database è Oracle 9i? Ok, non ci sono problemi, c è modo per recuperare subito le righe cancellate mediante una flashback query. In quest articolo vedremo cos è e come si utilizza il package DBMS_FLASHBACK. In generale La logica è piuttosto semplice: i dati modificati vengono conservati in un apposito tablespace, detto di Massimo Ruocchio È laureato in matematica ed è certificato Oracle Application Developer. Si occupa di analisi, progettazione e sviluppo di applicazioni software. UNDO Tablespace, anziché nei classici Rollback Segment. Si stabilisce un ammontare di tempo (chiamiamolo periodo di conservazione) durante il quale il DBMS deve conservare i dati modificati in questo tablespace. Scaduto il periodo di conservazione, i dati potranno essere sovrascritti. In qualunque momento all interno del periodo di conservazione, è possibile leggere i dati com erano in un istante precedente. I dati vecchi possono, ovviamente, essere reinseriti nelle tabelle attuali in modo da ripristinare, a tutti gli effetti, la situazione antecedente all istruzione da annullare. La lettura dei dati dal tablespace di UNDO è effettuata mediante il package DBMS_FLASHBACK che vedremo nel dettaglio più avanti. Se il periodo di conservazione è scaduto ma i dati non sono stati sovrascritti nel tablespace di UNDO, allora è comunque possibile effettuare la lettura dei vecchi dati. Ma come si individua l istante temporale a cui si intende ritornare? In due modi: mediante un system change number oppure mediante un timestamp. Un system change number non è altro che un numero attribuito automaticamente da Oracle ad ogni modifica occorsa al sistema. Nel Listato c è un esempio 7

2 LISTATO Esempio di assegnazione dei System Change Number SQL*Plus: Release Production on Mar Mar 9 ::9 00 (c) Copyright 00 Oracle Corporation. All rights reserved. Il compito del DBA La prima cosa da fare è creare il tablespace di UNDO. L istruzione è semplice: Create UNDO tablespace nome Datafile percorso SIZE Dimensione; 8 Connesso a: Oracle9i Personal Edition Release Production JServer Release Production Select * from pippo; declare xscn number; begin for i in.. loop 6 select dbms_flashback.get_system_change_number 7 into xscn 8 from dual; 9 dbms_output.put( OLD SCN= xscn); 0 delete pippo where rownum=; commit; select dbms_flashback.get_system_change_number into xscn 6 from dual; 7 dbms_output.put_line( - NEW SCN= xscn); 8 9 end loop; 0 end; / OLD SCN= NEW SCN=0990 OLD SCN= NEW SCN=099 OLD SCN=099 - NEW SCN=099 OLD SCN=099 - NEW SCN=099 OLD SCN=099 - NEW SCN=099 per capire il funzionamento del system change number. La tabella PIPPO contiene cinque record. Lo script effettua la delete di una riga alla volta e, per ogni cancellazione, mostra il system change number prima e dopo l operazione. Come si vede, il system change number cambia per ogni istruzione di delete eseguita. È possibile tornare ad uno stato precedente del database passando un timestamp (cioè una data munita di ore, minuti, secondi e frazioni di secondo), ma c è un problema di precisione di cui parleremo più avanti. Ovviamente, affinché il package DBMS_ FLASHBACK possa essere utilizzato, il database deve essere opportunamente parametrizzato. L attività di impostazione e parametrizzazione tocca al DBA e sarà discussa nel prossimo paragrafo. A questo punto bisogna impostare tre parametri di inizializzazione: UNDO_MANAGEMENT deve essere impostato ad AUTO per consentire la gestione automatica del tablespace di UNDO; UNDO_TABLESPACE deve essere valorizzato con il nome del tablespace di UNDO creato; UNDO_RETENTION deve essere valorizzato con il numero di secondi che definiscono il periodo di conservazione, per default vale 900 ( minuti). Dopo avere impostato il parametro UNDO_ MANAGEMENT bisogna riavviare il, perché il parametro viene letto solo nella fase di start-up. Infine bisogna dare all utente che intende utilizzare il package DBMS_FLASHBACK il permesso di farlo, quindi connessi con l utente SYS bisogna dare il comando GRANT EXECUTE ON DBMS_FLASHBACK TO nomeutente; A questo punto il compito del DBA è finito (non c è voluto molto, in verità) e comincia il compito dello sviluppatore. Per di più nell installazione standard di Oracle9i i passi che abbiamo elencato (tranne la concessione della GRANT) vengono eseguiti automaticamente. Nel prossimo paragrafo descriviamo nel dettaglio il package DBMS_FLASHBACK. Il package DBMS_FLASHBACK Il package è costituito dalle seguenti procedure e funzioni: Procedure enable_at_time(query_time in TIMESTAMP); Procedure enable_at_system_change_number (query_scn in NUMBER); Procedure disable; Function get_system_change_number return NUMBER; La funzione GET_SYSTEM_CHANGE_NUMBER ritorna il system change number corrente. L abbiamo vista utilizzata nel Listato. Per far tornare il sistema ad una situazione antecedente bisogna utilizzare una delle procedure

3 ENABLE_AT, passando un istante (timestamp) oppure un system change number. Mediante la procedura DISABLE si fa ritornare il sistema allo stato corrente. Dopo una ENABLE_AT, e prima di una DISABLE, non è possibile modificare i dati né effettuare un ulteriore ENABLE_AT. Si tratta a tutti gli effetti di una sessione di sola lettura dei dati così com erano in un momento precedente. Facciamo qualche esempio. Un po di pratica Abbiamo cancellato queste benedette righe e dobbiamo reinserirle. Abbiamo imparato a leggere i dati come erano ad un certo istante, ma abbiamo visto che durante una sessione di FLASHBACK non è possibile effettuare inserimenti. Vediamo come fare per ripristinare i dati. Dal Listato vediamo che, prima della prima cancellazione dalla tabella PIPPO, il system change number era Nel Listato ripristiniamo la tabella come era in quel momento. Si può tornare ad un istante oppure ad un System Change Number Dichiariamo un cursore che prende i dati dalla tabella PIPPO e lo apriamo all interno di una sessione FLASHBACK relativa al system change number desiderato. Prima di effettuare gli inserimenti in tabella chiudiamo la sessione di FLASHBACK, tanto ormai i vecchi dati sono stati caricati in memoria. Scorriamo il cursore dei vecchi dati ed inseriamo nella tabella attuale. Se proprio non riusciamo a fare a meno dei cicli For, possiamo fare come indicato nel Listato. Abbiamo dichiarato una PL/SQL Table chiamata TN e basata sul tipo TAB_N (che è un vettore di variabili numeriche). All interno della sessione FLASH- BACK abbiamo caricato il vettore e, dopo essere tornati alla situazione attuale, lo abbiamo scorso per ripopolare la tabella. Il risultato è lo stesso. Il problema dei Timestamp Cos è un timestamp? Timestamp(N) è un nuovo tipo di dato presente in Oracle9i che aggiunge alla data classica le frazioni di secondo. N indica il numero di cifre decimali dei secondi e può valere da 0 a 9, dunque la precisione del timestamp può arrivare fino al miliardesimo di secondo. Per consentirci di gestire LISTATO Ripristino dei dati SQL*Plus: Release Production on Mar Mar 9 ::9 00 (c) Copyright 00 Oracle Corporation. All rights reserved. Connesso a: Oracle9i Personal Edition Release Production JServer Release Production select * from pippo; Nessuna riga selezionata Declare Cursor PIPPO_OLD is select * from pippo; N Number; Begin 6 DBMS_FLASHBACK.ENABLE_AT_SYSTEM_ CHANGE_NUMBER(0998); 7 OPEN PIPPO_OLD; 8 DBMS_FLASHBACK.DISABLE; 9 loop 0 FETCH PIPPO_OLD INTO N; Exit When PIPPO_OLD%NOTFOUND; Insert into pippo values(n); End loop; Commit; End; 6 / Select * from pippo; meglio i timestamp, Oracle ha fornito una funzione di conversione (TO_TIMESTAMP) ed una funzione che restituisce il timestamp di sistema (SYSTIME- STAMP). Per intuito, quando si sente parlare di tornare indietro ad una situazione precedente, si pensa ad un particolare istante. È quindi ovvio che ci debba essere la possibilità di vedere il sistema com era, ad esempio, il giorno 8 di Marzo 00 alle ore 0, minuti, secondi e 7 millesimi (a patto che questa data ricada nel periodo di conservazione). Il package DBMS_FLASHBACK mette a disposizione la funzione ENABLE_AT_TIME che, preso in input un timestamp, cerca il system change number corrispondente ed effettua una chiamata alla procedura ENABLE_AT_SYSTEM_CHANGE_NUMBER. C è, però, un problema: per associare il timestamp al system change number, Oracle conserva automaticamente ogni cinque minuti il timestamp ed il system change number correnti. Quando l utente richiede di tor- 9

4 LISTATO Ripristino dei dati utilizzando due cicli FOR select * from pippo; Nessuna riga selezionata Declare Cursor PIPPO_OLD is select * from pippo; type TAB_N is table of Number index by binary_integer; TN TAB_N; 6 i number := ; 7 Begin 8 DBMS_FLASHBACK.ENABLE_AT_SYSTEM_ CHANGE_NUMBER(0998); 9 0 For rec in PIPPO_OLD loop TN(i):= rec.pluto; i := i + ; End loop; DBMS_FLASHBACK.DISABLE; 6 7 For i in..tn.count loop 8 Insert into pippo values(tn(i)); 9 End loop; 0 Commit; End; / Select * from pippo; nare ad un certo istante, Oracle determina il system change number registrato più prossimo al timestamp richiesto, ma questo system change number potrebbe essere relativo ad una situazione dati che si era verificata due minuti e mezzo prima o dopo rispetto all istante che avevamo richiesto. In due minuti e mezzo su un può succedere di tutto, quindi i dati potrebbero essere molto diversi da quelli che ci aspettiamo. Come risolvere questo problema? Si può creare una tabella applicativa che conserva le coppie (timestamp, system change number) ad una frequenza superiore ad una volta ogni cinque minuti oppure ad ogni modifica delle tabelle critiche. La struttura della tabella potrebbe essere la seguente create table TAB_SCN_TIME (TSTAMP Timestamp(9), SYSTEMCN Number); Poi basterebbe scrivere una semplice procedura del tipo: create or replace procedure TORNA_ALLE (Istante in TIMESTAMP) is xscn number; Begin DBMS_FLASHBACK.DISABLE; Select SYSTEMCN into xscn from TAB_SCN_TIME where TSTAMP = ( Select Max(TSTAMP) From TAB_SCN_TIME Where TSTAMP <= Istante); DBMS_FLASHBACK.ENABLE_AT_ SYSTEM_CHANGE_NUMBER(xSCN); Exception When no_data_found then Null; End; / che fa all incirca le stesse operazioni della procedura ENABLE_AT_TIME associando, però, all istante richiesto dall utente, un system change number più significativo. Nella procedura precedente abbiamo inserito una DISABLE prima di ogni ENABLE per evitare l errore ORA-088 che corrisponde al tentativo di riabili- TABELLA Errori collegati al Package DMBS_FLASHBACK 60 Errore ORA-880 ORA-88 ORA-88 ORA-88 ORA-88 ORA-88 Descrizione Si è cercato di tornare indietro oltre il periodo di conservazione ed i dati sono stati già sovrascritti nel tablespace di UNDO. Si è specificato un system change number non valido. Quando si è in modalità Flashback non è possibile eseguire istruzioni che modificano i dati o le strutture dati (DML e DDL). Prima di entrare in modalità Flashback bisogna chiudere la transazione facendo Commit oppure Rollback. Quando si è in modalità Flashback non è possibile aprire una nuova sessione con ENABLE prima di avere chiuso la precedente con DISABLE. L utente SYS non è abilitato a lavorare in modalità Flashback.

5 tare la modalità Flashback mentre si è già in modalità Flashback. Gli altri errori collegati all utilizzo del package DBMS_FLASHBACK sono elencati in Tabella. Per quanto visto in questo paragrafo possiamo affermare che conviene fare riferimento, laddove possibile, ai system change number invece che ai timestamp. Conclusioni La possibilità di vedere i dati com erano in un istante del passato, e poi di poterli riutilizzare, stuzzica molto la fantasia dello sviluppatore. Non solo per riparare agli inevitabili errori. Ad esempio si potrebbe aggiungere, ad una funzione che visualizza delle statistiche su dati che cambiano velocemente, la possibilità di vedere com era la situazione in un istante precedente scelto dall utente (ovviamente all interno del periodo di conservazione). Molti altri utilizzi possono essere trovati per il package DBMS_FLASHBACK, ma bisogna tenere conto delle limitazioni e della logica dell oggetto. Meglio, allora, scrivere codice ragionando in termini di system change number anziché di timestamp. Se in un certo istante occorre una modifica strutturale di una tabella, anche solo l allargamento di un campo, i dati di quella tabella precedenti a tale modifica non saranno più recuperabili, quindi conta molto anche la stabilità del database. DBMS_FLASHBACK ed il datatype TIMESTAMP sono solo due delle modifiche migliorative apportate ad Oracle9i. Per maggiori informazioni su questi strumenti si possono consultare le risorse indicate in Bibliografia e nei Riferimenti. Altre novità introdotte nell ultima versione di Oracle saranno trattate nei prossimi numeri di Computer Programming. BIBLIOGRAFIA [] Oracle Oracle9i Flashback Query, Oracle Corp., 00 [] Oracle Oracle9i Supplied PL/SQL Packages and Types Reference, Cap 6, Oracle Corp., 00 RIFERIMENTI [] (Oracle Technology Network) 6

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

PL/SQL Uso di un linguaggio procedurale per un database

PL/SQL Uso di un linguaggio procedurale per un database PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a. 2000-2001 Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del

Dettagli

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno

Dettagli

Le risposte alle domande a fine capitolo

Le risposte alle domande a fine capitolo Appendice A Le risposte alle domande a fine capitolo Capitolo 1 ORACLE: LA SOCIETÀ E IL SOFTWARE 1. Oracle è stata fondata da Larry Ellison, Bob Miner e. D. Ed Oates 2. In quale anno Oracle ha fornito

Dettagli

Linee guida per la programmazione di transazioni in PL/SQL

Linee guida per la programmazione di transazioni in PL/SQL Linee guida per la programmazione di transazioni in PL/SQL Giuseppe Berio Giuseppe Berio DI - Unito 1 Esempio La transazione deve registrare l evasione di un ordine, rappresentato su più tabelle specializzate

Dettagli

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture L approccio tradizionale: uso di un linguaggio PLSQL 1.1

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1.

Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1. Indice INTRODUZIONE XI Capitolo 1 Oracle: la società e il software 1 1.1 Terminologia 1 1.2 Oracle Corporation: la storia 2 1.3 L offerta corrente 12 1.4 Domande 13 Capitolo 2 I servizi Oracle 15 2.1 Terminologia

Dettagli

APPENDICE. Procedure in SQL (1)

APPENDICE. Procedure in SQL (1) APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate

Dettagli

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati Che cos è un DBMS? Capitolo 1 Introduzione ai sistemi di basi di dati Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

DBMS ORACLE 9i I componenti del Database Server Oracle : Strutture di memoria Processi File fisici Directory principali: c:\oracle\admin\\pfile c:\oracle\ora92\database

Dettagli

Oracle - PL/SQL. Oracle: Prodotti

Oracle - PL/SQL. Oracle: Prodotti Oracle - PL/SQL Introduzione ad Oracle PL/SQL: Elementi di base Tecniche di programmazione uso delle variabili uso dei cursori uso delle funzioni/procedure I/O Oracle: Prodotti SQL*Plus - Interprete di

Dettagli

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati

Dettagli

In un articolo pubblicato nel numero di Gennaio 2002

In un articolo pubblicato nel numero di Gennaio 2002 Oracle 9.2 XML Database FOCUS Le soluzioni di Oracle La principale innovazione presente nella release 2 di Oracle9i è il database XML chiamato XDB. Analizziamo le principali caratteristiche di questo importante

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle Versione dei trigger e PSM di Oracle Lucidi derivati da quelli di Jeffrey D Ullman Oracle usa una variante di SQL/PSM che si chiama non consente solo di creare e memorizzare procedure e funzioni, ma puo

Dettagli

Implementazione in Oracle di un semplice progetto

Implementazione in Oracle di un semplice progetto Oracle e SQL Implementazione in Oracle di un semplice progetto Operazioni preliminari La versione del DBMS Oracle a cui si farà riferimento di qui in seguito è la 10g Express Edition, liberamente scaricabile

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Dominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures

Dominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Dominio applicativo (Capitolo 6) v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Basi di dati 1 Docente Claudia Amari 1 Progettazione PROGETTAZIONE

Dettagli

Oracle. data dictionary: Il data dictionary è una collezione di viste e. alla ricerca dell informazione perduta

Oracle. data dictionary: Il data dictionary è una collezione di viste e. alla ricerca dell informazione perduta Oracle Il dizionario dati di Oracle è uno strumento di eccezionale efficacia per sviluppatori e DB. Vediamo quali informazioni contiene e com è possibile consultarlo data dictionary: alla ricerca dell

Dettagli

Come trattare il risultato di un comando SQL (relazioni) che

Come trattare il risultato di un comando SQL (relazioni) che USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.

Dettagli

Transazioni - Parte 1

Transazioni - Parte 1 Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria

Dettagli

DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures

DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures 1 DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE

Dettagli

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati

Dettagli

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.

Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1. Università di Modena e Reggio Emilia Basi di dati (8) Docente: andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.1) 1 Panoramica Trigger Creazione Tipi di trigger Tabelle inserted/deleted Esempi

Dettagli

GUIDA BASE ALL SQL by DaD

GUIDA BASE ALL SQL by DaD GUIDA BASE ALL SQL by DaD Introduzione L'SQL, è un linguaggio per database anche se sarebbe meglio definirlo un sublinguaggio in quanto a differenza dei linguaggi veri e propri non possiede alcun comando

Dettagli

Il quarto tipo di blocco PL/SQL con nome è il trigger.

Il quarto tipo di blocco PL/SQL con nome è il trigger. Capitolo 10 Trigger di database 10.1 Tipi di trigger 10.2 Creazione di trigger 10.3 Tabelle mutanti 10.4 Sommario Il quarto tipo di blocco PLSQL con nome è il trigger. I trigger condividono molte delle

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Java e PL/SQL. Simona Rotolo

Java e PL/SQL. Simona Rotolo Java e PL/SQL Simona Rotolo 2 Con l'uscita di Oracle 8i è possibile costruire componenti software che accedono ai dati Oracle utilizzando in modo congiunto i linguaggi PL/Sql e Java. In tal modo è possibile

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF SPARC-CS-12/001 20 Gennaio 2012 Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF Abstract Vengono descritte le procedure di backup e restore dei dati memorizzati in un database di

Dettagli

Tecnologia di un Database Server (centralizzato) Introduzione generale

Tecnologia di un Database Server (centralizzato) Introduzione generale Introduzione Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Introduzione generale Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

Introduzione. Dicom in Oracle 11g: gestione e vantaggi

Introduzione. Dicom in Oracle 11g: gestione e vantaggi Introduzione Dicom in Oracle 11g: gestione e vantaggi Agenda Lo scenario del sistema sanitario moderno Cosa è DICOM? Gestione in Oracle dei dati DICOM Vantaggi Lo scenario Per molti anni utilizzo di carta

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Il linguaggio PL/SQL

Il linguaggio PL/SQL Il linguaggio PL/SQL Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Per approfondimenti: ORACLE 11g Rel. 2 Concepts ORACLE 11g Rel. 2 PL/SQL Language Reference 1 Cos è PL/SQL? Il

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

PL/SQL. linguaggio SQL di proprietà di Oracle Lo standard SQL è esteso dai principali sistemi commerciali:

PL/SQL. linguaggio SQL di proprietà di Oracle Lo standard SQL è esteso dai principali sistemi commerciali: PL/SQL Cos è PL/SQL? Il linguaggio procedurale per l estensione del linguaggio SQL di proprietà di Oracle Lo standard SQL è esteso dai principali sistemi commerciali: Da Oracle con PL/SQL (e Java) Da Access

Dettagli

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Esperienze Reali Migrazione alla V10

Esperienze Reali Migrazione alla V10 Esperienze Reali Migrazione alla V10 Page 1 Chi Siamo? Ambiente Bancario Gruppo Sistemisti DB2 2 Persone Sottosistemi Gestiti 15 di TEST/Sviluppo. 8 di produzione 5 datasharing di test 1 datasharing di

Dettagli

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2

BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 BENEDETTI ALESSANDRO Matricola :252805 PROGETTO DI TECNOLOGIA DELLE BASI DI DATI PARTE 2 Testo: Sviluppare semplici programmi che permettano di verificare i diversi livelli di isolamento previsti da SQL

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

Partizionamento di tabelle ed indici in. Introduzione al partizionamento Metodi di partizionamento Partizionamento di indici Performance

Partizionamento di tabelle ed indici in. Introduzione al partizionamento Metodi di partizionamento Partizionamento di indici Performance Partizionamento di tabelle ed indici in Introduzione al partizionamento Metodi di partizionamento Partizionamento di indici Performance Introduzione al partizionamento Definizione di partizionamento Caratteristiche

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

Dettagli

La piattaforma Oracle10g per la Continuita Operativa

La piattaforma Oracle10g per la Continuita Operativa La piattaforma Oracle10g per la Continuita Operativa Roma, 10 maggio 2006 Alfredo Valenza Principal Sales Consultant - Oracle Italia alfredo.valenza@oracle.com Cause di un disastro 3% 18% 18% 4% 14% 4%

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Descrizione In questo corso viene descritto PL/SQL e vengono illustrati i vantaggi derivanti dall'uso di questo potente linguaggio di programmazione. Viene spiegato come creare blocchi di codice PL/SQL

Dettagli

Comprendere ADO.NET. La guida definitiva per comprendere a fondo ADO

Comprendere ADO.NET. La guida definitiva per comprendere a fondo ADO 060-063 Database 3-03-2005 16:23 Pagina 62 DATABASE La guida definitiva per comprendere a fondo ADO Accesso ai DB con Visual Basic.Net 2003 L ultimo articolo che ci aiuterà ad interagire con i database,

Dettagli

UNIVERSITÀ DEGLI STUDI DI MILANO

UNIVERSITÀ DEGLI STUDI DI MILANO UNIVERSITÀ DEGLI STUDI DI MILANO Facoltà di Scienze e Tecnologie Corso di Laurea Triennale in Informatica LA TECNOLOGIA FLASHBACK NEI RDBMS ORACLE E POSTGRESQL RELATORE Prof. Stefano Montanelli CORRELATORE

Dettagli

AssetCenterTM Versione 3.51

AssetCenterTM Versione 3.51 AssetCenterTM Versione 3.51 Addendum 07 novembre 2000 ITEM ACT-3.51-IT-00795 Addendum - Italian Peregrine Systems, Inc., 1999-2000. Tutti i diritti riservati. Runtime Sybase SQL Anywhere : Sybase, Inc.

Dettagli

Aspetti relazionali ad oggetti di Oracle 9i. Il sistema di tipi di Oracle. Tipi oggetto

Aspetti relazionali ad oggetti di Oracle 9i. Il sistema di tipi di Oracle. Tipi oggetto Aspetti relazionali ad oggetti di Oracle 9i 158 Il sistema di tipi di Oracle Non distinct type Tipi oggetto Tipi riferimento Tipi collezione Ereditarietà 159 Tipi oggetto Possibilità di definire tipi oggetto

Dettagli

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati

Informatica B. Contenuti. Introduzione alle Basi di Dati e ai DBMS. Introduzione a dati e basi dati DBMS Modello dei dati Informatica B Introduzione alle Basi di Dati e ai DBMS Contenuti Introduzione a dati e basi dati DBMS Modello dei dati Informazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.),

Dettagli

Oracle 12c. Tutte le novità di. Massimo Ruocchio

Oracle 12c. Tutte le novità di. Massimo Ruocchio Massimo Ruocchio Tutte le novità di Oracle 12c Installazione Cloud e Multitenant Architecture Amministrazione SQL & PL/SQL Performance tuning Sicurezza Sommario Sommario... 2 Introduzione... 5 1 Installazione...

Dettagli

Webaccessibile.org La risorsa italiana di IWA dedicata all'accessibilita' del Web http://www.webaccessibile.org

Webaccessibile.org La risorsa italiana di IWA dedicata all'accessibilita' del Web http://www.webaccessibile.org Jaws: come personalizzarlo - Parte 2 Pubblicato da Roberto Castaldo il giorno 20 settembre 2006 Articolo di Nunziante Esposito Il menu successivo a quelli visti la volta scorsa, e quello delle utility.

Dettagli

SQL e linguaggi di programmazione

SQL e linguaggi di programmazione SQL e linguaggi di programmazione Complementi di Basi di Dati 1 SQL e linguaggi di programmazione Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine SQL e linguaggi di programmazione

Dettagli

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server SQL Server 7.0 1 SQL Server SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server 2 Strumenti per la gestione Enterprise Manager

Dettagli

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

Esercitazioni di Basi di Dati

Esercitazioni di Basi di Dati Esercitazioni di Basi di Dati A.A. 2008-09 Dispense del corso Utilizzo base di pgadmin III Lorenzo Sarti sarti@dii.unisi.it PgAdmin III PgAdmin III è un sistema di progettazione e gestione grafica di database

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Basi di Dati prof. A. Longheu. 5 Progettazione fisica

Basi di Dati prof. A. Longheu. 5 Progettazione fisica Basi di Dati prof. A. Longheu 5 Progettazione fisica Progettazione Fisica Per effettuare la progettazione fisica, ossia l implementazione reale del modello logico creato nella fase della progettazione

Dettagli

Introduzione al Python

Introduzione al Python Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

Dettagli

Manuale per la configurazione di AziendaSoft in rete

Manuale per la configurazione di AziendaSoft in rete Manuale per la configurazione di AziendaSoft in rete Data del manuale: 7/5/2013 Aggiornamento del manuale: 2.0 del 10/2/2014 Immagini tratte da Windows 7 Versione di AziendaSoft 7 Sommario 1. Premessa...

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella

Dettagli

Un introduzione. Sistemi Informativi LM d'agostino, Fornari, Leardini

Un introduzione. Sistemi Informativi LM d'agostino, Fornari, Leardini Un introduzione Sistemi Informativi LM d'agostino, Fornari, Leardini 1 L utilizzo di MySQL Sistemi Informativi LM d'agostino, Fornari, Leardini 2 L utilizzo di MySQL Sistemi Informativi LM d'agostino,

Dettagli

Welcome to Oracle 12c

Welcome to Oracle 12c Massimo Ruocchio Welcome to Oracle 12c Corso introduttivo al Database Oracle Architettura SQL PL/SQL C come Cloud http://oracleitalia.wordpress.com ISBN 978-1-291-82092-8 Copyright 2011-2014 di Massimo

Dettagli

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1

Indice. Introduzione PARTE PRIMA L ARCHITETTURA DEI DATABASE 1 Indice Introduzione XI PARTE PRIMA L ARCHITETTURA DEI DATABASE 1 Capitolo 1 Introduzione all architettura di Oracle 3 1.1 I database e le istanze 3 1.2 Installazione del software 9 1.3 Creazione di un

Dettagli

ARCHIVIO DEI QUESITI La risposta esatta è contrassegnata con un asterisco

ARCHIVIO DEI QUESITI La risposta esatta è contrassegnata con un asterisco SENATO DELLA REPUBBLICA Prova selettiva del concorso a 10 posti di Segretario parlamentare di professionalità informatica ARCHIVIO DEI QUESITI La risposta esatta è contrassegnata con un asterisco Roma,

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Utilizzare SQL nelle applicazioni

Utilizzare SQL nelle applicazioni Uso di SQL e nei linguaggi di programmazione Nella vita reale l interazione con basi di dati utilizzando SQL non è diretta, ma mediata attraverso l uso di programmi applicativi. Oltre ai tradizionali linguaggi

Dettagli

Introduzione a Oracle

Introduzione a Oracle Introduzione a Oracle Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna Per approfondimenti: ORACLE 11g Rel. 2 - Concepts 1 I DBMS (richiami) Un DBMS (Data Base Management System) è

Dettagli

Introduzione al QMF per Windows

Introduzione al QMF per Windows Query Management Facility Introduzione al QMF per Windows Versione 7 SC13-2907-00 Query Management Facility Introduzione al QMF per Windows Versione 7 SC13-2907-00 Nota Prima di utilizzare questo prodotto

Dettagli

RDBMS: panorama attuale. RDBMS: panorama attuale

RDBMS: panorama attuale. RDBMS: panorama attuale RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

Capitolo primo. Introduzione

Capitolo primo. Introduzione Capitolo primo Introduzione Questo corso si propone di insegnare a creare applicazioni database con Access utilizzando il linguaggio VBA-Visual Basic for Application: vale a dire quel caratteristico dialetto

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Descrizione Il corso affronta le caratteristiche di Oracle9i e Oracle9i Release 2. In questo corso, rivolto ai database administrator (DBA) Oracle, vengono descritte in modo approfondito le attività di

Dettagli

Oracle 11g Enterprise. A cura del docente Giuliano Pellegrini Parisi - 2009

Oracle 11g Enterprise. A cura del docente Giuliano Pellegrini Parisi - 2009 Oracle 11g Enterprise A cura del docente Giuliano Pellegrini Parisi - 2009 Copyright e diritti d autore Oracle è un marchio registrato di Oracle Corporation e/o filiali Copyright 1995-2009. Tutti i diritti

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT

NETEZZA APPLIANCE. Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT NETEZZA APPLIANCE Danilo De Benedictis danilode@gmail.com NETEZZA DEVELOPMENT NETEZZA DEVELOPMENT STORED PROCEDURES ANALYTIC FUNCTIONS NETEZZA DEVELOPMENT STORED PROCEDURES STORED PROCEDURES Definizione:

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli