Triggers Esercitazione 1
|
|
|
- Gabriela Sacchi
- 9 anni fa
- Просмотров:
Транскрипт
1 Triggers Esercitazione 1 Nel seguente documento vengono mostrati alcuni esempi di trigger e di funzioni pgplsql. Si ricorda che i trigger vengono eseguiti al verificarsi di certe condizioni definite dal progettista del database e che ogni volta che un trigger va in esecuzione viene invocata una particolare funzione definita in un linguaggio plsql. In particolare, noi ci concentreremo sulle funzioni scritte nel linguaggio pgplsql. Archiviazione Barche Il primo esempio che vedremo e' quello di un trigger che va in esecuzione ogni volta che viene cancellata una tupla dalla tabella barche e aggiunge la tupla eliminata alla tabella ex_barche. Innanzitutto e' necessario creare la tabella ex_barche con lo stesso schema della relazione della tabella barche. Prima di tutto definiamo la funzione che il trigger richiamerà durante la sua esecuzione. CREATE OR REPLACE FUNCTION archivia_barca() RETURNS trigger AS $archivia_barca$ -- Aggiorna la tabella delle barche non più in uso INSERT INTO ex_barche SELECT OLD.bid, OLD.bnome, OLD.colore; END $archivia_barca$ LANGUAGE plpgsql; Una volta creata la funzione possiamo definire il trigger come riportato di seguito. CREATE TRIGGER archivia_barca AFTER INSERT OR UPDATE OR DELETE ON barche FOR EACH ROW EXECUTE PROCEDURE archivia_barca(); Esercizio: Creare una tabella ex_velisti, con lo stesso schema della relazione della tabella velisti e definire una funzione e un trigger che inseriscono nella tabella ex_velisti ogni tupla che viene cancellata dalla tabella velisti. Calcolo Statistiche di Accesso al Database Questo esempio mostra come mantenere delle statistiche di accesso al database ogni volta che viene effettuata un comando di update, di insert o di delete su una qualsiasi tabella del database. Prima di tutto e' necessario creare una tabella che conterrà le statistiche di accesso al database. Lo schema della relazione statistiche e' riportato di seguito. Column tipo_accesso nome_utente tempo Type character(1) character varying(20) timestamp with time zone -1-
2 Una volta creato lo schema della relazione statistiche si può procedere alla definizione della funzione che verra' invocata ogni volta che un trigger andrà in esecuzione. La funzione per l'aggiornamento delle statistiche e' riportata di seguito. CREATE OR REPLACE FUNCTION statistiche_vela() RETURNS TRIGGER AS $statistiche_vela$ -- Crea una riga nella tabella che riflette le modifiche fatte -- nel database IF (TG_OP = 'DELETE') THEN INSERT INTO statistiche SELECT 'D', user, now(); ELSIF (TG_OP = 'UPDATE') THEN INSERT INTO statistiche SELECT 'U', user, now(); RETURN NEW; ELSIF (TG_OP = 'INSERT') THEN INSERT INTO statistiche SELECT 'I', user, now(); RETURN NEW; RETURN NULL; -- Ignora il risultato perchè siamo dopo del trigger $statistiche_vela$ LANGUAGE plpgsql; La variabile TG_OP presente nello script e' una variabile che viene settata automaticamente dal trigger che invoca questa funzione e contiene al suo interno l'operazione che ha scatenato il trigger stesso. In questo modo possiamo scrivere una sola funzione per gestire sia gli eventi dovuti ad un comando di update, ad un comando di insert e ad un comando di delete. La variabile user contiene invece il nome utente di chi ha eseguito il comando che ha poi scatenato il trigger. La funzione now() ritorna il tempo corrente nel formato timestamp. Una volta definita la funzione di aggiornamento delle statistiche e' necessario definire un trigger che richiama questa funzione per ciascuna tabella di cui vogliamo monitorare le statistiche. Di seguito sono riportate le definizioni dei trigger per tutte le tabelle. AFTER INSERT OR UPDATE OR DELETE ON prenotazioni AFTER INSERT OR UPDATE OR DELETE ON barche AFTER INSERT OR UPDATE OR DELETE ON velisti AFTER INSERT OR UPDATE OR DELETE ON ex_barche AFTER INSERT OR UPDATE OR DELETE ON ex_velisti -2-
3 E' interessante notare che se sia i triggers di aggiornamento delle statistiche che quelli di archiviazione delle tabelle velisti e barche sono definiti nel database, si può osservare il fenomeno dei triggers richiamati a cascata. Ad esempio, quando viene cancellata una tupla dalla tabella barche, vengono invocati sia il trigger di aggiornamento delle statistiche, sia il trigger per l'archiviazione del valore cancellato nella tabella ex_barche. L'inserimento nella tabella ex_barche della tupla cancellata da barche, scatena a sua volta un nuovo trigger di aggiornamento statistiche per la tabella ex_barche. Nota: secondo la definizione del linguaggio pgplsql se due trigger vengono invocati contemporaneamente, essi vengono eseguiti secondo l'ordine alfabetico dei loro nomi. La variabile TG_OP presente nello script e' una variabile che viene settata automaticamente dal trigger che invoca questa funzione e contiene al suo interno l'operazione che ha scatenato il trigger stesso. In questo modo possiamo scrivere una sola funzione per gestire sia gli eventi dovuti ad un comando di update, ad un comando di insert e ad un comando di delete. La variabile user contiene invece il nome utente di chi ha eseguito il comando che ha poi scatenato il trigger. La funzione now() ritorna il tempo corrente nel formato timestamp. Una volta definita la funzione di aggiornamento dellin questo caso la successione temporale con cui vengono invocati i triggers quando si cancella una tupla dalla tabella barche e' la seguente: 1. TRIGGER aggiorna_statistiche (invocato dalla tabella Barche); 2. TRIGGER archivia_barca (invocato dalla tabella Barche); 3. TRIGGER aggiorna_statistiche (invocato dalla tabella Statistiche); In particolare il trigger 3 e' invocato in cascata dal trigger
4 Triggers Esercitazione 2 Si considerino le relazioni prodotti, ordini e prodotti_correlati e i seguenti schemi delle relazioni: prodotti (pid:integer, nome:char[20], quantita:integer); ordini (oid:integer, pid:integer, quantita:integer); prodotti_correlati(pid:integer, cid:integer); La relazione prodotti contiene l id del prodotto, il suo nome e la quantità di quel prodotto attualmente presente in magazzino. La relazione prodotti_correlati contiene l id di due prodotti che sono tra loro correlati. Una tupla della relazione prodotti_correlati si può esprimere dicendo che il prodotto cid è correlato con il prodotto pid. La relazione ordini contiene l id unico dell ordine, il pid del prodotto cui tale ordine si riferisce e la quantità da ordinare. Si considerino come esempio le seguenti istanze legali delle relazioni prodotti e prodotti correlati: prodotti pid nome quantita 1 Pizza 5 2 Coca Cola 4 3 Birra 3 4 Pasta 4 5 Sugo al Pesto 3 6 Sugo al Ragu 3 prodotti_correlati pid cid Esercizio: Definire i vincoli di foreign key in modo opportuno, sapendo che un ordine non può essere fatto se il prodotto non è presente nella tabella prodotti e che due prodotti per essere correlati devono entrambi essere presenti nella tabella prodotti. -4-
5 Di seguito è riportato il codice di una funzione che emula il comportamento di un contatore autoincrementante. Esercizio: inserire la funzione di autocontatore come trigger invocato sull evento INSERT nella tabella ordini. CREATE OR REPLACE FUNCTION contatore() RETURNS TRIGGER AS $contatore$ DECLARE record ordini%rowtype; max ordini.oid%type; max := 0; FOR record IN SELECT * FROM ordini LOOP IF (ordini.oid > max) THEN max := record.oid; END LOOP; NEW.oid := max + 1; RETURN NEW; $contatore$ LANGUAGE plpgsql; CREATE TRIGGER aggiorna_oid BEFORE INSERT ON ordini FOR EACH ROW EXECUTE PROCEDURE contatore(); Esercizio: Definire un trigger che esegue una funzione di aggiornamento ordini ogni volta che la quantità di un certo prodotto scende al disotto di 3 pezzi. La funzione di aggiornamento ordini è una funzione che inserisce un nuovo ordine nella tabella ordini. Notare che questo trigger non si dovrà preoccupare di settare in modo opportuno il numero progressivo che identifica l id dell ordine in quanto questo viene fatto dal trigger sopra descritto. E sufficiente che il trigger che crea un nuovo ordine metta un valore qualsiasi nel campo oid. Soluzione: CREATE OR REPLACE FUNCTION crea_ordine() RETURNS TRIGGER AS $crea_ordine$ DECLARE -- Nessuna dichiarazione IF (NEW.quantita < 3) THEN INSERT INTO ordini SELECT '0', NEW.pid, '20'; $crea_ordine$ LANGUAGE plpgsql; CREATE TRIGGER aggiorna_ordini AFTER INSERT OR UPDATE ON prodotti FOR EACH ROW EXECUTE PROCEDURE crea_ordine(); -5-
6 Esercizio: Definire un trigger che esegue una funzione di aggiornamento ordini ogni volta che la quantità di un certo prodotto scende al disotto di 3 pezzi e che fa un ordine relativo anche ad ogni prodotto che è correlato con il prodotto la cui quantità è scesa al disotto di 3. Soluzione: CREATE OR REPLACE FUNCTION crea_ordine() RETURNS TRIGGER AS $crea_ordine$ DECLARE id prodotti_correlati.cid%type; IF (NEW.quantita < 3) THEN INSERT INTO ordini SELECT '0', NEW.pid, '20'; FOR id IN ( SELECT cid FROM prodotti_correlati WHERE pid = NEW.pid ) LOOP INSERT INTO ordini SELECT '0', id, '20'; END LOOP; $crea_ordine$ LANGUAGE plpgsql; CREATE TRIGGER aggiorna_ordini AFTER INSERT OR UPDATE ON prodotti FOR EACH ROW EXECUTE PROCEDURE crea_ordine(); -6-
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
Silvia Chiusano, Paolo Garza 1
Creazione di un trigger Sviluppo ed utilizzo dei trigger in Oracle Silvia Chiusano Paolo Garza CREATE TRIGGER nome_trigger modo evento [OR evento] ON tabella [REFERENCING referenza] [] [WHEN (predicato
Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio
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
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
Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza
Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti
Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
SQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
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
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
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
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma
Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined
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
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
Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.
Si consideri il seguente schema relazionale, relaivo ad una base di dati per gestire la programmazione cinematografica giornaliera in un certo insieme di cinema: CINEMA(CodC, Nome, Indirizzo, Tel, NSale)
Soluzione DDL ed Algebra Relazionale
Soluzione DDL ed Algebra Relazionale Banca del Tempo a Istruzioni DDL (realizzate con Toad Data Modeler -- CREATE TABLES SECTION ------------------------------------------------- -- Table Zona CREATE TABLE
Il linguaggio SQL: trigger
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
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
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
LABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab
Il linguaggio SQL: autorizzazioni
Il linguaggio SQL: autorizzazioni Sistemi Informativi T Versione elettronica: 04.6.SQL.autorizzazioni.pdf Autorità e privilegi Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l utente che
Tecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle
Tecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle 1 Materiale disponibile Gli script e il testo delle esercitazioni sono disponibili nel direttorio della propria home, nella
DATABASE PER IL WEB. Programmazione Web 1
DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca
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ù
Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione
MYSQL E PHP Per poter interagire con un database in rete mediante uno script php bisogna innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione MySQL_connect(nome del host, nome utente,
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,
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
Basi di Dati. S Q L Lezione 5
Basi di Dati S Q L Lezione 5 Antonio Virdis [email protected] Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali
2011 Politecnico di Torino 1
SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
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
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
SQL: Definizione e Manipolazione di Relazioni. Capitolo 2
SQL: Definizione e Manipolazione di Relazioni Capitolo 2 1 Sintassi della Creazione di uno Schema Relazionale CREATE TABLE ( [NOT NULL] [UNIQUE] [],...,...,
VARIABILI, ASSEGNAZIONE, DECISIONI
LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm
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
OBIETTIVI DELL'ESERCITAZIONE
Laurea in Ingegneria Informatica - Università di Roma "La Sapienza" Corso di Basi di Dati - A.A. 2005/2006 Esercitazione su SQL Giuseppe De Giacomo Domenico Lembo OBIETTIVI DELL'ESERCITAZIONE Creare schema
Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query
Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che
TRIGGER Regole Attive (Trigger) OLD_TABLE NEW_TABLE old new
TRIGGER Regole Attive (Trigger) Programmi attivati automaticamente dal DBMS al verificarsi di determinate condizioni e operazioni sulle tabelle Da un punto di vista generale, in un trigger vengono specificati
Vincoli e Triggers. Vincoli. Tipo di vincoli. Chiavi esterne
Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere capitolo 7 di Garcia- Molina et al. Vincoli e Triggers Un vincolo e una relazione tra dati che il DBMS deve assicurare. Esempio: vincoli
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
DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
Spiegazioni esercizio Gestione Tabella con PHP e MySQL
Spiegazioni esercizio Gestione Tabella con PHP e MySQL foglio_di_stile.css (foglio di stile esterno) Questo file contiene: 1. la struttura generale delle quattro pagine web dinamiche: index.php, inserisci.php,
Laboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 10 Architettura Model-View-Controller (MVC) L'architettura MVC può essere applicata anche alla tecnologia PHP secondo diversi approcci. In questa
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
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....
Interrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1 Capitolo 6 - Array Array Array Gruppo di locazioni di memoria consecutive Stesso nome e tipo Per riferirsi a un elemento, specificare Nome dell array Posizione Formato: arrayname[ position number ] Primo
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
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
SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)
26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando
Esercitazione 4: Trigger in DB2
Esercitazione 4: Trigger in DB2 Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione4.pdf Sistemi Informativi L-B Definire trigger
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
Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014
Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando
Stored Procedure. Antonella Poggi. Dipartimento di informatica e Sistemistica Sapienza Università di Roma
Stored Procedure Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti sulla
Lavorare con MySQL Parte Seconda.
Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate
Interrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
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
Capitolo 5. Soluzione: Soluzione in C:
Capitolo 5 Esercizio 5.1 Realizzare una procedura in un linguaggio di programmazione di alto livello che tramite SQL Embedded elimina dalla tabella DIPARTIMENTO l'elemento che ha il nome che viene fornito
Le query di comando e di servizio in Access
Le query di comando e di servizio in Access In questa parte sono presentate alcune query di Access che permettono di: creare nuove tabelle, aggiungere o eliminare righe in una tabella, modificare il contenuto
Esame Informatica Generale 13/04/2016 Tema A
Esame Informatica Generale 13/04/2016 Tema A! 1/! Quesito 1 (punteggio 2) Si considerino le seguenti istruzioni del linguaggio c/c++. int x[100]; void fz(int[], double[], double*); // puntatori void fz(int[],
Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL
Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare
Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013
Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26 Gli strumenti che vedremo Basi
Basi di dati (3) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: DML (1.
Università di Modena e Reggio Emilia Basi di dati (3) Docente: [email protected] Argomento: DML (1.0) 1 Panoramica Insert Update Delete 2 INSERT INSERT INTO [()] VALUES
Domande utili alla preparazione dell orale di Informatica all Esame di Stato
Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
RDBMS: panorama attuale. RDBMS: panorama attuale
RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni
ESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
Percorso Formativo SAP Online ABAP/4 Completo
Introduzione ad ABAP/4 Programma report Programma interattivo Tabelle SAP Smartforms SAP Query Percorso Formativo SAP Online ABAP/4 Completo Navigazione e visualizzazione tabelle Navigazione e visualizzazione
MY SQL Guida MySQL di base
2017 MY SQL Guida MySQL di base Progetto di Alternanza Scuola-Lavoro Anno scolastico 2016-2017 Istituto Tecnico Enrico Fermi, Siracusa Eleonora SikeWEB 15/05/2017 MySQL Collegarsi ad un database e interagire
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori
Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Salvatore Mandrà 7 Ottobre 2008 1 Esercizio L esercizio prevede l implementazione di funzioni per il prodotto di una matrice per un vettore, attraverso
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
SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
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
The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015. L'Antipasto 11 Marzo
The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015 L'Antipasto 11 Marzo Riepilogo della puntata precedente ##################### Avviamo la macchina virtuale #####################
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
SQL Esercitazione (database e tabelle) Ing. Cosimo Orlacchio
SQL Esercitazione (database e tabelle) Ing. Cosimo Orlacchio Linguaggio interattivo - SQL Structured Query Language SELECT Corso, Aula, Piano FROM Aule, Corsi WHERE Aula = N3 AND Piano="Terra" Corso Aula
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:
Corso sul PACCHETTO OFFICE. Modulo Access
Corso sul PACCHETTO OFFICE Modulo Access Docente: dott. Marco Cardani Lezione 2 Come creare un database 1 2 Come creare un database Impareremo ora come creare un nuovo database in modo da raggiungere un
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
Basi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. [email protected] Argomento: trigger e cursori (1.
Università di Modena e Reggio Emilia Basi di dati (8) Docente: [email protected] Argomento: trigger e cursori (1.1) 1 Panoramica Trigger Creazione Tipi di trigger Tabelle inserted/deleted Esempi
DBMS open source: Postgres
C DBMS open source: Postgres Lo sviluppo del mondo dell open source rappresenta sicuramente uno dei fenomeni recenti di maggiore impatto nel mondo dell informatica. Sfruttando le caratteristiche di facile
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
SQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015
SQL Avanzato Interrogazioni complesse, trigger, viste e modifiche dello schema 2 Interrogazioni e il valore NULL Il valore NULL Logica a tre valori 3 Significato del valore NULL Valore sconosciuto Valore
