PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL"

Transcript

1 Audiolezione 28b Corso di Basi di Dati e Laboratorio PL/SQL e PLpgSQL Alfio Ferrara - Stefano Montanelli A.A. 2005/2006 Basi di Dati e Laboratorio 1 Estensioni procedurali di SQL Necessità Disporre di linguaggi con cui costruire applicazioni nel contesto di una base di dati SQL Soluzioni Linguaggio nativo Linguaggio ospite con procedure esterne Linguaggio ospite con precompilatore (embedded SQL) A.A. 2005/2006 Basi di Dati e Laboratorio 2 Embedded SQL Per inserire statement SQL in un programma scritto in linguaggio ospite sono necessari: strumenti per descrivere lo stato delle esecuzioni SQL SQL offre la variabile SQLCODE che si riferisce allo stato di esecuzione di uno statement: SQLCODE = 0 - esecuzione corretta SQLCODE < 0 - errore SQLCODE = risultato vuoto A.A. 2005/2006 Basi di Dati e Laboratorio 3 1

2 Embedded SQL Strumenti per scambiare valori tra variabili di programma e SQL ciò implica: 1)una sintassi per referenziare variabili di programma in statement SQL, e per assegnare valori singoli a singole variabili si aggiunge ad una selezione la clausola INTO se il risultato della selezione è una singola tupla: SELECT nome, cognome INTO :n, :c FROM WHERE A.A. 2005/2006 Basi di Dati e Laboratorio 4 Embedded SQL 2)Uno strumento per trasferire un risultato costituito da più tuple nelle variabili del programma si fa ricorso al concetto di cursore Un cursore può essere visto come una variabile che contiene un insieme di dati che é possibile referenziare A.A. 2005/2006 Basi di Dati e Laboratorio 5 Embedded SQL Un cursore viene dichiarato associandolo ad uno statement SELECT: nomecursore CURSOR FOR select L esecuzione dello statement avviene però solo all apertura del cursore: OPEN nomecursore A.A. 2005/2006 Basi di Dati e Laboratorio 6 2

3 Embedded SQL Ciò posiziona il cursore prima della prima tupla: FETCH nomecursore INTO lista questo provoca l avanzamento del cursore e la copia dei valori della tupla corrente nelle variabili di lista Successivamente il cursore è posizionato dopo l ultima tupla e SQLCODE assume valore 100 L istruzione: CLOSE nomecursore disattiva il cursore A.A. 2005/2006 Basi di Dati e Laboratorio 7 Oracle PL/SQL Procedural Language/SQL Estensione procedurale di SQL Struttura del linguaggio: PL/SQL è diviso in unità dette blocks I programmi sono divisi dunque in unità che eseguono una azione logica e possono essere inserite le une nelle altre A.A. 2005/2006 Basi di Dati e Laboratorio 8 I blocchi I singoli blocchi hanno la seguente struttura: /* dichiarazione di variabili, tipi e strutture di programma */ /* esecuzione: le procedure e i comandi SQL sono specificati in questa sezione si tratta dell unica sezione indispensabile di un blocco */ EXCEPTION /* dichiarazione di procedure di gestione degli errori */ A.A. 2005/2006 Basi di Dati e Laboratorio 9 3

4 Elementi SQL in PL/SQL Gli elementi SQL ammessi in un blocco PLSQL sono: SELECT, INSERT, UPDATE, DELETE Non sono ammessi: CREATE, DROP, ALTER Per eseguire un programma PLSQL ad END deve seguire un punto e il comando RUN; A.A. 2005/2006 Basi di Dati e Laboratorio 10 Variabili e tipi Le informazioni sono condivise dal programma PLSQL e dal database attraverso variabili Ad ogni variabile è associato un tipo I tipi ammessi sono: Uno dei tipi ammessi per gli attributi SQL Un tipo PLSQL (ad esempio number) Si possono dichiarare variabili che siano dello stesso tipo assegnato ad un attributo A.A. 2005/2006 Basi di Dati e Laboratorio 11 Esempio di dichiarazione x NUMBER; y VARCHAR(20); x tabella.campo%type; x tabella%rowtype; Dichiarazione dei tipi X assume il tipo del campo campo X assume il tipo dei campi della tabella tabella Una variabile dichiarata ha sempre valore NULL fino ad una assegnazione Operatore di assegnazione := A.A. 2005/2006 Basi di Dati e Laboratorio 12 4

