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

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

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

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

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

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS:

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

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

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

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

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

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

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

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

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

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI 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

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

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

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

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

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

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

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

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

WORD 97 SCRIVERE UNA TESI DI LAUREA

WORD 97 SCRIVERE UNA TESI DI LAUREA WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora

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

Basi di dati e sistemi informativi I

Basi di dati e sistemi informativi I Basi di dati e sistemi informativi I mod. laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, 11 marzo 2015 Soluzione 1, creazione CREATE TABLE Impiegato ( Cod NUMBER(4),

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

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Durante l interrogazione,

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

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

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

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte.

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Continuiamo la parte che completerà la trattazione dei link, andando ad operare direttamente

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di

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

Capitolo 7. Esercizio 7.1

Capitolo 7. Esercizio 7.1 Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il

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

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

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

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO

DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO DESIGNAZIONE: Rappresenta una relazione tra due entità di tipo 1 ad M. Esempio tipico è : REPARTO ------- IMPIEGATO (designata) (designante) Viene rappresentata inserendo, nella tabella dell entità designante,

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

Dettagli

MyDiagnostick Management Studio

MyDiagnostick Management Studio MyDiagnostick Management Studio Manuale d uso MyDiagnostick Medical All Rights Reserved 1 Indice MANUALE D'USO... 1 FABBRICANTE... 3 VENDITA E ASSISTENZA... 3 REQUISITI DEL SISTEMA... 3 1. PRIMO UTILIZZO

Dettagli

Archivi e database. Lezione n. 7

Archivi e database. Lezione n. 7 Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

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

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

Visualizzazione ordini in MyShopDB

Visualizzazione ordini in MyShopDB Visualizzazione ordini in MyShopDB Risolviamo gli esercizi della lezione scorsa, scrivendo una pagina ordini.jsp che visualizzi le intestazioni di ogni ordine (numero d ordine, data, nome, cognome, indirizzo,

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

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

Backup e Aggiornamenti

Backup e Aggiornamenti Backup e Aggiornamenti Note tecniche Clima Estratto da Primi Passi v. 1.8 14/1/2013 Primi passi pag. 1 Backup e Aggiornamenti Copyright Eskimo srl Tutti i diritti riservati. Il software o parte di esso

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

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

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

MySQL Procedure, funzioni, trigger e scheduling

MySQL Procedure, funzioni, trigger e scheduling Corso di Laurea in Informatica Base Dati a.a. 2012-2013 MySQL Procedure, funzioni, trigger e scheduling Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Definizione di stored procedure Una stored

Dettagli

disponibili nel pacchetto software.

disponibili nel pacchetto software. Modulo syllabus 4 00 000 00 0 000 000 0 Modulo syllabus 4 DATABASE 00 000 00 0 000 000 0 Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database

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

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

Sviluppare un DB step by step

Sviluppare un DB step by step Sviluppare un DB step by step Creare un nuovo database Per prima cosa creiamo un nuovo DB vuoto Access di default salverà il db dandogli come nome Database 1 se è già presente un file con tale nome Database

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

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

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

Fido e Scoperto, Blocchi Amministrativi

Fido e Scoperto, Blocchi Amministrativi Release 5.20 Manuale Operativo CLIENTI PLUS Fido e Scoperto, Blocchi Amministrativi Il modulo Clienti Plus è stato studiato per ottimizzare la gestione amministrativa dei clienti, abilitando la gestione

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

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

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Oracle Database 11g: Workshop di amministrazione I Release 2

Oracle Database 11g: Workshop di amministrazione I Release 2 Oracle University Contact Us: 800 672 253 Oracle Database 11g: Workshop di amministrazione I Release 2 Duration: 5 Days What you will learn Agli utenti che desiderano diventare professionisti Oracle viene

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

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

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

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

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Sistemi Mobili e Wireless Android - Dati persistenti: SQLite Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Android offre

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

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

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database Cosa è Basi di dati Pietro Pala (pala@dsi.unifi.it) Microsoft Access Access è un DBMS relazionale in grado di supportare: Specifica grafica dello schema della base dati Specifica grafica delle interrogazioni

Dettagli

SOFTWARE MAINTENANCE DESIGN

SOFTWARE MAINTENANCE DESIGN SOFTWARE MAINTENANCE DESIGN INTRODUZIONE... 1 1.1 Identificazione della richiesta di modifica... 2 1.2 Assegnazione di un numero di identificazione alla Change Request... 2 1.3 Classificazione del tipo

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

ROUTINE E PROGRAMMAZIONE

ROUTINE E PROGRAMMAZIONE LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 PAG. 1 / 6 LEZIONE-TSQL-02 TRIGGER E PROCEDURE (VER03 T-SQL PROGRAMMAZIONE PARTE SECONDA ROUTINE E PROGRAMMAZIONE In TSQL è possibile definire alcune routine

Dettagli

Interfaccia software per pc

Interfaccia software per pc Interfaccia software per pc Istruzioni per l uso Grazie per aver scelto un prodotto Esse-ti Questo prodotto è stato progettato appositamente per facilitare l'utente nelle attività telefoniche quotidiane.

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

8.9 CREARE UNA TABELLA PIVOT

8.9 CREARE UNA TABELLA PIVOT 8.9 CREARE UNA TABELLA PIVOT Utilizziamo la tabella del foglio di Excel Consumo di energia elettrica in Italia del progetto Aggiungere subtotali a una tabella di dati, per creare una Tabella pivot: essa

Dettagli

La Document Orientation. Come implementare un interfaccia

La Document Orientation. Come implementare un interfaccia La Document Orientation Come implementare un interfaccia Per eliminare l implementazione di una interfaccia da parte di una classe o documento, occorre tirarla su di esso tenendo premuto il tasto ctrl.

Dettagli

Cap. 5 Basi di dati attive

Cap. 5 Basi di dati attive SOMMARIO 2 Cap. 5 Basi di dati attive Introduzione. 3 Trigger in SQL:999.. Esecuzione di un solo trigger... 4 Esecuzione di più trigger... Esempio di esecuzione 23 Progettazione delle regole attive....

Dettagli

Le parti della struttura che ci interessano, ai fini del problema che stiamo analizzando, sono il Volume Shadow Copy Service e il Volume Snapshot.

Le parti della struttura che ci interessano, ai fini del problema che stiamo analizzando, sono il Volume Shadow Copy Service e il Volume Snapshot. 2009 Microsoft Corporation. Tutti i diritti riservati. Da PierGiorgio Malusardi (MCSE MCSA MCT) - IT Pro Evangelist Microsoft Italia Uno dei principali motivi di richiesta d aiuto al supporto IT delle

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

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

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

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

Manuale di Aggiornamento BOLLETTINO. Rel. 5.1.0. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.1.0. DATALOG Soluzioni Integrate a 32 Bit KING Manuale di Aggiornamento BOLLETTINO Rel. 5.1.0 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 CONTABILITA... 3 1.1 Consultazione Mastrini: Richiamo movimenti di anni

Dettagli

Introduzione alle Basi di Dati

Introduzione alle Basi di Dati CORSO DI AGGIORNAMENTO PROFESSIONALE IN DATA BASE TOPOGRAFICI rockini@tele2.it Istituto Geografico Militare A.A. 2007-2008 Sommario Vediamo brevemente alcuni aspetti che riguardano i database, con particolare

Dettagli

Migrazione di HRD da un computer ad un altro

Migrazione di HRD da un computer ad un altro HRD : MIGRAZIONE DA UN VECCHIO PC A QUELLO NUOVO By Rick iw1awh Speso la situazione è la seguente : Ho passato diverso tempo a impostare HRD e a personalizzare i comandi verso la radio, le frequenze preferite,

Dettagli

IL DAT A B A S E DI ALGE B R A N D O

IL DAT A B A S E DI ALGE B R A N D O IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano

Dettagli

CREAZIONE DI UN DB RELAZIONALE IN ACCESS

CREAZIONE DI UN DB RELAZIONALE IN ACCESS CONTENUTI: CREAZIONE DI UN DB RELAZIONALE IN ACCESS Definizione della chiave primaria di una tabella Creazione di relazioni fra tabelle Uso del generatore automatico di Query A) Apertura del DB e creazione

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

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

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

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

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