Tecnologia delle Basi di Dati Esercitazione #4 Definizione dei trigger in Oracle
|
|
- Lorenza Carboni
- 7 anni fa
- Visualizzazioni
Transcript
1 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 cartella es4 (entrare in questa cartella prima di lanciare sqlplus). 2 Passi preliminari per lo svolgimento dell esercitazione 2.1 Connessione alla macchina grenada.polito.it Per poter lavorare con Oracle è necessario eseguire un telnet sicuro verso la macchina grenada.polito.it, dove e installato Oracle. Eseguire una connessione sicura su grenada.polito.it utilizzando il programma Secure Shell Client. Connettersi usando: username: bdati1[ultime 2 cifre #macchina utilizzata] password: orac1[ultime 2 cifre #macchina utlizzata] Ad esempio, collegandosi dalla macchina 15, usare come username bdati115 e come password orac115. Sulla macchina grenada.polito.it è anche attivo un server FTP. Con questo è possibile trasferire eventuali files di script. (Si ricorda che il contenuto delle aree utenti viene cancellato a fine esercitazione.) 2.2 Accedere all ambiente SQLPLUS Una volta connessi alla macchina grenada.polito.it è necessario accedere all ambiente SQLPLUS con il seguente comando: sqlplus bdati1[#macchina]/orac1[#macchina] Nel caso di esempio avremo: sqlplus bdati115/orac115 Da questo momento si avrà la riga di comando SQL>, e basterà digitare le varie query. È anche possibile eseguire uno script in modo batch: basta anteporre il prima del nome del file (l'estensione.sql può essere omessa) contente le istruzioni da eseguire. 2.3 Comandi utili in SQLPLUS Cancellazione di un trigger: SQL> drop trigger nome_trigger; Visualizzazione dei trigger generati: Per ottenere l'output su un file (si assume estensione.lst): SQL> SPOOL [Nome File senza estensione]; Per chiudere lo spooling e assicurarsi che nel file ci sia tutto l'output bisogna dare il comando SQL> SPOOL OFF; 3 Esercizio #1 (obbligatorio) : - 1 -
2 IMP ( EMPNO, ENAME, JOB, SAL) COPY_CLERK (EMPNO, ENAME, SAL) La tabella COPY_CLERK contiene le tuple di IMP relative agli impiegati in cui JOB= CLERK. Per garantire la consistenza tra tabella IMP e la sua replica COPY_CLERK, è necessario propagare a COPY_CLERK ogni inserimento, cancellazione, ed aggiornamento eseguiti su IMP, nel caso in cui le tuple modificate abbiano job= CLERK. Tale propagazione può essere eseguita mediante un insieme di trigger. 3.1 Trigger disponibili Inserimento nella tabella IMP Il trigger INS_ROW inserisce in COPY_CLERK le tuple che sono inserite in IMP, se in tali tuple job= CLERK. Trigger: INS_ROW create trigger INS_ROW after insert on imp for each row when (NEW.job = 'CLERK') begin insert into copy_clerk values (:NEW.empno, :NEW.ename, :NEW.sal); end; / Cancellazione della tabella IMP La consistenza tra IMP e COPY_CLERK a seguito di una operazione di cancellazione è stata ottenuta inserendo il vincolo di integrità referenziale nella creazione della tabella COPY_CLERK per il campo EMPNO (costrutto FOREIGN KEY(EMPNO) REFERENCES IMP(EMPNO) ON DELETE CASCADE)). In questo modo se da IMP sono cancellate tuple in cui job= CLERK, le stesse tuple sono automaticamente anche rimosse da COPY_CLERK. Aggiornamento della tabella IMP In caso di modifica del campo JOB nelle tuple di IMP, il trigger UP_IMP esegue le seguenti azioni: sono cancellate da COPY_CLERK le tuple in cui inizialmente JOB= CLERK e viene forzato JOB ad un valore diverso da CLERK sono inserite in COPY_CLERK le tuple in cui inizialmente JOB!= CLERK e viene forzato JOB= CLERK. In caso di modifica dei campi SAL, ENAME, EMPNO nelle tuple di IMP in cui job= CLERK, il trigger UP_IMP aggiorna il valore di tali campi nella copia delle tuple presente in COPY_CLERK
3 Trigger: UP_IMP create trigger UP_IMP after UPDATE of empno, sal, job, ename on imp for each row begin if ((:NEW.job = 'CLERK') and (:OLD.JOB!= 'CLERK')) then INSERT into copy_clerk values (:NEW.empno, :NEW.ename, :NEW.sal); if ((:OLD.job = 'CLERK') and (:NEW.JOB!= 'CLERK')) then delete from copy_clerk where empno=:old.empno; if ((:OLD.job = 'CLERK') and (:NEW.JOB = 'CLERK')) then UPDATE copy_clerk set ename=:new.ename, empno=:new.empno, sal=:new.sal where empno=:old.empno; end; / 3.2 Svolgimento Lo svolgimento dell esercitazione è strutturato nei seguenti passi: 1. Creare le tabelle IMP e COPY_CLERK con lo script create_db1.sql. Tale script cancella le tabelle IMP e COPY_CLERK se presenti e quindi le ricrea. 2. Creare i trigger utilizzando lo script create_triggers.sql. Eseguire alcuni aggiornamenti della tabella IMP per verificare il funzionamento dei trigger. Dopo ogni aggiornamento visualizzare il contenuto di IMP e COPY_CLERK con lo script view_tables.sql. 1. Inserire alcune tuple nella tabella IMP con lo script insert.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql. 2. Aggiornare il salario degli impiegati con JOB= CLERK con lo script update_sal.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: UPDATE imp set sal = sal*2 where job='clerk'; 3. Tra gli impiegati con JOB= CLERK, aggiornare il nome dell impiegato NICO ad HANS con lo script update_name.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: UPDATE imp set ename = 'HANS' where job='clerk' and ename='nico'; 4. Modificare il ruolo dell impiegato SMITH da CLERK a SALESMAN con lo script update_job1.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: UPDATE imp set job = 'SALESMAN', sal=1500 where job='clerk' and ename='smith'; 5. Modificare il ruolo dell impiegato JONES da MANAGER a CLERK con lo script update_job2.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: UPDATE imp set job = 'CLERK', sal=800 where job='manager' and ename='jones'; 6. Modificare la chiave EMPNO, il salario, il nome, ed il ruolo dell impiegato BLACKMAN con lavoro CLERK con lo script update_all1.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: UPDATE imp set empno = 3000, sal=500, ename='allen', job='salesman' where job='clerk' and ename='blackman'; 7. Modificare la chiave EMPNO, il salario, il nome, ed il ruolo dell impiegato ALLEN con lavoro SALESMAN con lo script update_all2.sql e visualizzare IMP e COPY_CLERK con lo - 3 -
4 script view_tables.sql: UPDATE imp set empno = 8000, sal=800, job='clerk' where empno=3000; 8. Cancellare alcune tuple dalla tabella IMP con lo script delete.sql e visualizzare IMP e COPY_CLERK con lo script view_tables.sql: DELETE FROM imp where empno=8000; Nel quaderno deve essere riportato il file generato (comando spool) in cui si osserva il risultato dell esercitazione 4 Esercizio #2 (obbligatoria) IMP ( EMPNO, DEPTNO, ENAME, JOB, SAL) DIP (DEPTNO, DNAME, LOC,MINSAL,MAXSAL) Nel caso un dipartimento passi dal ruolo (attributo DNAME) di ACCOUNTING al ruolo di SALES, il salario per tutti gli impiegati del dipartimento viene incrementato di 100. Definire un trigger che implementi tale funzionalità. Lo svolgimento dell esercizio è strutturato nei seguenti passi: 1. Creare ed inizializzare la base di dati con lo script create_db2.sql. 2. Creare il trigger, eventualmente mediante uno script. 3. Verificare il contenuto delle tabelle IMP e DIP. 4. Modificare il nome del dipartimento ACCOUNTING : UPDATE DIP set DNAME = 'SALES' where DNAME='ACCOUNTING'; 5. Verificare il contenuto delle tabelle IMP e DIP. Nel quaderno devono essere riportati il trigger ed il file generato (comando spool) in cui si osserva il risultato dell esercitazione. 5 Esercizio #3 (obbligatoria) IMP ( EMPNO, DEPTNO, ENAME, JOB, SAL) DIP (DEPTNO, DNAME, LOC,MINSAL,MAXSAL) Definire i trigger per garantire che lo stipendio degli impiegati di tipo CLERK sia sempre superiore al salario minimo (MINSAL), e inferiore al salario massimo (MAXSAL), consentiti all interno del dipartimento di appartenenza. Se il salario di un impiegato CLERK non verifica la condizione sopra riportata, deve essere annullata l operazione innescante (rollback). L istruzione di rollback in Oracle9i è la seguente: raise_application_error(-20601, 'messaggio di errore'); - 4 -
5 Scrivere i seguenti 2 trigger per garantire che sia verificata la condizione sul salario sopra riportata: 1. Un trigger attivato in caso di inserimento di una tupla nella tabella IMP 2. Un trigger attivato in caso di aggiornamento della tabella IMP. A tal scopo: 2.1 Analizzare quali sono le operazioni di aggiornamento della tabella IMP che possono causare una violazione del vincolo sul salario per gli impiegati di tipo CLERK. Elencare nel quaderno questi casi. 2.2 Scegliere uno tra i casi analizzati al punto 2.1. Scrivere il trigger che deve essere attivato in caso si verifichi tale aggiornamento. Lo svolgimento dell esercizio è strutturato nei seguenti passi: 1. Creare ed inizializzare la base di dati con lo script create_db2.sql. 2. Creare i trigger, eventualmente mediante script. 3. Verificare il funzionamento dei trigger, generando le azioni innescanti sulla tabella IMP. Nel quaderno devono essere riportati i trigger ed il file generato (comando spool) in cui si osserva il risultato dell esercitazione. Elencare inoltre le condizioni di aggiornamento delle tabella IMP che possono causare una violazione del vincolo sul salario. 6 Esercizio #4 (facoltativa) IMP ( EMPNO, ENAME, JOB, SAL) SOMMARIO (JOB, NUM) Nella tabelle SOMMARIO, il campo NUM indica il numero di impiegati in IMP che svolgono uno stesso lavoro. Si scrivano i trigger per mantenere la consistenza tra la tabella IMP e SOMMARIO in caso di Inserimento di un record in IMP Aggiornamento del campo JOB in IMP Per creare le tabelle IMP e SOMMARIO: 1. Cancellare la tabella IMP se presente: DROP TABLE IMP; 2. Creare le tabelle IMP e SOMMARIO con i seguenti comandi SQL CREATE TABLE IMP (EMPNO NUMBER(4), ENAME VARCHAR2(10), JOB VARCHAR2(9), SAL NUMBER(7,2), PRIMARY KEY(EMPNO)); CREATE TABLE SOMMARIO (JOB VARCHAR2(9), NUM NUMBER, PRIMARY KEY(JOB)); - 5 -
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
DettagliTecnologia delle Basi di Dati
Tecnologia delle Basi di Dati Esercitazione 3 Oracle Trigger Connessione alla base di dati Connessione via browser Web all indirizzo http://cclix4.polito.it:8080/apex Login Per autenticarsi collegandosi
DettagliSistemi di gestione di basi di dati
Sistemi di gestione di basi di dati Esercitazione 2 Trigger Connessione alla base di dati Connessione via browser Web all indirizzo http://cclix7.polito.it:8080/apex/ Login Per autenticarsi collegandosi
DettagliCap. 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
DettagliLaboratorio 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
DettagliLaboratorio 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
DettagliTrigger. 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
DettagliCorso 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
DettagliCorso 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
DettagliBasi 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
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti
DettagliTriggers. 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
DettagliBasi 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
DettagliCorso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste
Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check
DettagliLa 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
DettagliTali 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
DettagliCorso 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
DettagliCorso 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
DettagliCorso 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
DettagliBasi 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
DettagliCorso 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
DettagliTipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata
Domini Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata numeric [(Precisione [,Scala])] decimal [(Precisione [,Scala])] integer smallint Precisione specifica il numero di
DettagliInterpretazione 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
DettagliSQL: 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] [],...,...,
DettagliLe 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
DettagliCorso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL
Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Francesco Leotta Ultimo aggiornamento : 03/04/2013 Il DBMS che utilizzeremo: MySQL MySQL è un RDBMS open-source disponibile gratuitamente
DettagliD 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)
DettagliElena 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
DettagliElena 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
DettagliVincoli. 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
DettagliSQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe
SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle
DettagliIMPIEGATO(Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager)
BASI DI DATI ATTIVE Esercizio n.1 Dato lo schema relazionale IMPIEGATO(Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) definire le seguenti regole attive in SQL:99 T1. Quando un dipartimento
DettagliLinguaggio SQL: fondamenti
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE 2 2007 Politecnico di Torino 1 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 2007 Politecnico di Torino 2 (2/3)
DettagliConnessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
Dettagli2011 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
DettagliLaboratorio di Sistemi Informativi
Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Modifica degli schemi Inserimento, cancellazione e modifica dei dati Donatella Merlini Dipartimento di Sistemi e Informatica
Dettagliinsert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto
Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una form per consentire agli utenti di inserire dati. L'ordinamento degli attributi (se
DettagliInserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)
Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una maschera (form) per consentire agli utenti di inserire dati. L'ordinamento degli attributi
DettagliVincoli, 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% -
DettagliEsercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Domenico Fabio Savo www.dis.uniroma1.it/~savo/ Il DBMS MySQL 1 Cosa vedremo 1. Presentazione del
DettagliBasi 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
DettagliLe 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
DettagliCorso 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
DettagliCorso di Basi di Dati A.A. 2016/2017
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 MySQL: Creazione di Schemi ed Interrogazioni Francesco Leotta Ultimo aggiornamento : 16/03/2017
DettagliOperazioni 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
DettagliUniversita 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
DettagliBasi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 5
Basi di Dati Applicazioni web in PHP per l interrogazione di basi di dati Esercitazione n. 5 Questa esercitazione ha come obiettivo quello di realizzare una semplice applicazione web basata su PHP per
Dettagli3. Creare nella propria home directory un file nomescript contenente le definizioni delle 4 tabelle con opportuni comandi create table.
Sia dato il seguente schema di base di dati: CLIENTI(Codice_Cliente, Nome, Cognome, NomeDitta, Indirizzo, Citta, Telefono) CATEGORIE_PRODOTTI(Codice_Categoria, Nome) PRODOTTI(Codice_Prodotto, Nome, Produttore,
DettagliBasi 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
DettagliBasi 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
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel): acronimo di Structured Query Language (linguaggio di interrogazione strutturato) Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliIl 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
DettagliConnessione con MySQL
Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata
DettagliTabelle 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
DettagliSQL. 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
DettagliDDL (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σ 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)
DettagliLABORATORIO 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
DettagliSpiegazioni 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,
DettagliA 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
DettagliEsercitazione 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
DettagliEsercitazione 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
DettagliA.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
DettagliLaboratorio di Basi di Dati Esercizio 8.4/9.1
Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department
DettagliSoluzione 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
DettagliA.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
DettagliIL MODELLO RELAZIONALE
Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase
DettagliGestire il database attraverso Javascript. Antonio Gallo
Gestire il database attraverso Javascript Antonio Gallo info@laboratoriolibero.com 1 Aprire il database File: 1_creazione_db.html Per aprire un database basta usare il metodo OpenDatabase: var db = window.opendatabase("note",
DettagliCorso 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
DettagliSQL: 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
DettagliSQL - 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
DettagliManuale utente Volta Control
Manuale utente Volta Control www.satellitevolta.com 1 Sommario 1 Volta Control... 3 2 Licenza Volta Control... 3 3 Prerequisiti di sistema... 3 4 Utilizzo di Volta Control... 3 5 Manuale utente... 4 5.1
DettagliManuale 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,
DettagliData Science e Tecnologie per le Basi di Dati
Data Science e Tecnologie per le Basi di Dati Esercitazione di laboratorio n. 1 Data warehouse: SQL esteso e viste materializzate in Oracle La finalità di questa esercitazione consiste nella realizzazione
Dettagli8 SQL : Check, Asserzioni,Viste
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 8 SQL : Check, Asserzioni,Viste
DettagliIntroduzione. 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
DettagliSQL 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
DettagliPARTITIONING 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
DettagliFondamenti 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
DettagliLaboratorio di Progettazione Web
PHP e MySQL Laboratorio di Progettazione Web AA 2007/2008 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it PHP e MySQL L accesso a MySQL server da PHP si può effettuare con semplici funzioni. La sequenza dei
DettagliCorso di Basi di Dati
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 7 SQL : Check, Asserzioni,Viste Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Costrutti Avanzati
DettagliCheck, 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
DettagliBasi 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
DettagliPRODOTTO 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,
DettagliLaboratorio Basi di Dati Laura Po
Laboratorio Basi di Dati Laura Po Si vuole progettare un database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi
DettagliBasi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Esercizio 1 Scrivere il codice SQL dello schema ARTICOLI Codice
DettagliSQL. 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 francesca.lisi@uniba.it
DettagliEsercitazione 2 SQL 1 (installazione MySQL)
Esercitazione 2 SQL 1 (installazione MySQL) Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E2-1 La famiglia Base di dati contenete la seguente informazioni: Informazione sulle persone: Nome Sesso Anno
DettagliViene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE
Dato il seguente schema E/R E la sua traduzione nel seguente schema relazionale: disponibile in http://www.dbgroup.unimo.it/sire/20110513/20110513.bak Viene richiesto di 1) Risolvere la seguente interrogazione
DettagliESERCITAZIONE: AZIENDA
ESERCITAZIONE: AZIENDA Homework 24 ottobre 2002 Emanuel Weitschek emanuel@dia.uniroma3.it Prerequisiti (software) PostgreSQL pgadmin Driver JDBC Ambito Si consideri una base di dati che contiene informazioni
DettagliBasi di Dati. Applicazioni web in PHP per l interrogazione di basi di dati. Esercitazione n. 4
Basi di Dati Applicazioni web in PHP per l interrogazione di basi di dati Esercitazione n. 4 Questa esercitazione ha come obiettivo quello di realizzare una semplice applicazione web basata su PHP per
DettagliMattia Fazzi: 14/05/2019
Mattia Fazzi: mattia.fazzi@student.unife.it 14/05/2019 SQL Linguaggio utilizzato per definire i dati nel database. Definire i vincoli. Possibilità di creare, modificare e eliminare le tabelle. CREATE TABLE
DettagliSQL. Dott.ssa Elisa Quintarelli
Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:
DettagliInterrogazioni 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,
DettagliASSISTENZA TECNICA RELAZIONE
ASSISTENZA TECNICA RELAZIONE 1 INDICE TRACCIA DEL PROBLEMA ANALISI DI MASSIMA 1. Area amministratori 2. Area clienti ANALISI DETTAGLIATA 1. Schema E/R 2. Schema logico 3. Schema fisico 4. Inserimento nel
DettagliAspetti avanzati nella definizione degli schemi DDL2 1
Aspetti avanzati nella definizione degli schemi DDL2 1 Aspetti avanzati del DDL Creazione di indici Modifica degli schemi Gestione di viste Autorizzazioni d'accesso Vincoli di integrità Procedure e regole
DettagliSistemi 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
DettagliPrimo Compitino di Basi di Dati
Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti
Dettagli