5 Uso di una query SQL Un programma PLSQL può far ricorso ad una Query SQL, con una sintassi leggermente diversa: La clausola SELECT deve essere seguita da una clausola INTO che specifichi le variabili entro cui vanno inseriti i risultati della query E dunque necessaria una variabile per ogni attributo: SELECT e,f INTO a,b FROM T1 WHERE e>1; A.A. 2005/2006 Basi di Dati e Laboratorio 13 Esempio di programma CREATE TABLE T1( e INTEGER, f INTEGER ); INSERT INTO T1 VALUES(1, 3); INSERT INTO T1 VALUES(2, 4); a NUMBER; b NUMBER; SELECT e,f INTO a,b FROM T1 WHERE e>1; INSERT INTO T1 VALUES(b,a);. run; A.A. 2005/2006 Basi di Dati e Laboratorio 14 Limiti nell uso di query SQL Un programma PLSQL che fa uso di una query SQL risulta corretto solo se la query produce come risultato una sola tupla Per lavorare altrimenti occorre ricorrere ad un cursore A.A. 2005/2006 Basi di Dati e Laboratorio 15 5

6 Controllo di flusso - IF Sintassi: IF <condizione_1> THEN... ELSIF <condizione_2> THEN ELSIF <condizione_n> THEN... ELSE... END IF; A.A. 2005/2006 Basi di Dati e Laboratorio 16 Controllo di flusso - LOOP Sintassi: LOOP <istruzioni> END LOOP; Almeno una delle istruzioni del loop deve essere una istruzione di uscita, come la seguente: EXIT WHEN <condizione>; A.A. 2005/2006 Basi di Dati e Laboratorio 17 Esempio i NUMBER := 1; LOOP INSERT INTO T1 VALUES(i,i); i := i+1; EXIT WHEN i>100; END LOOP;. run; A.A. 2005/2006 Basi di Dati e Laboratorio 18 6

7 Altri controlli di flusso L istruzione EXIT senza condizione permette l uscita incondizionata da un ciclo While sintassi: WHILE <condizione> LOOP <istruzioni> END LOOP; A.A. 2005/2006 Basi di Dati e Laboratorio 19 Altri controlli di flusso For sintassi: FOR <var> IN <inizio>..<fine> LOOP <istruzioni> END LOOP; var è una variabile locale che non richiede di essere dichiarata A.A. 2005/2006 Basi di Dati e Laboratorio 20 Cursori Un cursore è una variabile che scorre sui valori delle tuple di una relazione (tabella o risultato di query) Esempio di uso di un cursore: 1) 2) a T1.e%TYPE; 3) b T1.f%TYPE; /* dichiarazione del cursore:*/ 4) CURSOR T1Cursor IS 5) SELECT e, f 6) FROM T1 7) WHERE e < f 8) FOR UPDATE; A.A. 2005/2006 Basi di Dati e Laboratorio 21 7

8 Cursori 9) 10)OPEN T1Cursor; 11)LOOP 12)FETCH T1Cursor INTO a, b; 13)EXIT WHEN T1Cursor%NOTFOUND; 14)DELETE FROM T1 WHERE CURRENT OF T1Cursor; 15)INSERT INTO T1 VALUES(b, a); 16)END LOOP; 17)CLOSE T1Cursor; 18) 19). 20)run; A.A. 2005/2006 Basi di Dati e Laboratorio 22 Procedure Caratteristiche: ogni parametro può essere seguito da un modo e da un tipo i modi ammessi sono: IN sola lettura OUT sola scrittura INOUT lettura e scrittura per eseguire una procedura occorre invocarla entro un comando PLSQL: aggiungitupla(1); A.A. 2005/2006 Basi di Dati e Laboratorio 23 Esempio Esempio di procedura di inserimento a due parametri: CREATE OR REPLACE PROCEDURE at2( x T2.a%TYPE, y T2.b%TYPE )AS INSERT INTO T2(a, b) VALUES(x, y); END at2; at2(10, 'abc'); A.A. 2005/2006 Basi di Dati e Laboratorio 24 8

9 Funzioni Caratteristiche: la principale differenza rispetto ad una procedura consiste nel definire un valore di RETURN sintassi: CREATE FUNCTION nomefunzione(parametri) RETURN <tipo_di_return> AS nel corpo della funzione si usa la seguente espressione per terminare l esecuzione ed ottenere il valore di ritorno: RETURN <espressione>; A.A. 2005/2006 Basi di Dati e Laboratorio 25 Verificare e cancellare Controllare le procedure create: SELECT object_type, object_name FROM user_objects WHERE object_type = 'PROCEDURE' OR object_type = 'FUNCTION'; Cancellare una procedura: DROP PROCEDURE nomeprocedura; DROP FUNCTION nomefunzione; A.A. 2005/2006 Basi di Dati e Laboratorio 26 PLpgSQL SQL procedurale su Postgres Attivazione del linguaggio host:~ postgres$ createlang -- dbname=nomedb plpgsql PlpgSLQ offre molte delle funzionalità di PL/SQL con alcune differenze Lucidi tratti da: A.A. 2005/2006 Basi di Dati e Laboratorio 27 9

