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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Approccio procedurale Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Oracle Database 11g: Workshop di amministrazione II Release 2

Oracle Database 11g: Workshop di amministrazione II Release 2 Oracle University Contact Us: 800 672 253 Oracle Database 11g: Workshop di amministrazione II Release 2 Duration: 5 Days What you will learn Questo corso va oltre le attività di base descritte per il 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

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

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

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

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

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

APPLICAZIONI DELLE BASI DI DATI

APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI TRADIZIONALI APPLICAZIONI INTERNET SQL EMBEDDED SQL nel codice applicativo! I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio

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 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

Versione 5.0. La cartella di Excel contiene, di default, le seguenti schede: Classe, Criteri, 1, Riepilogo, Archivio, Doc15 come si vede in figura:

Versione 5.0. La cartella di Excel contiene, di default, le seguenti schede: Classe, Criteri, 1, Riepilogo, Archivio, Doc15 come si vede in figura: Versione 5.0 Premessa Cicero è costruito per la correzione della prova d italiano e per la seconda prova del liceo classico (latino o greco); facilita la correzione della prova, aiutando a mantenere un

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 EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

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

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

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

Eliminare i contatti duplicati in MS Outlook

Eliminare i contatti duplicati in MS Outlook MDaemon GroupWare Eliminare i contatti duplicati in MS Outlook Abstract... 2 Il problema... 2 La soluzione... 2 Esportazione dei dati da MS Outlook... 3 Eliminazione con MS Access dei duplicati... 6 Importazione

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

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

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

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

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

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

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

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 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

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

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

MICROSOFT ACCESS. Fabrizio Barani 1

MICROSOFT ACCESS. Fabrizio Barani 1 MICROSOFT ACCESS Premessa ACCESS è un programma di gestione di banche dati, consente la creazione e modifica dei contenitori di informazioni di un database (tabelle), l inserimento di dati anche mediante

Dettagli

Sistemi Informativi Aziendali II

Sistemi Informativi Aziendali II Modulo 2 Sistemi Informativi Aziendali II 1 Corso Sistemi Informativi Aziendali II - Modulo 2 Modulo 2 La gestione delle informazioni strutturate nell impresa: La progettazione di un Data Base; Le informazioni

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