Transazioni.

Slides:



Advertisements
Presentazioni simili
MICROSOFT EXCEL 97.
Advertisements

CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Architettura MySQL E Motori MySQL L. Vigliano.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Sicurezza e concorrenza nelle basi di dati
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Data Bases Distribuiti Finalità Caratteristiche Struttura Mario Capurso
UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE DELLA COMUNICAZIONE MASTER UNIVERSITARIO DI I LIVELLO - COMUNICAZIONE e DIVULGAZIONE SCIENTIFICA Direttore.
Basi di dati attive Dispongono di un sottosistema integrato per definire e gestire regole di produzione (regole attive) Regole di tipo: Evento-Condizione-Azione.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
Basi di Dati prof. A. Longheu
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
SQL Structured Query Language
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Elementi di PL/SQL.
Limplementazione del database Oracle in Aleph500 Udine, marzo 2001.
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Basi di dati attive Paolo Atzeni.
Basi di dati Università Degli Studi Parthenope di Napoli
Aspetti sistemistici dellSQL. SQL environment Un SQL environment è un framework dove esistono dati e possono aversi istruzioni SQL eseguite su questi.
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Le transazioni Itis Max Planck.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
sql: esempi di linguaggio sql nell'implementazione mysql
Di Luca Santucci 5° Programmatori
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
File system distribuito transazionale con replicazione
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
FUNZIONI Dichiarazione: Definizione:
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: –COMMIT –SAVEPOINT nome_punto.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
SQL (III) Data Definition Language/ Data Manipulation Language.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
INSERIMENTO FILE XML PER UTENTI CAF Procedura di Inserimento di File XML per le utenze CAF Università degli Studi Roma Tre (A.A. 2007/08)
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Sistema distribuito per il controllo remoto di Software SCADA HMI Presentazione di Paolo di Francia Reti di Calcolatori LS a.a
Transazioni in MySQL 4 Transazioni in MySQL 4
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Manuale Utente – i-Sisen Questionario dei Consumi
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 4 - Le maschere.
Le basi di dati.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Basi di Dati attive. Sistemi Informativi DEE - Politecnico di Bari E. TinelliBasi di dati attive2 Definizione Una base di dati si dice attiva quando dispone.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: COMMIT SAVEPOINT nome_punto.
Transcript della presentazione:

Transazioni

TIPI DI TRANSAZIONI DML – Data Manipulation Language un numero di DML statement che Oracle Server tratta come una singola entità DDL – Data Definition Language una singola operazione DDL (create, alter,drop, truncate) DCL – Data Control Language una singola operazione DCL (grant, revoke)

TRANSAZIONI una transazione inizia quando il primo statement DML SQL viene eseguito una transazione finisce con uno dei seguenti eventi: COMMIT o ROLLBACK statement uno statement DDL o DCL viene eseguito (commit automatico) l’utente esce da iSQL*Plus la macchina vai in crash

VANTAGGI DI COMMIT E ROLLBACK assicurano la consistenza permettono di vedere le modifiche apportate prima di renderle permanenti

CONTROLLO DI UNA TRANSAZIONE Time COMMIT Transaction Savepoint A Savepoint B DELETE INSERT UPDATE ROLLBACK al SAVEPOINT B ROLLBACK al SAVEPOINT A INSERT ROLLBACK

CONTROLLO DI UNA TRANSAZIONE Statement Descrizione COMMIT Termina la transazione rendendo permanenti le modifiche SAVEPOINT name Segna un savepoint (marca) nella transazione corrente ROLLBACK Termina la transazione cancellando le modifiche effettuate ROLLBACK TO SAVEPOINT name Effettua il rollback nella transazione corrente fino al punto savepoint specificato. Omettendo la clausola savepoint, il rollback avviene sull’intera transazione.