10 Differenze fra PLpgSQL e PL/SQL In PostgreSQL non ci sono valori di default per i parametri Le funzioni PostgreSQL possono essere sovraccaricate Assegnamenti, cicli and valori condizionali sono simili A.A. 2005/2006 Basi di Dati e Laboratorio 28 Esempio 1 Incrementare numeri interi (per esempio per definire una propria sequenza) CREATE FUNCTION incrementsix (integer) RETURNS INTEGER AS ' RETURN $1 + 6; ' LANGUAGE 'plpgsql'; A.A. 2005/2006 Basi di Dati e Laboratorio 29 Esempio 2 Concatenazione di stringhe: CREATE FUNCTION concat_text (TEXT, TEXT) RETURNS TEXT AS ' RETURN $1 $2; ' LANGUAGE 'plpgsql'; A.A. 2005/2006 Basi di Dati e Laboratorio 30 10

11 Esempio 3 Uso delle funzioni coi valori delle tabelle CREATE FUNCTION concat_selected_fields(users) RETURNS text AS ' in_t ALIAS FOR $1; RETURN in_t.first_name in_t.second_name; ' LANGUAGE plpgsql; A.A. 2005/2006 Basi di Dati e Laboratorio 31 Esempio 3 SELECT concat_selected_fields(users) from users; Restituisce il risultato della funzione A.A. 2005/2006 Basi di Dati e Laboratorio 32 Uso delle funzioni nei trigger CREATE OR REPLACE FUNCTION w_users() RETURNS TRIGGER AS ' NEW.name = NEW.first_name '' '' NEW.second_name; RETURN NEW; ' LANGUAGE plpgsql; CREATE TRIGGER users_t BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE w_users(); A.A. 2005/2006 Basi di Dati e Laboratorio 33 11

12 Esempio 4 CREATE FUNCTION emp_stamp () RETURNS TRIGGER AS ' -- Check that empname and salary are given IF NEW.empname ISNULL THEN RAISE EXCEPTION ''empname cannot be NULL value''; END IF; IF NEW.salary ISNULL THEN RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname; END IF; -- Who works for us when she must pay for? IF NEW.salary < 0 THEN RAISE EXCEPTION ''% cannot have a negative salary'', NEW.empname; END IF; -- Remember who changed the payroll when NEW.last_date := ''now''; NEW.last_user := current_user; RETURN NEW; ' LANGUAGE 'plpgsql'; A.A. 2005/2006 Basi di Dati e Laboratorio 34 Esempio 4 CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp FOR EACH ROW EXECUTE PROCEDURE emp_stamp(); A.A. 2005/2006 Basi di Dati e Laboratorio 35 Altri linguaggi Oltre a plpgsql postgres offre altri linguaggi embedded nel DBMS Ad esempio: PL/Tcl PL/Perl PL/Python A.A. 2005/2006 Basi di Dati e Laboratorio 36 12

Basi di Dati: Corso di laboratorio

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

Dettagli

Laboratorio di PL/SQL

Laboratorio di PL/SQL Laboratorio di PL/SQL Prof. Alessandra Lumini Alma Mater Studiorum - Università di Bologna Per la sintassi PL/SQL: ORACLE 11g Rel. 2 PL/SQL Language Reference 1 Schema DB 2 1 Procedure: definizione e call

Dettagli

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE FUNZIONI PARAMETRI function nome [ (parametri) ] return tipo; Definizione: function nome [ (parametri) ] return tipo is dichiarazioni; comandi; gestori; Il corpo contiene uno o più comandi return expr

Dettagli

FUNZIONI. Dichiarazione: Definizione:

FUNZIONI. Dichiarazione: Definizione: FUNZIONI Dichiarazione: function nome [ (parametri) ] return tipo; Definizione: function nome [ (parametri) ] return tipo is dichiarazioni; begin comandi; exception gestori; end [nome]; Il corpo contiene

Dettagli

Cap. 7 -Trigger e loro uso

Cap. 7 -Trigger e loro uso 1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ SQL (Structured Query Language) e il linguaggio di riferimento per le basi di dati relazionali. Diverse

Dettagli

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING PARTITIONING 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING Cos'è il partitioning Metodi per eseguire il partitioning Partition setup Partition table

Dettagli

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

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente

Dettagli

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi

