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

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

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

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

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

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

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

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

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

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

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

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

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

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

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

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

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

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

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

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

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

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

Constructors and Destructors in C++

ΕΠΛ 342 Βάσεις εδοµένων

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων (Databases)

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

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

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

x x 15 7 x 22. ΘΔΜΑ Α 3x 2 9x 4 3 3x 18x x 5 y 9x 4 Α1. i. . Η ιύζε είλαη y y x 3y y x 3 2x 6y y x x y 6 x 2y 1 y 6

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

T A E K W O N D O. Δ. ΠπθαξΨο. ΔπΫθνπξνο ΘαζεγεηΪο ΑζιεηηθΪο ΦπζηθνζεξαπεΫαο ΡΔΦΑΑ - ΑΞΘ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

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

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

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

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

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

Έχουµε την βάση της σχολής που αποτελείται από τους παρακάτω πίνακες.

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

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

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

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

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

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

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

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

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

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

ΕΞΟΡΤΞΗ & ΚΑΣΑΚΕΤΕ ΣΗΝ ΕΤΡΩΠΗ ΜΑΘΗΜΑ 43

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

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

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

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

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

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

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

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

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

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Δνκέο Επαλάιεςεο - Άιπηεο αζθήζεηο. 1. Να ζρεκαηίζεηε ηνλ πίλαθα ηηκώλ γηα ηα παξαθάησ ηκήκαηα αιγνξίζκσλ. Τί ζα εθηππσζεί ηειηθά;

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Δεςηέπα 18/05/2015. Απόνηερ : 1) Γεκόπνπινο Υξήζηνο 2) Καπώλεο πήιηνο 3) Κπξηαθόπνπινο Κπξηάθνο 4) Παλαγόπνπινο Βαζίιεο

Επαναληπτική Άσκηση - Δέντρα

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL


Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

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

Ηλεκτρονικοί Υπολογιστές II

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

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

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

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ


ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

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

Transcript:

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

Μελέτη Περίπτωσης 1 Θα ρξεζηκνπνηήζνπκε ην αθόινπζν Σρεζηαθό Σρήκα: Beers(name,manf) Sells(bar, beer, price) 2

Μελέτη Περίπτωσης 1 1 Αληί ηεο παξαβίαζεο ηνπ πεξηξηoζκνύ μέλνπ θιεηδηνύ, επηζπκνύκε όηαλ εηζέξρεηαη ζηνλ πίλαθα Sells εγγξαθή beer πνπ δελ εκθαλίδεηαη ζηνλ πίλαθα Beers λα εηζάγεηαη απηόκαηα κε θελό ην πεδίν ηνπ θαηαζθεπαζηή (manf) CREATE TRIGGER BeerTrig BEFORE INSERT ON Sells IF (NEW.beer NOT IN (SELECT name FROM Beers)) THEN INSERT INTO Beers(name) VALUES(NEW.beer); END IF; 3

Μελέτη Περίπτωσης 2 Θα ρξεζηκνπνηήζνπκε ην αθόινπζν Σρεζηαθό Σρήκα: NewsCategories(catID, catname, NewsCount) News(NewsID, catid, title, text) 4

Μελέτη Περίπτωσης 2 1 Τν ραξαθηεξηζηηθό NewsCount θάζε θαηεγνξίαο ζα πξέπεη λα ελεκεξώλεηαη κε θάζε λέα θαηαρώξεζε είδεζεο CREATE TRIGGER newscounter AFTER INSERT ON News UPDATE NewsCategories SET NewsCount=(SELECT count(*) FROM News WHERE catid=new.catid) WHERE catid=new.catid; 5

Μελέτη Περίπτωσης 2 2 Τν ραξαθηεξηζηηθό NewsCount θάζε θαηεγνξίαο ζα πξέπεη επίζεο λα ελεκεξώλεηαη κε θάζε αθαίξεζε είδεζεο CREATE TRIGGER newscounter AFTER DELETE ON News UPDATE NewsCategories SET NewsCount= NewsCount-1 WHERE catid=old.catid; 6

