1919 Αντικειμενο-σχεσιακά ΣΔΒΔ  Εμφωλιασμένες Σχέσεις  Το Πρότυπο SQL:1999 (SQL3)  Σύγκριση Συστημάτων.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Advertisements

ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Μοντέλο Οντοτήτων-Συσχετισμών
Αντικειμενοστραφή ΣΔΒΔ
PL/SQL.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Αποθηκευμένες Διαδικασίες και Εναύσματα Δρ. Παναγιώτης Συμεωνίδης.
Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων Θέματα Βάσεων Δεδομένων Αποθήκευση XML δεδομένων σε Σχεσιακή Βάση Δεδομένων.
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΣΥΝΑΡΤΗΣΕΙΣ.
9 Η Γλώσσα SQL Ορισμός Δεδομένων (data definition)
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
ΗΥ302 Διδακτική της Πληροφορικής Η γλώσσα προγραμματισμού LOGO Writer Ομάδα Εργασία: Αλεβίζου Βασιλική (Α.Μ.:1029) Κοφφινά Ιωάννα (Α.Μ.:1035) Τριανταφυλλίδου.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Βάσεις Δεδομένων Εργαστήριο Ι Τμήμα Πληροφορικής ΑΠΘ
Ουρά Προτεραιότητας: Heap
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων.
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
Copyright © 2006 – Quality & Reliability SA PL/SQL TRIGGERS ΜΕΡΟΣ 1.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Επιστημονικός Υπολογισμός Ι Πρώτο Εργαστήριο Εισαγωγή στο matlab 15 Οκτωβρίου 2010 Γιώργος Δρακόπουλος ΤΜΗΥΠ.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεδιασμός μιας ΒΔ ανάλυση ποιας πληροφορίας και της σχέσης ανάμεσα στα στοιχεία της περιγραφή.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Βασικά στοιχεία της Java
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Βάσεις Δεδομένων Κεφ. 1 Πλεονεκτήματα Β.Δ. έναντι αρχείων Βασικές λειτουργίες Β.Δ. Εφαρμογές Β.Δ. στην καθημερινή ζωή.
Βάσεις Δεδομένων Ι 4η διάλεξη
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Σχεσιακό Μοντέλο Δεδομένων
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Αρχιτεκτονική Συστημάτων
ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ
Θερινό Σχολείο, 14 – 20 Ιουλίου 2014
Java DataBase Connectivity
Αρχιτεκτονική Συστημάτων
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Εισαγωγή στον Προγ/μό Υπολογιστών
Αρχιτεκτονική Συστημάτων
Αντικειμενο-σχεσιακά ΣΔΒΔ
Σχεσιακεσ βασεισ δεδομενων
Σχεσιακεσ βασεισ δεδομενων
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Ερωτήματα Επιλογής σε ACCESS
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Μεταγράφημα παρουσίασης:

1919 Αντικειμενο-σχεσιακά ΣΔΒΔ  Εμφωλιασμένες Σχέσεις  Το Πρότυπο SQL:1999 (SQL3)  Σύγκριση Συστημάτων

Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Οι λόγοι που οδήγησαν τους ερευνητές προς αυτήν την κατεύθυνση είναι: –αφενός τα μειονεκτήματα που παρουσιάζουν τα αντικειμενο- στραφή ΣΔΒΔ, και –αφετέρου το γεγονός ότι τα σχεσιακά ΣΔΒΔ έχουν λύσει πολλά προβλήματα που αφορούν στη διαχείριση δεδομένων, και επομένως αποτελούν μία καλή βάση για την κατασκευή νέων συστημάτων με περισσότερες δυνατότητες. Κίνητρο

Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Μία από τις απαιτήσεις του σχεσιακού μοντέλου είναι η ατομικότητα των τιμών σε μία στήλη. Ο κανόνας αυτός προσδιορίζει στην ουσία και την πρώτη κανονική μορφή (1NF). Για την υποστήριξη πολύπλοκων αντικειμένων θα πρέπει οι σχέσεις να επιτρέπουν σε ένα χαρακτη- ριστικό να δέχεται τιμές που δεν είναι κατ΄ανάγκη ατομικές. Εμφωλιασμένες σχέσεις

Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Αυτό οδηγεί σε εμφωλιασμένες σχέσεις (nested relations), όπου η τιμή ενός χαρακτηριστικού μίας σχέσης μπορεί να είναι μία άλλη σχέση. Στην περίπτωση αυτή η σχέση δεν ικανοποιεί την πρώτη κανονική μορφή (non-first normal form, N1NF). Το μοντέλο που προκύπτει από το σχεσιακό μοντέλο επιτρέποντας σχέσεις N1NF καλείται μοντέλο εμφωλιασμένων σχέσεων (nested-relational model) και αποτελεί μία πρώτη προσέγγιση επέκτασης του σχεσιακού μοντέλου για την υποστήριξη πολύπλοκων τύπων δεδομένων. Εμφωλιασμένες σχέσεις

Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η υποστήριξη αντικειμένων και πολύπλοκων τύπων δεδομένων από ένα σχεσιακό σύστημα επιβάλλει και την επέκταση της γλώσσας SQL έτσι ώστε να μπο- ρούμε να εκμεταλλευτούμε τις επιπλέον λειτουργίες του συστήματος. Για το σκοπό αυτό δημιουργήθηκε ένα νέο πρότυπο της γλώσσας SQL με την ονομασία SQL3, το οποίο εμπλουτίζει τη γλώσσα SQL με νέα στοιχεία τα βασικότερα από τα οποία είναι:

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ υποστήριξη τύπου γραμμής, υποστήριξη αντικειμένων και εννοιών του αντικειμενο- στρεφούς μοντέλου, υποστήριξη αφαιρετικών τύπων δεδομένων, τύποι δεδομένων οριζόμενοι από το χρήστη, διαδικασίες και συναρτήσεις οριζόμενες από το χρήστη, υποστήριξη μεγάλων αντικειμένων, αυτόματη εκτέλεση εντολών μετά ή πριν από εισαγωγή, διαγραφή ή ενημέρωση δεδομένων.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. Η SQL3 επιτρέπει τη διαχείριση σύνθετων χαρακτηριστικών. Ένα χαρακτη- ριστικό μπορεί να αποτελείται από πολλά διαφορετικά πεδία σχηματίζοντας μία γραμμή. Επίσης, μία γραμμή ενός πίνακα μπορεί να χρησιμο- ποιηθεί ως παράμετρος σε μία συνάρτηση, να αποτελεί τιμή επιστροφής μίας συνάρτησης ή να αποθηκευθεί σε μία μεταβλητή. Θεωρείστε τον πίνακα Συνδρομητής, ο οποίος περιέχει τα χαρακτηριστικά κωδικός, όνομα και διεύθυνση. Το χαρακτηριστικό διεύθυνση είναι σύνθετο και αποτελείται από τα πεδία οδός, αριθμός, πόλη, ταχυδρομικός- κώδικας και χώρα.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. Για την κατασκευή του πίνακα χρησιμοποιείται η εντολή CREATE TABLE της SQL3. Η δεσμευμένη λέξη ROW δηλώνει ότι ακο- λουθεί ο ορισμός γραμμής που αποτελεί την περιγραφή του χαρακτηριστικού διεύθυνση: CREATE TABLE Συνδρομητής (κωδικός INT, όνομα CHAR(50), Διεύθυνση ROW (οδός CHAR(30), αριθμός CHAR(4), ταχυδρομικός-κώδικας CHAR(6), πόλη CHAR(30), χώρα CHAR(30)));

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. INSERT INTO Συνδρομητής VALUES (1000, 'A. Παπαγεωργίου', ('Φιλύρων', '13', '56225', 'Θεσσαλονίκη', 'Ελλάδα'));

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Τύποι Οριζόμενοι από το χρήστη (user-defined types). Οι τύποι δεδομένων που υποστηρίζει ένα ΣΔΒΔ συνήθως δεν επαρκούν για την κάλυψη των απαιτήσεων όλων των εφαρμογών. Η SQL3 δίνει τη δυνατότητα να ορίζονται νέοι τύποι δεδομένων μέσω της εντολής CREATE TYPE. Η δημιουργία νέων τύπων δεδομένων προσφέρει σημαντική ευκολία στην υλοποίηση πολύπλοκων αντικειμένων με στόχο τη ρεαλιστική αναπαράσταση του πραγματικού κόσμου.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Παράδειγμα ορισμού ενός νέου τύπου δεδομένων για τη διαχείριση ορθογωνίων γεωμετρικών σχημάτων: CREATE TYPE RectType AS ( x1 INT, x2 INT, y1 INT, y2 INT, FUNCTION getArea (r RectType) RETURNS FLOAT RETURN (x2-x1)*(y2-y1); END, FUNCTION getPerimeter (r RectType) RETURNS FLOAT RETURN 2*(x2-x1) + 2*(y2-y1); END ) REF IS SYSTEM GENERATED INSTANTIABLE NOT FINAL;

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η χρήση ενός νέου τύπου δεδομένων ως πεδίο ορισμού μίας στήλης δεν διαφέρει από τη χρήση ενός απλού τύπου δεδομένων: CREATE TABLE κύκλωμαVLSI (κωδικός INT, περιοχή GeneralRectType);

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η SQL3 επιτρέπει το σχηματισμό ιεραρχίας εξειδίκευ- σης μεταξύ των νέων τύπων δεδομένων μέσω απλής κληρονομικότητας (η πολλαπλή κληρονομικότητα δεν υποστηρίζεται από την SQL3). Θεωρείστε μία εφαρμογή που απαιτεί κάποια από τα γεωμετρικά αντικείμενα να έχουν ένα συγκεκριμένο χρώμα που δηλώνεται σε μορφή RGB. Μπορούμε να δημιουργήσουμε ένα νέο τύπο δεδομένων ColoredGeneralRectType, ο οποίος κληρονομεί τα χαρακτηριστικά και τις μεθόδους του τύπου GeneralRectType:

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE TYPE ColoredGeneralRectType UNDER GeneralRectType AS (colorR INT, colorG INT, colorB INT, FUNCTION...,... );

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Διαδικασίες και συναρτήσεις οριζόμενες από το χρήστη (user-defined functions). Μία διαδικασία ή συνάρτηση μπορεί να ορισθεί είτε ως μέθοδος ενός τύπου δεδομένων είτε ως μέθοδος του σχήματος της ΒΔ, και μπορεί να υλοποιηθεί είτε εξωτερικά, με τη βοήθεια μίας γλώσσας προγραμμα- τισμού (π.χ. C++), είτε εσωτερικά εξολοκλήρου με εντολές της SQL3.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE FUNCTION MyFunction (IN MyParameter) RETURNS FLOAT EXTERNAL NAME MyFunctionFileName LANGUAGE C PARAMETER STYLE SQL DETERMINISTIC NO SQL;

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Πριν το πρότυπο SQL3 ο μόνος τρόπος να ορίσουμε συσχετισμό μεταξύ δύο πινάκων ήταν η χρήση του ξένου κλειδιού. Η SQL3 επιτρέπει τη χρήση τύπου αναφοράς (reference type) για τον ορισμό συσχετισμών μεταξύ γραμμών. Μία τιμή ενός τύπου αναφοράς μπορεί να αποθηκευθεί σε έναν πίνακα και να χρησιμοποιηθεί ως άμεση ανα- φορά σε μία συγκεκριμένη γραμμή ενός άλλου πίνακα.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Παρατηρείστε την ομοιότητα μεταξύ του τύπου αναφοράς και των δεικτών στη γλώσσα C/C++. Η τιμή του τύπου αναφοράς χρησιμοποιείται όπως ακριβώς και οι δείκτες. Με τη χρήση των αναφορών μία γραμμή ενός πίνακα μπορεί να μοιρασθεί σε πολλούς πίνακες απλοποιώντας τη διατύπωση ερωτημάτων που περιέχουν πράξεις σύνδεσης.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Μεγάλα Αντικείμενα. Πολλές φορές παρουσιάζεται η ανάγκη για την αποθήκευση δεδομένων με μεγάλο μέγεθος σχετικά με τα μεγέθη που υποστηρίζουν οι απλοί τύποι δεδομένων. Θεωρείστε για παράδειγμα ένα μεγάλο αρχείο κειμένου. Οι τύποι δεδομένων CHAR και VARCHAR έχουν περιορισμούς σχετικά με το μέγιστο μέγεθος μίας σειράς χαρακτήρων. Επομένως, είναι αδύνατο το κείμενο να αποθηκευθεί σε μία μεταβλητή τύπου CHAR ή VARCHAR.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η SQL3 παρέχει εναλλακτικές λύσεις για το πρόβλημα αυτό, καθώς υποστηρίζει μεγάλα αντικείμενα (large objects, LOBs): CREATE TABLE Φοιτητής (κωδικός INT NOT NULL, όνομα VARCHAR(40), φωτογραφία BLOB(200K), βιογραφικό-σημείωμα CLOB(20K), PRIMARY KEY (κωδικός));

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Διατήρηση Τμημάτων Κώδικα. Η SQL3 έχει εμπλουτισθεί με πρόσθετες εντολές έτσι ώστε να είναι υπολογιστικά πλήρης (computationally complete). Οι εντολές της γλώσσας μπορούν να ομοδοποιηθούν και να σχηματίσουν ένα τμήμα κώδικα με τις δικές του τοπικές μεταβλητές. Τα τμήματα κώδικα μπορούν να αποθηκευθούν στη ΒΔ και να είναι πάντοτε διαθέσιμα προς χρήση.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Δηλώσεις μεταβλητών. Η δήλωση μίας μεταβλητής πραγματοποιείται με την εντολή DECLARE ως εξής: DECLARE x INT; DECLARE p BLOB(100K); DECLARE flag BOOLEAN;

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Έλεγχος συνθηκών. Με τη χρήση των εντολών IF... THEN... ELSE... END IF μπορούμε να εκτελέσουμε διαφορετικές εντολές ανάλογα με τη συνθήκη που υπάρχει στο IF. Το ίδιο υποστηρίζεται και με την εντολή CASE, η οποία χρησιμοποιείται ως εξής: CASE x WHEN 1 THEN y=100; WHEN 2 THEN y=200; WHEN default THEN SET y=0; END CASE;

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Ανακύκλωση. Με τη χρήση των εντολών FOR... END FOR, WHILE... END WHILE και REPEAT... UNTIL μπορούμε να επαναλαμβάνουμε την εκτέλεση ενός τμήματος κώδικα μέχρι να ισχύσει η συνθήκη εξόδου.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Ένας σκανδαλισμός (trigger) είναι ένα τμήμα κώδικα που εκτελείται όταν συμβεί ένα συγκεκριμένο γεγονός. Τα γεγονότα που ενεργοποιούν σκανδαλισμούς είναι εισαγωγές, διαγραφές και ενημερώσεις στα δεδομένα ενός πίνακα. Σε αντίθεση με τις διαδικασίες και τις συναρτήσεις, ένας σκανδαλισμός δεν δέχεται παραμέτρους και δεν μπορεί να κληθεί άμεσα από κάποιο τμήμα κώδικα προγράμματος εφαρμογής.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Οι σκανδαλισμοί μπορούν να χρησιμοποιηθούν για τους ακόλουθους σκοπούς: –διενέργεια ελέγχων πριν από την εισαγωγή δεδομένων, έτσι ώστε τα δεδομένα που εισάγονται να ικανοποιούν πολύπλοκους περιορισμούς ακεραιότητας, –καταγραφή των ενεργειών που έχουν πραγματοποιηθεί σε έναν πίνακα (logging), και –υποστήριξη προειδοποιήσεων όταν εισαχθούν, διαγραφούν ή ενημερωθούν δεδομένα ενός πίνακα.

SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE TRIGGER όνομα-σκανδαλισμού BEFORE | AFTER ON [REFERENCING ] [FOR EACH ROW | STATEMENT] [WHEN (συνθήκη-σκανδαλισμού)] BEGIN END;

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Σύμφωνα με τον Stonebraker οι εφαρμογές μπορούν να ομαδοποιηθούν σε τέσσερις κατηγορίες, ανάλογα με τις απαιτήσεις τους ως προς: 1.απαιτήσεις αναζήτησης και υποστήριξη πολλών χρηστών, και 2.πολυπλοκότητα δεδομένων και επεκτασιμότητα. Οι κατηγορίες αυτές είναι οι εξής τέσσερις:

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 1.Οι εφαρμογές με μικρή πολυπλοκότητα δεδομένων και μικρές απαιτήσεις αναζήτησης μπορούν να εξυπηρετη- θούν απευθείας από το λειτουργικό σύστημα, μέσω του συστήματος αρχείων. Παραδείγματα τέτοιων εφαρμο- γών είναι οι επεξεργαστές κειμένου και προγράμματα επεξεργασίας εικόνας.

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 2.Οι εφαρμογές με μικρή πολυπλοκότητα δεδομένων αλλά μεγάλες απαιτήσεις για αναζητήσεις και εξυπηρέτηση πολλών χρηστών, όπως εφαρμογές μηχανοργάνωσης εταιρείας, μπορούν να εξυπηρετηθούν από ένα σχεσιακό ΣΔΒΔ.

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 3.Οι εφαρμογές που διαχειρίζονται πολύπλοκα δεδομένα και έχουν μεγάλες απαιτήσεις σε επεκτασιμότητα αλλά δεν έχουν υψηλές απαιτήσεις ως προς την αναζήτηση μπορούν να στηριχθούν σε ένα αντικειμενοστρεφές ΣΔΒΔ. Παραδείγματα εφαρμογών αυτής της κατηγορίας είναι οι εφαρμογές CAD.

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 4.Τέλος, οι εφαρμογές με υψηλές απαιτήσεις στην πολύ- πλοκότητα των δεδομένων, την αναζήτηση, την υποστη- ριξη πολλών χρηστών και την επεκτασιμότητα μπορούν να υποστηριχθούν από ένα αντικειμενο-σχεσιακό ΣΔΒΔ. Παραδείγματα εφαρμογών της κατηγορίας αυτής είναι τα συστήματα γεωγραφικών πληροφοριών και οι εφαρμογές πολυμέσων.

Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ

Σύνοψη Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Τα αντικειμενο-σχεσιακά ΣΔΒΔ ακολουθούν μία διαφορετική προσέγγιση για την υποστήριξη των σύγχρονων εφαρμογών σε σχέση με τα αντικειμενοστρεφή ΣΔΒΔ. Ένα αντικειμενο-σχεσιακό ΣΔΒΔ υποστηρίζει πλήρως το σχεσιακό μοντέλο δεδομένων, αλλά έχει εμπλουτισθεί με επιπλέον δυνατότητες με στόχο την υποστήριξη πολύπλοκων αντικειμένων. Οι λόγοι που οδήγησαν τους ερευνητές στην κατεύθυνση είναι αφενός τα μειονεκτήματα που παρουσιάζουν τα αντικειμενο- στρεφή ΣΔΒΔ και αφετέρου το γεγονός ότι τα σχεσιακά ΣΔΒΔ έχουν λύσει πολλά προβλήματα που αφορούν στη διαχείριση δεδομένων, και επομένως αποτελούν μία καλή βάση για την κατασκευή νέων συστημάτων με περισσότερες δυνατότητες. Πολλοί κατασκευαστές εμπορικά διαθέσιμων ΣΔΒΔ όπως η IBM, η Microsoft και η Oracle έχουν ήδη προχωρήσει στην επέκταση των συστημάτων τους σε αντικειμενο-σχεσιακά.