ROLLBACK TO SAVEPOINT il comando SAVEPOINT crea una “marca” nella transazione corrente in modo da dividerla in piccole sezioni ROLLBACK TO SAVEPOINT permette di effettuare un rollback fino al punto stabilito dal savepoint UPDATE … SAVEPOINT update done; Savepoint created. INSERT… ROLLBACK TO update done; Rollback complete. Creando un savepoint con lo stesso nome di uno creato precedentemente, il primo savepoint viene cancellato

TRANSAZIONE IMPLICITA Avviene una transazione implicita, cioè commit automatico: quando viene eseguito uno statement DDL quando viene eseguito uno statement DCL uscendo in modo normale (non anomalo) da SQL*Plus senza specificare COMMIT o ROLLBACK Si verifica un ROLLBACK automatico uscendo in modo anormale da SQL*Plus o quando la transazione viene interrotta per un errore di sistema

TRANSAZIONE IMPLICITA NOTA 1 : È possibile con SQL*Plus mettere il comando AUTOCOMMIT a ON. Questo significa che ogni statement DML verrà automaticamente committato dopo l‘esecuzione. NOTA2 : uscire in modo normale da SQL*Plus significa utilizzare il comando EXIT nel prompt. Chiudere la finestra senza uscire viene interpretato come chiudura anormale.

STATO DEI DATI PRIMA DI COMMIT O ROLLBACK si può tornare allo stato precedente dei dati, ogni operazione DML non committata è solo temporanea infatti viene prima effettuata nel database buffer in modo da poter ripristinare l’utente che ha effettuato le operazioni DML può vedere il risultato con la SELECT gli altri utenti non possono vedere il risultato fino a dopo il commit le righe toccate dalle operazioni DML sono LOCCATE, gli altri utenti non possono modificare queste righe

STATO DEI DATI DOPO IL COMMIT le modifiche fatte ai dati diventano permanenti nel database lo stato precedente alle modifiche viene definitivamente perso tutti gli utenti possono vedere il risultato il LOCK sulle righe modificate viene rilasciato; le righe possono essere modificate da altri utenti tutti i SAVEPOINT vengono cancellati

STATO DEI DATI DOPO IL ROLLBACK le modifiche fatte vengono ripristinate viene riportato il database allo stato precedente le modifiche il LOCK sulle righe modificate viene rilasciato; le righe possono essere modificate da altri utenti

ROLLBACK A LIVELLO DI STATEMENT se un singolo statement DML di una transazione fallisce durante l’esecuzione, verrà fatto il rollback solo di quello statement non viene fatto il rollback sulle modifiche fatte dai precedenti in caso si operazioni DDL, se uno statement non va a buon fine non è possibile fare rollback delle precedenti operazioni inquanto per ogni statement avviene un commit automatico

READ CONSISTENCY è possibile accedere al database in due modi : - lettura (SELECT statement) - scrittura (INSERT, UPDATE, DELETE statement) viene garantita, sia in lettura che in scrittura, la consistenza dei dati le modifiche fatte da un utente non vanno in conflitto con le modifiche fatte da un altro utente in lettura non si vedono le modifiche ancora in elaborazione (non committate) Lo scopo è di assicurare che ogni utente veda i dati allo stato dell’ultimo commit.

IMPLEMENTAZIONE READ CONSISTENCY Read consistency è un’implementazione automatica Quando un’operazione DML viene fatta sul database, Oracle Server mette una copia dei dati non ancora modificati sull’UNDO SEGMENT Prima che venga effettuato il commit, tutti gli utenti che entrano in lettura, ad eccezione dell’utente che ha effettuato le modifiche, vedrà uno snapshot dei dati nell’UNDO SEGMENT Questo garantisce a chi entra in lettura la consistenza dei dati Al momento del commit, i dati diventano visibili a tutti gli utenti e lo spazio occupato dai vecchi dati nell’undo segment viene liberato ed eventualmente riutilizzato Se si fa un rollback della transazione, la vecchia versione dell’undo segment viene riscritta nelle tabelle e il database tornerà, anche per l’utente che ha effettuato le modifiche, nello stato precedente la transazione