Μελέτη Περίπτωσης 3 Θα ρξεζηκνπνηήζνπκε ην αθόινπζν Σρεζηαθό Σρήκα: Employer(ID, name, address, salary, num_of_children) Audit_table (username, timestamp, empid, old_salary, new_salary) 7

Μελέτη Περίπτωσης 3 1 Καηαγξαθή ησλ κηζζνινγηθώλ αιιαγώλ κε ηαπηόρξνλε επηζύλαςε ηνπ ρξήζηε πνπ πξνέβε ζηελ αιιαγή θαη ηεο ώξαο-κέξαο πνπ πξαγκαηνπνηήζεθε CREATE TRIGGER Audit AFTER UPDATE ON Employer IF (NEW.salary <> OLD.salary) THEN INSERT INTO Audit_table VALUES (CURRENT_USER(), NOW(), NEW.ID, NEW.Salary, OLD. Salary); END IF; 8

Μελέτη Περίπτωσης 3 2 Γηα θάζε παηδί πνπ απνθηά θάπνηνο εξγαδόκελνο ιακβάλεη 5% αύμεζε ζηνλ ησξηλό κηζζό ηνπ (πξνθαλώο ε αιιαγή πνπ ζα πξνθιεζεί από απηό ην trigger ζα ελεξγνπνηήζεη θαη ην πξνεγνύκελν ) CREATE TRIGGER child_bonus AFTER UPDATE ON Employer IF (NEW.num_of_children <> OLD.num_of_children) THEN UPDATE employer SET salary= salary + salary*(new.num_of_children-old.num_of_children)*0.05 WHERE ID=NEW.ID; END IF; 9

Μελέτη Περίπτωσης 4 Θα ρξεζηκνπνηήζνπκε ην αθόινπζν Σρεζηαθό Σρήκα: Student(ID, name, address, GPA, sizehs) Campus(location, enrollment, rank) Apply(ID, location, date, major, decision) 10

Μελέτη Περίπτωσης 4 1 Μηα αίηεζε θνηηεηή γηα ην Berkeley campus κε GPA>3.9 θαη SizeHS>1500 γίλεηαη απηόκαηα απνδεθηή CREATE TRIGGER AutoAccept AFTER INSERT ON Apply IF (NEW.location = 'Berkeley' AND 3.9 < (SELECT GPA FROM Student WHERE ID = NEW.ID) AND 1500 < (SELECT sizehs FROM Student WHERE ID = NEW.ID)) THEN UPDATE Apply SET decision = 'Y' WHERE ID = NEW.ID AND location = NEW.location AND `date` = NEW.`date`; END IF; 11

Μελέτη Περίπτωσης 4 2 Αλ νη εγγξαθέο ζε θάπνην campus μεπεξάζνπλ ηηο 7000, ηόηε ζα πξέπεη λα δηαγξαθνύλ όιεο νη αηηήζεηο πνπ έγηλαλ κεηά ηηο 25/2/2009 θαη γηα εθείλεο πνπ έγηλαλ πξηλ από ηε ζπγθεθξηκέλε εκεξνκελία θαη είρε παξζεί ζεηηθή απόθαζε, ε απόθαζε λα αιιάμεη ζε «απξνζδηόξηζηε» CREATE TRIGGER TooMany AFTER UPDATE ON Campus IF (OLD.enrollment <= 7,000 AND NEW.enrollment > 7,000) THEN DELETE FROM Apply WHERE location = NEW.location AND date > 25/2/2009; UPDATE Apply SET decision = 'U' WHERE location = NEW.location AND decision = 'Y'; END IF; 12

Αναφορές http://philip.greenspun.com/sql/triggers.html http://infolab.stanford.edu/~ullman/fcdb/jw-notes06/constraints.html http://infolab.stanford.edu/~ullman/fcdb/aut07/slides/cons.ppt 13