MySQL Εργαστήριο #4 Διαβεβαιώσεις - Ενεργοποιητές

Σχετικά έγγραφα
MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια)

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Εργαστήριο Βάσεων Δεδομένων. Triggers

MySQL Εργαστήριο #2 Γλώσσα Ορισμού Δεδομένων Ακεραιότητα Δεδομένων

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

Βάσεις Δεδομέμωμ. Δξγαζηήξην Ι. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

. Εργαστήριο Βάσεων Δεδομένων. Triggers

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9α: Περιορισμοί (Constraints) Εναύσματα (Triggers) Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

Ηλεκηπονικά Απσεία και Διεπαθέρ

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

γηα ηνλ Άξε Κσλζηαληηλίδε

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Βάρειπ Δεδξμέμωμ. Εξγαζηήξην ΙΙI. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

x x x x tan(2 x) x 2 2x x 1

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Σ Δ Υ Ν Ι Κ Η Δ Κ Θ Δ Η Π Ρ Ο Μ Η Θ Δ Ι Α Ο Ι Κ Ο Γ Ο Μ Ι Κ Ω Ν Τ Λ Ι Κ Ω Ν Γ Η Μ Ο Τ Β Ο Λ Β Η

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

Η αξρή ζύλδεζεο Client-Server

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Τν εθπαηδεπηηθό πιηθό ηεο Φξνληηζηεξηαθήο Δθπαίδεπζεο Τζηάξα δηαλέκεηαη δωξεάλ απνθιεηζηηθά από ηνλ ψεθηαθό ηόπν ηνπ schooltime.gr

Τ ξ ε ύ ο ξ π ς ξ σ ξ ο ί ξ σ _ Ι ε ο α μ ε ι κ ό π

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Εγκατάσταση του πακέτου XAMPP. Β Τεχνική Σχολή Λεμεςοφ Σχολική χρονιά Άριςτοσ Παςιάσ

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

ΥΛΙΚΑ ΠΑΡΟΝ ΚΑΙ ΜΕΛΛΟΝ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ ΣΜΗΜΑ ΕΠΙΣΗΜΗ ΚΑΙ ΣΕΧΝΟΛΟΓΙΑ ΤΛΙΚΩΝ

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

MySQL Εργαστήριο #3 Structured Query Language - SQL

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Transcript:

MySQL Εργαστήριο #4 Διαβεβαιώσεις - Ενεργοποιητές Νίθνο Γηαηξάθνο Δξγαζηήξην Πιεξνθνξηαθψλ Σπζηεκάησλ, Τκήκα Πιεξνθνξηθήο, Παλεπηζηήκην Πεηξαηά (http://infolab.cs.unipi.gr)

Περιεχόμενα Σχλδεζε κε ηα πξνεγνχκελα Γηαβεβαηψζεηο Δλεξγνπνηεηέο 2

Περιεχόμενα Σχλδεζε κε ηα πξνεγνχκελα Γηαβεβαηψζεηο Δλεξγνπνηεηέο 3

Σχεσιακό Σχήμα Τν Σρεζηαθφ Σρήκα πνπ ρξεζηκνπνηήζεθε ζην εξγαζηήξην #2: Stars(StarID, StarName, StarAddress) Studios(StudioID, StudioName, StudioAddress) Movies(MovieID, MovieTitle, MovieLength, MovieWebsite, FilmType, StudioID) Stars_In(StarID, MovieID, StarringSequence) 4

Σύνθετοι Περιορισμοί Ακεραιότητας Υπνζέηνπκε ηνπο αθφινπζνπο πεξηνξηζκνχο ζην ζελάξην εθαξκνγήο γηα ηε ζηήιε StarringSequence Τν πεδίν StarringSequence ζα πξέπεη λα ιακβάλεη ηηκέο >0 Γελ επηηξέπεηαη δχν πξσηαγσληζηέο ζηελ ίδηα ηαηλία λα έρνπλ ηελ ίδηα ηηκή ζην πεδίν απηφ Γελ επηηξέπεηαη λα ππάξρεη εγγξαθή κε ηηκή k ζην πεδίν, φηαλ νη πξσηαγσληζηέο ηεο ηαηλίαο είλαη ιηγφηεξνη απφ θ 5

Περιεχόμενα Σχλδεζε κε ηα πξνεγνχκελα Γηαβεβαηψζεηο Δλεξγνπνηεηέο 6