Trigger. Basi di dati attive. Trigger: regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Basi di dati attive : regole che specificano azioni attivate automaticamente dal DBMS al verificarsi di determinati eventi Oggi fanno parte dello standard SLQ-99 In passato ogni DBMS li implementava seguendo

Dettagli

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

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

Silvia Chiusano, Paolo Garza 1

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

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 8, paragrafo 8.2 Manuale PostgreSQL

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Basi di Dati Attive. Basi di Dati Attive

Basi di Dati Attive. Basi di Dati Attive Basi di Dati Passive le politiche di reazione nei vincoli d integrità referenziale sono il primo esempio della necessità di introdurre un comportamento reattivo nelle basi di dati mettendo a fattor comune

Dettagli

Basi di dati attive. Paolo Atzeni. Basi di dati attive

Basi di dati attive. Paolo Atzeni. Basi di dati attive 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

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (4) Query di aggiornamento Prof. Alberto Postiglione

Dettagli

Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla. eseguono azioni sulla base di dati stessa.

Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla. eseguono azioni sulla base di dati stessa. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole attive o trigger. Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla base di dati

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

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

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3 Oracle Database Express Edition Donatella Gubiani e Angelo Montanari Gubiani & Montanari Oracle Database 1 (Oracle XE) è una versione gratuita della base di dati È facile da installare e gestire Può essere

Dettagli

Triggers Esercitazione 1

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

Dettagli

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

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

Dettagli

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

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

Dettagli

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

Dettagli

Interpretazione delle query nidificate

Interpretazione delle query nidificate Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: Tecnologie versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Laboratorio di PL/SQL 3 Esercizi svolti e valutati

Laboratorio di PL/SQL 3 Esercizi svolti e valutati Laboratorio di PL/SQL 3 Esercizi svolti e valutati Prof. Alessandra Lumini Alma Mater Studiorum - Università di Bologna Per la sintassi PL/SQL: ORACLE 11g Rel. 2 PL/SQL Language Reference 1 Perché usare

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 10 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 26 LUGLIO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

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

VARIABILI, ASSEGNAZIONE, DECISIONI

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

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 3 - Aggiornamento dati 1 Prerequisiti Conoscenza tipi di dato in SQL Creare e gestire tabelle e indici 2 1 Introduzione In questa Unità descriviamo la parte di

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

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

DATABASE PER IL WEB. Programmazione Web 1

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio SQL è

Dettagli

Introduzione. i trigger rendono reattivo il comportamento del sistema alle sollecitazioni esterne.

Introduzione. i trigger rendono reattivo il comportamento del sistema alle sollecitazioni esterne. Trigger Introduzione L introduzione di trigger all interno di una Base di Dati permette la gestione automatica di particolari procedure in risposta a determinati eventi esterni; Basi di Dati di questo

Dettagli

Capitolo 5. Soluzione: Soluzione in C:

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

Dettagli

Università degli Studi de L Aquila A. A Prof. Giuseppe Della Penna. Software House GRUPPO 19 CANALE A. A cura di:

Università degli Studi de L Aquila A. A Prof. Giuseppe Della Penna. Software House GRUPPO 19 CANALE A. A cura di: Università degli Studi de L Aquila A. A. 2001-2002 Prof. Giuseppe Della Penna PROGETTO DI LABORATORIO DI BASI DI DATI Software House GRUPPO 19 CANALE A A cura di: Giovanni Gasparri Paolo Palleschi Carmine

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2006/07 Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 2 Vincoli intrarelazionali Proprietà che devono

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 20 LUGLIO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

Vincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi

Vincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi Lucidi derivati da quelli di Jeffrey D. Ullman 1 Vincoli e Triggers Un vincolo e una relazione

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1 Vincoli, procedure e regole attive in SQL SQL: vincoli, trigger 1 Qualità dei dati Qualità dei dati: correttezza, completezza, attualità In molte applicazioni reali i dati sono di scarsa qualità (5% -

Dettagli

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato

Dettagli

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Introduzione a SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 29 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language) o o o o o DDL (Data Definition Language): consente di creare e modificare schemi di database; DML (Data Manipulation Language): consente di inserire, modificare e gestire i dati memorizzati; DQL (Data

Dettagli

Check, esempio. Vincoli di integrità generici. Asserzioni. Asserzioni

Check, esempio. Vincoli di integrità generici. Asserzioni. Asserzioni Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste l istruzione check (Condizione) La condizione specificata

Dettagli

2011 Politecnico di Torino 1

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

Dettagli

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura

SQL e linguaggi di programmazione Applicazioni ed SQL: architettura SQL e applicazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 5: SQL nei linguaggi di programmazione (versione preliminare e parziale) 16/10/2002 In applicazioni complesse,

Dettagli

σ data 15/12/2013 data 20/12/2014

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

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

SQL. Lezione 1. Docente: Alberto Belussi

SQL. Lezione 1. Docente: Alberto Belussi LaboratoriodiBasidiDatieWeb Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio SQL è

Dettagli

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

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

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 31 GENNAIO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Basi di Dati e Sistemi Informativi. Asserzioni, Viste e Trigger Basi di dati Attive

Basi di Dati e Sistemi Informativi. Asserzioni, Viste e Trigger Basi di dati Attive Basi di Dati e Sistemi Informativi Basi di dati Attive Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Asserzioni Introdotte in SQL-2 rappresentano dei vincoli che non sono però associati

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Progettazione di Sistemi Informatici

Progettazione di Sistemi Informatici Progettazione di Sistemi Informatici Stored routines e transazioni Domenico Diacono Corso ADM Gennaio 2008 Definizione di stored procedure Una stored routine è costituita o da una procedura o da una funzione

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi ordinati: order By... 3 Sintassi generale:... 3 Ordinamanto su PIU campi... 3 DML (Data Manipulation Language per inserimento e modifica

Dettagli

23. MySQL: Stored procedures e stored functions

23. MySQL: Stored procedures e stored functions 23. MySQL: Stored procedures e stored functions Le stored procedures (procedure memorizzate) sono un altra delle caratteristiche la cui assenza è stata a lungo sottolineata dai detrattori di MySQL: con

Dettagli

24. Trigger in MySQL 5

24. Trigger in MySQL 5 24. Trigger in MySQL 5 I trigger sono oggetti associati a tabelle, che vengono attivati nel momento in cui un determinato evento si verifica relativamente a quella tabella. Sono stati introdotti a partire

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 20 GIUGNO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Basi di dati attive Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Tali regole vengono attivate in modo automatico al verificarsi

Dettagli

SQL DDL. Create database. Alter database. Drop database

SQL DDL. Create database. Alter database. Drop database SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Capitolo 6: SQL nei linguaggi di programmazione 27/07/2009

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Capitolo 6: SQL nei linguaggi di programmazione 27/07/2009 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2009 Capitolo 6: SQL nei linguaggi di programmazione 27/07/2009 SQL e applicazioni In applicazioni complesse, l utente non vuole eseguire

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

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

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

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

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti DB M B G Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE D B M G 2 DB M B G (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3)

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 25 SETTEMBRE 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti D B M G 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3) INSERT inserimento

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

Stored Procedure. Prof. Alfredo Pulvirenti

Stored Procedure. Prof. Alfredo Pulvirenti Stored Procedure Prof. Alfredo Pulvirenti Stored Procedure Programmi memorizzati nel DBMS che vengono eseguiti su esplicita richiesta degli utenti. PL/pgSQL di PostgreSQL PL/SQL di Oracle SQL PL di DB2

Dettagli

Soluzione degli esercizi PL-SQL

Soluzione degli esercizi PL-SQL Soluzione degli esercizi PL-SQL Esercizio 1: Scrivere un blocco di codice che scriva in output la stringa ESAME DI SISTEMI INFORMATIVI come concatenazione di 4 variabili SET SERVEROUTPUT ON v_parte1 CONSTANT

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>);

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>); SQL AVANZATO VIEW VISTE UTENTE VIEW (Viste utente) Le VIEW sono tabelle virtuali il cui contenuto (colonne e righe) è definito da una query Le VIEW sono normalmente utilizzate per: analizzare, semplificare

Dettagli

PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. SONIA BERGAMASCHI Esercizio 1 (punti 20) Dato il seguente schema relazionale: FOTOGRAFO(CODF,NOME,NAZIONE)

Dettagli

UNIVERSITA DEGLI STUDI DI PADOVA

UNIVERSITA DEGLI STUDI DI PADOVA UNIVERSITA DEGLI STUDI DI PADOVA FACOLTA DI SCIENZE STATISTICHE CORSO DI LAUREA IN STATISTICA E TECNOLOGIE INFORMATICHE RELAZIONE DI LAUREA Documentazione ed analisi del database VisionSQL ; stage presso

Dettagli

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)

Modello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO) Modello Relazionale Modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO

Dettagli

Una metodologia di progettazione di applicazioni web centrate sui dati

Una metodologia di progettazione di applicazioni web centrate sui dati Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 0 / 2 0 1 1 Progettazione logica di un sito web centrato sui dati Si

Dettagli

Il linguaggio SQL: trigger

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

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata

Dettagli

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

Dettagli