Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Approccio procedurale
Antonella Poggi
Transazioni e vincoli
Antonella Poggi 1
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 2
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 3
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 4
Progetto di Applicazioni Software Anno accademico 2008-2009
otteniamo
Antonella Poggi 5
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 6
Progetto di Applicazioni Software Anno accademico 2008-2009
DELIMITER |
CREATE PROCEDURE trans_insert(cf VARCHAR(20),
p VARCHAR(20), n VARCHAR(20), c VARCHAR(20))
BEGIN
INSERT INTO residenza VALUES (cf,c);
INSERT INTO persona VALUES (cf,p,n);
END |
DELIMITER ;
CALL trans_insert
(MRORSS72M21B9M,mario,rossi,roma);
Antonella Poggi 7
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 8
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 9
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 10
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 11
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 12
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 13
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 14
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 15
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 16
Progetto di Applicazioni Software Anno accademico 2008-2009
Trigger in MySQL(esempio)
Antonella Poggi 17
Progetto di Applicazioni Software Anno accademico 2008-2009
Nota
Antonella Poggi 18
Progetto di Applicazioni Software Anno accademico 2008-2009
Operazioni critiche
Tipicamente operazioni di
inserimento/aggiornamento/cancellazione
Antonella Poggi 19
Progetto di Applicazioni Software Anno accademico 2008-2009
Trigger e vincoli
Antonella Poggi 20
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 21
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 22
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 23
Progetto di Applicazioni Software Anno accademico 2008-2009
azione:
notifica di errore e il lancio di una eccezione, se lopzione
scelta e RESTRICT
cancellazione/aggiornamento in cascata, se lopzione
scelta e ON DELETE/UPDATE CASCADE
assegnazione a NULL o a DEFAULT, se lopzione scelta
e ON DELETE/UPDATE SET NULL/DEFAULT
Antonella Poggi 24
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 25
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 26
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 27
Progetto di Applicazioni Software Anno accademico 2008-2009
Esempio
Antonella Poggi 28
Progetto di Applicazioni Software Anno accademico 2008-2009
Esempio
DELIMITER |
DELIMITER ;
Antonella Poggi 29
Progetto di Applicazioni Software Anno accademico 2008-2009
Esempio (Cont.)
Antonella Poggi 30
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 31
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 32
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 33
Progetto di Applicazioni Software Anno accademico 2008-2009
SET AUTOCOMMIT = 0;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET foreign_key_checks=0;
INSERT INTO residenza VALUES (cf,c);
INSERT INTO persona VALUES (cf,p,n);
SET foreign_key_checks=1;
COMMIT;
SET AUTOCOMMIT = 1;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
END
Antonella Poggi 34
Progetto di Applicazioni Software Anno accademico 2008-2009
Trigger e transazioni
Antonella Poggi 35
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 36
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 37
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 38
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 39
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 40
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 41
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 42
Progetto di Applicazioni Software Anno accademico 2008-2009
SET AUTOCOMMIT = 0;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SET @DIS_TRIG=1;
INSERT INTO padre VALUES (cf,n,c);
INSERT INTO paternita(padre) VALUES (n);
SET @DIS_TRIG=NULL;
COMMIT;
SET AUTOCOMMIT = 1;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
END
Antonella Poggi 43
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 44
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 45
Progetto di Applicazioni Software Anno accademico 2008-2009
Vincoli in MySQL
Antonella Poggi 46
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 47
Progetto di Applicazioni Software Anno accademico 2008-2009
Osservazioni importanti
Antonella Poggi 48
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 49
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 50
Progetto di Applicazioni Software Anno accademico 2008-2009
Esempio
Antonella Poggi 51
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 52
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 53
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 54
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 55
Progetto di Applicazioni Software Anno accademico 2008-2009
4. cp,n,s Persona(cp,n,s,I)
ca|Impiego(cp,ca) Vincolo di stato inter-tabella
Antonella Poggi 56
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
linserimento in PERSONA
lupdate in PERSONA
Antonella Poggi 57
Progetto di Applicazioni Software Anno accademico 2008-2009
delimiter |
delimiter ;
Antonella Poggi 58
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
Antonella Poggi 59
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
linserimento in IMPIEGO
Antonella Poggi 60
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
Antonella Poggi 61
Progetto di Applicazioni Software Anno accademico 2008-2009
Antonella Poggi 62
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
delimiter |
delimiter ;
Antonella Poggi 63
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
linserimento in PERSONA
Antonella Poggi 64
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
Antonella Poggi 65
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
Antonella Poggi 66
Progetto di Applicazioni Software Anno accademico 2008-2009
Implementazione (cont.)
Approcci possibili:
Antonella Poggi 67