Διαβεβαιώσεις - Assertions Οη δηαβεβαηψζεηο απνηεινχλ αληηθείκελα ηεο ΒΓ φπσο νη ζρέζεηο ή νη φςεηο Δπηηξέπεη ηνλ νξηζκφ ζπλζεθψλ: X: P(X) Έλα assertion νξίδεηαη σο εμήο: CREATE ASSERTION <name> CHECK (<condition>); Η ζπλζήθε (<condition>) κπνξεί λα αθνξά νπνηαδήπνηε ζρέζε ή ραξαθηεξηζηηθφ ηεο ΒΓ Καη αξρήλ έλα assertion ζα πξέπεη λα ειέγρεηαη ζε θάζε ηξνπνπνίεζε πνπ ζπκβαίλεη ζηε ΒΓ. Ωζηφζν έλα «έμππλν» ΣΓΒΓ ζα πξέπεη λα κπνξεί λα δηαθξίλεη πνηεο αιιαγέο ελδέρεηαη λα πξνθαιέζνπλ ηελ παξαβίαζε ελφο assertion. Η έθδνζε 5.1 ηνπ MySQL Community Server δελ ππνζηεξίδεη assertions 7

Διαβεβαιώσεις - Παράδειγμα Γελ επηηξέπεηαη δχν πξσηαγσληζηέο ζηελ ίδηα ηαηλία λα έρνπλ ηελ ίδηα ηηκή ζην πεδίν StarringSequence CREATE ASSERTION Constr_StarringSequence CHECK (NOT EXISTS (SELECT * FROM Stars_In S1, Stars_Ιn S2 WHERE S2.MovieID=S1.MovieID AND S2.StarringSequence=S1.StarringSequence AND S1.StarID <> S2.StarID ) ); 8

Περιεχόμενα Σχλδεζε κε ηα πξνεγνχκελα Γηαβεβαηψζεηο Δλεξγνπνηεηέο 9

Ενεργοποιητές - Διαβεβαιώσεις Οη δηαβεβαηψζεηο απνηεινχλ ηζρπξφ εξγαιείν γηα ηνλ έιεγρν ηθαλνπνίεζεο ζχλζεησλ πεξηνξηζκψλ αθεξαηφηεηαο, αιιά επηβάιινπλ πξφζζεην θφξην θαζψο ην ΣΓΒΓ ελδερνκέλσο λα κελ κπνξεί λα θαζνξίζεη κε αθξίβεηα ηηο πξνυπνζέζεηο ειέγρνπ ηνπο. Τα triggers επηηξέπνπλ ζην ρξήζηε λα θαζνξίζεη ηηο αθξηβείο ζπλζήθεο θαη ην αθξηβέο γεγνλφο ελεξγνπνίεζήο ηνπο Πέξαλ ηεο επηβνιήο ζχλζεησλ πεξηνξηζκψλ αθεξαηφηεηαο, επηηξέπνπλ ηελ απηφκαηε εθηέιεζε ιεηηνπξγηψλ/δηαδηθαζηψλ θαηά ηελ πξαγκαηνπνίεζε γεγνλφησλ 10

Εντολή Ορισμού Ενεργοποιητή CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt trigger_time: BEFORE ή AFTER trigger_event: INSERT ή UPDATE ή DELETE trigger_stmt: Block εντολών μεταξύ BEGIN END; Δπηπιένλ εληφο ηνπ trigger_stmt ρξεζηκνπνηνχκε : ηελ έθθξαζε NEW γηα λα αλαθεξφκαζηε ζηηο πιεηάδεο πνπ εηζήρζεζαλ ή ελεκεξψζεθαλ ηελ έθθξαζε OLD γηα λα αλαθεξζνχκε ζηελ πξψηεξε έθδνζε πιεηάδσλ πνπ αλαλεψζεθαλ ή δηαγξάθεθαλ 11

Περιορισμοί στη χρήση Ενεργοποιητών Σηελ 5.1 έθδνζε ηνπ MySQL Community Server ππάξρνπλ νη αθφινπζνη πεξηνξηζκνί ζρεηηθά κε ηα triggers: Γε κπνξνχλ λα νξηζηνχλ πεξηζζφηεξα ηνπ ελφο trigger κε ην ίδην trigger_time θαη ίδην trigger_event επί ηνπ ηδίνπ πίλαθα Γε κπνξεί λα νξηζηεί trigger επί temporary πίλαθα ή view Έλα trigger δελ κπνξεί λα ρξεζηκνπνηεί εληνιέο φπσο: Cancel θαη Rollback σζηφζν κπνξνχκε λα εκπνδίζνπκε κηα δνζνιεςία ηξνπνπνηψληαο ηηο ελεκεξσκέλεο πιεηάδεο έηζη ψζηε λα παξαβηάδνπλ θάπνην απιφ πεξηνξηζκφ αθεξαηφηεηαο Γελ κπνξεί λα πξαγκαηνπνηεζεί update εληφο ηεο ιεηηνπξγηθφηεηαο πνπ νξίδεηαη ζην trigger, ν πίλαθαο επί ηνπ νπνίνπ πξαγκαηνπνηείηαη ην γεγνλφο πνπ ελεξγνπνηεί ην trigger. Δπί παξαδείγκαηη: CREATE TRIGGER trig_name AFTER INSERT ON TABLE1 FOR EACH ROW BEGIN... UPDATE TABLE1 SET COLUMN1=VALUE WHERE...... END; 12

