Basi di dati attive Paolo Atzeni.

Slides:



Advertisements
Presentazioni simili
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Advertisements

Sicurezza e concorrenza nelle basi di dati
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 Basi di dati attive. 2 Sommario Preliminari Approcci architetturali Linguaggi per la specifica di regole – Eventi – Condizioni – Azioni – Ulteriori.
Università di Modena e Reggio Emilia 1 DB unimo Decomposizione Schemi e Trigger.
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Asserzioni, Viste & Triggers
Basi di dati attive Dispongono di un sottosistema integrato per definire e gestire regole di produzione (regole attive) Regole di tipo: Evento-Condizione-Azione.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Base di dati Insieme organizzato di dati utilizzati per lo svolgimento delle attività di un ente, azienda, ufficio, persona Es.: elenchi telefonici, elenco.
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.
Introduzione ai Sistemi Informativi e alle Basi di dati
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
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.
Nataliya Rassadko SQL: Lezione 8 Nataliya Rassadko
Aspetti sistemistici dellSQL. SQL environment Un SQL environment è un framework dove esistono dati e possono aversi istruzioni SQL eseguite su questi.
Basi di dati (modulo 2) Prof. Giovanni Giuffrida
SQL Per la modifica di basi di dati
0 Aspetti relazionali ad oggetti di SQL: Utilizzo di un DBMS zTre classi di applicazioni: yapplicazioni gestionali yapplicazioni navigazionali.
SQL1 Modifica dei dati inserimento cancellazione modifica.
Le transazioni Itis Max Planck.
SQL: Amministrazione e Viste
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Programma del Corso Dati e DBMS DBMS relazionali SQL
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Transazioni.
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.
Gestione dell’Informazione: Aspetti Introduttivi
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Basi di Dati Barbara Catania Aspetti Introduttivi.
Cos’è una transazione? Una transazione è un’unità logica di elaborazione richiesta da un’applicazione che dà luogo a una serie di operazioni fisiche elementari.
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
Corso di Basi di Dati Il Linguaggio SQL
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi SQL per Applicazioni Home page del corso:
Basi di dati attive. Una base di dati che offre regole attive Si parla normalmente di trigger Trigger presentati rapidamente in precedenza Si vogliono.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
FUNZIONI Dichiarazione: Definizione:
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
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;
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Basi di dati Prof. Giovanni Giuffrida Stanza: 362 tel:
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 1: Introduzione 24/09/2002.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Elementi di PL/SQL. Pl/Sql Il PL/SQL (Procedural Language/Structured Query Language) è un linguaggio di programmazione procedurale di Oracle che costituisce.
E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni, Ceri, Paraboschi, Torlone: Basi di dati, Capitolo 1) Introduzione 19/09/2004.
PL/SQL Procedural Language/SQL estensione procedurale del linguaggio SQL.
Introduzione ai database parte seconda
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.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Transcript della presentazione:

Basi di dati attive Paolo Atzeni

