Esercitazione 4: Trigger in DB2
|
|
|
- Fulvio Marinelli
- 9 anni fa
- Visualizzazioni
Transcript
1 Esercitazione 4: Trigger in DB2 Sistemi Informativi L-B Home Page del corso: Versione elettronica: esercitazione4.pdf Sistemi Informativi L-B Definire trigger con CLP Per creare dei trigger il CLP va chiamato con l opzione: DB2 -td@ che come terminatore NB: DB2 -t definisce il terminatore di default: ; Il ; può servire nella definizione del trigger se si hanno più statement SQL nella parte di azione oppure IF Ovviamente, se il trigger è in un file: DB2 -td@ -vf <filename> Per eliminare un trigger: DROP TRIGGER <nome_trigger> Per comodità, nel seguito si richiamano alcune nozioni fondamentali relative al CLP Ese4: trigger in DB2 Sistemi Informativi L-B 2 1
2 CLP: Elenco opzioni Ese4: trigger in DB2 Sistemi Informativi L-B 3 Command Window Dalla finestra comandi (o modo comando del CLP ) è possibile: immettere tutti i comandi ammessi dal CLP interattivo (incluse istruzioni SQL racchiuse tra doppi apici), prefissandoli con db2 invocare comandi di sistema operativo e altri eseguibili (file.exe e.bat) Per passare da modo interattivo a modo comando: quit Ese4: trigger in DB2 Sistemi Informativi L-B 4 2
3 CLP: comandi Per ottenere l elenco dei comandi CLP:? Per spezzare su più righe comandi CLP e istruzioni SQL: \ Oppure invocare CLP con un terminatore Per visualizzare le tabelle del proprio schema: LIST TABLES e quelle di un altro schema: LIST TABLES FOR SCHEMA <SCHEMA NAME> Per spostarsi da uno schema all altro, e quindi poter referenziare i relativi oggetti senza dover ogni volta usare il nome del loro schema: SET CURRENT SCHEMA <SCHEMA NAME> Per vedere lo schema di una table/view: DESCRIBE TABLE <TABLE NAME> Analogamente, per vedere lo schema del risultato di una query: DESCRIBE <SQL QUERY> Ese4: trigger in DB2 Sistemi Informativi L-B 5 CLP: modalità batch Da modo comando CLP supporta input da file (opzione -f) e redirezione dell output su file (opzione -z) Ad esempio: db2 vtf C:\TEMP\sqlscript.txt z C:\TEMP\result.txt esegue lo script SQL contenuto nel file sqlscript.txt, e produce il risultato nel file result.txt Script SQL: insieme di istruzioni SQL e comandi CLP separati da ; (separatore di defult) -vtf equivale a -v (verbose) -t (separatore di default) -f La scrittura su file avviene in modalità append Ese4: trigger in DB2 Sistemi Informativi L-B 6 3
4 Esercizio 1 Dato lo schema concettuale: e considerando che: le entità vengono accorpate verso l alto l associazione viene tradotta a parte si generi uno schema relazionale in DB2 e si completi, facendo uso di trigger, con gli opportuni vincoli Si verifichi inoltre il corretto funzionamento, ponendo per semplicità max-card(dottore,cura) = 3 anziché 30 Ese4: trigger in DB2 Sistemi Informativi L-B 7 Esercizio 1: vincoli da esprimere 1. Se viene inserita una tupla nella tabella Cura si deve riferire ad una coppia paziente-dottore 2. Il numero massimo di pazienti assegnati per ogni dottore è 30 (3) Per rispettare il vincolo 1: prima di inserire una tupla nella forma (:paz,:doc) nella tabella Cura verificare che le seguenti query restituiscano almeno un record: select * from Persona where CF = :paz and SEL = 2 select * from Persona where CF = :doc and SEL = 1 Il vincolo 2 si esprime in maniera simile: prima di inserire una tupla nella forma (:paz,:doc) nella tabella Cura verificare che la seguente query (parzialmente specificata) NON restituisca nessun record: select Cura.doc from Cura where Cura.doc = :doc? NB: ovviamente nei trigger bisogna definire un nome per la variabile NEW e usare quello (ad es. N.doc) Ese4: trigger in DB2 Sistemi Informativi L-B 8 4
5 Esercizio 2 Dato lo schema concettuale: si progetti lo schema relazionale in DB2, considerando che: l entità DipartimentiLocali viene accorpata in Dipartimenti l associazione non viene tradotta a parte l attributo AnniFond indica gli anni passati dalla creazione del dipartimento l attributo AnniEsp indica gli anni di esperienza del supervisore vale la regola aziendale che i supervisori junior (con meno di 5 anni di esperienza) possono supervisionare solo i dipartimenti locali creati dopo la loro assunzione, per cui possono essere associati tramite R solo a istanze di DipartimentiLocali con AnniFond < AnniEsp Ese4: trigger in DB2 Sistemi Informativi L-B 9 Esercizio 3 (1) Partendo dai diagrammi E/R della scorsa esercitazione AUTO NUMERO_TELAIO COLORE CERCHI_LEGA CLIMATIZZATORE AIRBAG_LAT id: NUMERO_TELAIO 1 1 R MODELLO CASA NOME id: CASA NOME P NUOVA RODAGGIO USATA KM_PERCORSI Ese4: trigger in DB2 Sistemi Informativi L-B 10 5
6 Esercizio 3 (2) PERSONAGGI NOME COMPAGNIA id: NOME LIBRO ISBN AUTORE NUM_PAGINE id: ISBN 1 1 EDITO_DA CASA_EDITRICE RAG_SOCIALE NAZIONALITA id: RAG_SOCIALE INPE D INFANZIA INTERATTIVO ETA_MIN ETA_MAX DIZIONARIO LING_UNO LING_DUE GUIDA_TURISTICA NAZIONE Nella traduzione in modello relazionale eseguire un collasso verso l alto della gerarchia Regola aziendale: c è un accordo commerciale tra la casa editrice Elsevier e la Disney per cui i libri per bambini che hanno almeno un personaggio Disney possono essere editi solo dalla Elsevier Ese4: trigger in DB2 Sistemi Informativi L-B 11 Esercizio 3 (3) Tradurre gli schema E/R in SQL specificando: Tabelle e relativi campi Per ogni campo il dominio, e se è nullable Primary Key e Foreign Key Altri vincoli esprimibili Eseguire in DB2 il codice SQL per creare le tabelle Scrivere i trigger necessari per imporre i vincoli non espressi dallo schema E/R o relazionale impostando messaggi di errore significativi in caso di inserimenti che non li rispettino e inserire tali trigger in DB2 Verificare la correttezza dell esercizio, con degli inserimenti (l ordine degli inserimenti conta): 5 inserimenti validi per ogni tabella 3 inserimenti non validi per vincoli di tupla o integrità 3 inserimenti non validi che attivano i trigger Ese4: trigger in DB2 Sistemi Informativi L-B 12 6
Esercitazione 1 SQL: DDL e DML di base
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/
Esercitazione 1 SQL: DDL e DML di base
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/
Esercitazione 1 SQL: DDL e DML di base
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/
Soluzione esercitazione 01
Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella
Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf
Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali
Esercitazione 1: DB-MAIN e modello E/R
Esercitazione 1: DB-MAIN e modello E/R Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione1.pdf Sistemi Informativi L-B DB-MAIN:
Ese1: DB-MAIN e modello E/R
Esercitazione 1: DB-MAIN e modello E/R Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione1.pdf Sistemi Informativi L-B DB-MAIN:
Errata Corrige dell edizione 2007
Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità
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
Esercitazione 4 SQL: cataloghi e viste
Esercitazione 4 SQL: cataloghi e viste Sistemi Informativi T Versione elettronica: L04.CatView.pdf Cataloghi di sistema Sono insieme di tables e views che descrivono la struttura logica e fisica degli
Esercitazione 3: progettazione logica
Esercitazione 3: progettazione logica Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: esercitazione3.pdf Sistemi Informativi L-B Progettazione
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
Esercitazione 03: JDBC e Prepared Statements
Esercitazione 03: JDBC e Prepared Statements Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione03.pdf Sistemi Informativi L-A Applicazione
SQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)
ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLSE IL 25 MAGGIO 2011) Dato il seguente schema E/R consideriamo solo le due gerarchie relative a MANAGER/SEGRETARIA/IMPIEGATO
Progettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
ESERCITAZIONE: Fornitore-Fornisce-Articolo
ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito
SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi [email protected]
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,
Argomenti Corso SAP ABAP Completo Individuale
Argomenti Corso SAP ABAP Completo Individuale Lezione 1 - Introduzione ad ABAP/4 Programma Report; Programma Interattivo; Smartforms; Tool Sap Query. Lezione 2 - Navigazione e visualizzazione tabelle Database
Esercitazione 3. Vincoli di integrità. Approccio Procedurale
Esercitazione 3 Vincoli di integrità Approccio Procedurale Dalla progettazione concettuale alla realizzazione del database su MySQL Progettazione concettuale Requisiti Progettazione logica Schema concettuale
Il tool di progettazione DB-MAIN
Il tool di progettazione DB-MAIN Sistemi Informativi T Versione elettronica: L06.1.IntroduzioneDB-MAIN.pdf DB-MAIN: uno strumento per la progettazione DB-MAIN è un tool di modellazione orientato ai dati
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
1. Schema concettuale della base di dati PROGETTO CONCETTUALE SCHEMA ER
Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzi: Informatica - CORSO DI ORDINAMENTO e Progetto ABACUS Anno Scolastico: 2004-2005 1. Schema concettuale della
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base
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 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento
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
Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive
Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo
Shell BASH. Variabili Redirezione
Shell BASH Variabili Redirezione Variabili Scrittura/definizione: a=3 (senza spazi) Lettura: ${a} o semplicemente $a Esempi: > a=3 > echo $a 3 > echo $aa > echo ${a}a 3a > a=ciao pippo bash: pippo: command
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
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
Esercitazione 01: DDL e DML di base
Esercitazione 01: DDL e DML di base Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Esercitazione01.pdf Sistemi Informativi L-A Prima di iniziare
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
SQL: le funzioni di aggregazione
SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il
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
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,
D B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
Lezione 4. Dallo schema ER al relazionale
Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid
Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
MODULO 2. Query normali e parametriche Query di:
MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,
SOLUZIONE SECONDA PROVA ESAME DI STATO TRAMONTANA
Esame di Stato Istituto Tecnico Commerciale Proposta di soluzione della seconda prova Indirizzo: PROGRAMMATORI - CORSO DI ORDINAMENTO Tema di: INFORMATICA GENERALE ED APPLICAZIONI GESTIONALE Anno Scolastico:
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
Esercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