Ενεργοποιητές Παράδειγμα (Βήμα 1) Τν πεδίν StarringSequence ζα πξέπεη λα ιακβάλεη ηηκέο >0 DELIMITER @ CREATE TRIGGER Constr_StarringSequence BEFORE INSERT ON STARS_IN FOR EACH ROW BEGIN IF NEW.StarringSequence<=0 ΤΗΕΝ END IF; END; SET NEW.MovieID=NULL; Αλαθνξά ζηε λενεηζεξρφκελε πιεηάδα Πάληα πξηλ ην insert αιιάδνπκε ην ζχκβνιν ηέινπο εληνιήο Δθφζνλ δελ κπνξνχκε (βι. πξνεγνχκελε δηαθάλεηα) λα ρξεζηκνπνηήζνπκε CANCEL INSERT (γηα before insert trigger) ή ROLLBACK INSERT (γηα after insert trigger) εκπνδίδνπκε ηελ εηζαγσγή εμαζθαιίδνληαο ηελ παξαβίαζε ηνπ πεξηνξηζκνχ NOT NULL γηα κηα απφ ηηο ζηήιεο ηνπ πξσηεχνληνο θιεηδηνχ 13

Ενεργοποιητές Παράδειγμα (Βήμα 2) Γελ επηηξέπεηαη δχν πξσηαγσληζηέο ζηελ ίδηα ηαηλία λα έρνπλ ηελ ίδηα ηηκή ζην πεδίν απηφ DELIMITER @ CREATE TRIGGER Constr_StarringSequence BEFORE INSERT ON STARS_IN FOR EACH ROW BEGIN IF NEW.StarringSequence<=0 OR (SELECT COUNT(*) FROM Stars_In S WHERE S.MovieID= NEW.MovieID AND S.StarringSequence= NEW.StarringSequence)<> 0 ΤΗΕΝ SET NEW.MovieID=NULL; END IF; END; 14

Ενεργοποιητές Παράδειγμα (Βήμα 3) Γελ επηηξέπεηαη λα ππάξρεη εγγξαθή κε ηηκή k ζην πεδίν, φηαλ νη πξσηαγσληζηέο ηεο ηαηλίαο είλαη ιηγφηεξνη απφ θ DELIMITER @ CREATE TRIGGER Constr_StarringSequence BEFORE INSERT ON STARS_IN FOR EACH ROW BEGIN IF NEW.StarringSequence<=0 OR (SELECT COUNT(*) FROM Stars_In S WHERE S.MovieID= NEW.MovieID AND S.StarringSequence= NEW.StarringSequence)<> 0 OR (SELECT COUNT(*) FROM Stars_In S WHERE S.MovieID=NEW.MovieID)<>(NEW.StarringSequence-1) ΤΗΕΝ SET NEW.MovieID=NULL; END IF; END; 15

Εξωτερικές ενέργειες Μεξηθέο θνξέο θαηά ηελ ελεκέξσζε ηεο βάζεο δεδνκέλσλ απαηηείηαη ε ελεξγνπνίεζε θάπνησλ εμσηεξηθψλ ελεξγεηψλ, φπσο ε εθ λένπ παξαγγειία ελφο πξντφληνο φηαλ ε πνζφηεηά ηνπ πέζεη θάησ απφ κία ζπγθεθξηκέλε ηηκή ή ε ελεξγνπνίεζε ελφο δηαθφπηε. Οη triggers πξνθαλψο δελ κπνξνχλ λα ρξεζηκνπνηεζνχλ γηα ηελ θαηεπζείαλ πινπνίεζε εμσηεξηθψλ ελεξγεηψλ, ΑΛΛΑ κπνξνχλ λα ρξεζηκνπνηεζνχλ γηα ηελ θαηαγξαθή ζε έλαλ μερσξηζηφ πίλαθα ησλ ελεξγεηψλ πνπ πξέπεη λα ιεθζνχλ, θαη κπνξνχκε λα έρνπκε κηα εμσηεξηθή δηεξγαζία πνπ ζα ζαξψλεη ζπλερψο ηνλ πίλαθα θαη ζα δηεθπεξαηψλεη ηηο εμσηεξηθέο ελέξγεηεο.

Διαγραφή Ενεργοποιητή DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name SHOW TRIGGERS; Πξνθαλψο ηα triggers γίλνληαη απηφκαηα drop αλ γίλεη drop ν πίλαθαο επί ηνπ νπνίνπ νξίδνληαη

Πηγές περαιτέρω μελέτης http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html http://dev.mysql.com/doc/refman/5.1/en/stored-program-restrictions.html http://infolab.stanford.edu/~ullman/fcdb/aut07/slides/cons.ppt 18