Basi di dati attive BD con componente per la gestione di regole Evento-Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base di dati valuta una condizione e, in base al valore di verit\`a hanno comportamento reattivo (in contrasto con passivo): eseguono non solo le transazioni utenti ma anche le regole le regole “mettono a fattor comune” parte dell’applicazione che è così “condivisa” “indipendenza della conoscenza” esistono molti prototipi sperimentali i DBMS comerciali hanno i trigger (in via di standardizzazione in SQL-3) Paolo Atzeni, 17 marzo 2000

Trigger definiti con istruzioni DDL (create trigger) basati sul paradigma evento-condizione-azione (ECA): evento: modifica dei dati, specificata con insert, delete, update condizione (opzionale) predicato SQL azione: sequenza di istruzioni SQL (o estensioni, ad esempio PL/SQL in Oracle) intuitivamente: quando si verifica l’evento (attivazione) se la condizione è soddisfatta (considerazione) allora esegui l’azione (esecuzione) ogni trigger fa riferimento ad una tabella (target): risponde ad eventi relativi a tale tabella Paolo Atzeni, 17 marzo 2000

Trigger: granularità e modalità di ennupla (row-level): attivazione per ogni ennupla coinvolta nell'operazione di operazione (statement-level): una sola attivazione per ogni istruzione SQL, con riferimento a tutte le ennuple coinvolte (“set-oriented”) modalità immediata: subito dopo (o subito prima) dell’evento differita: al commit Paolo Atzeni, 17 marzo 2000

Trigger in Oracle, sintassi create trigger TriggerName Mode Event {, Event} on TargetTable [ [referencing Reference] for each row [when SQLPredicate]] PL/SQLBlock Mode: before o after Event: insert, update, delete for each row specifica la granularità Reference: permette di definire nomi di variabili (utilizzabili solo per granularità di ennupla): old as OldVariable | new as NewVariable Paolo Atzeni, 17 marzo 2000

Trigger in Oracle, semantica modalità immediata (sia after sia before) schema di esecuzione: trigger before statement per ogni ennupla coinvolta: trigger before row operazione trigger after row trigger after statement in caso di errore, si disfa tutto priorità fra i trigger massimo 32 trigger attivati in cascata Paolo Atzeni, 17 marzo 2000

Trigger in Oracle, esempio create trigger Reorder after update of QtyAvbl on Warehouse when (new.QtyAvbl < new.QtyLimit) for each row declare X number; begin select count(*) into X from PendingOrders where Part = new.Part; if X = 0 then insert into PendingOrders values (new.Part, new.QtyReord, sysdate); end if; end; Paolo Atzeni, 17 marzo 2000

Trigger in Oracle, esempio, 2 T1: update Warehouse set QtyAvbl = QtyAvbl - 70 where Part = 1 T2: update Warehouse set QtyAvbl = QtyAvbl - 60 where Part <= 3 Paolo Atzeni, 17 marzo 2000

Trigger in DB2, sintassi create trigger TriggerName Mode Event on TargetTable [referencing Reference] for each Level [when (SQLPredicate)] SQLProceduralStatement Mode: before o after Event: insert, update, delete for each Level specifica la granularità Reference: permette di definire nomi di variabili (a seconda della granularità): old as OldTupleVar | new as NewTupleVar old_table as OldTableVar | new_table as NewTableVar Paolo Atzeni, 17 marzo 2000

Trigger in DB2, semantica modalità immediata (sia after sia before) i before trigger non possono modificare la base di dati, a parte varianti sulle modifiche causate dall’evento (e quindi non possono generare attivare altri trigger) in caso di errore, si disfa tutto nessuna priorità fra i trigger (ordine definito dal sistema), interazione con le azioni compensative sui vincoli di integrità referenziale massimo 16 trigger attivati in cascata Paolo Atzeni, 17 marzo 2000

Trigger in DB2, esempio foreign key (Supplier) references Distributor on delete set null create trigger SoleSupplier before update of Supplier on Part referencing new as N for each row when (N.Supplier is not null) signal sqlstate '70005' ('Cannot change supplier') create trigger AuditPart after update on Part referencing old_table as OT for each statement insert into Audit values(user, current-date, (select count(*) from OT)) Paolo Atzeni, 17 marzo 2000

Estensioni (di solito non disponibili) eventi temporali (anche periodici) o “definiti dall’utente” combinazioni booleane di eventi clausola instead of: non si esegue l'operazione che ha attivato l'evento, ma un’altra azione esecuzione “distaccata”: si attiva transazione autonoma definizione di priorità regole a gruppi, attivabili e disattivabili regole associate anche a interrogazioni (non solo aggiornamenti) Paolo Atzeni, 17 marzo 2000

Proprietà delle regole terminazione (essenziale) confluenza determinismo delle osservazioni Paolo Atzeni, 17 marzo 2000

Applicazioni funzionalità interne controllo dei vincoli di integrità replicazione gestione delle viste materializzate: propagazione virtuali: modifica delle interrogazioni funzionalità applicative: descrizione della dinamica (comportamento) delle basi di dati Paolo Atzeni, 17 marzo 2000