Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεIsaura Linard Τροποποιήθηκε πριν 10 χρόνια
1
1919 Αντικειμενο-σχεσιακά ΣΔΒΔ Εμφωλιασμένες Σχέσεις Το Πρότυπο SQL:1999 (SQL3) Σύγκριση Συστημάτων
2
Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Οι λόγοι που οδήγησαν τους ερευνητές προς αυτήν την κατεύθυνση είναι: –αφενός τα μειονεκτήματα που παρουσιάζουν τα αντικειμενο- στραφή ΣΔΒΔ, και –αφετέρου το γεγονός ότι τα σχεσιακά ΣΔΒΔ έχουν λύσει πολλά προβλήματα που αφορούν στη διαχείριση δεδομένων, και επομένως αποτελούν μία καλή βάση για την κατασκευή νέων συστημάτων με περισσότερες δυνατότητες. Κίνητρο
3
Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Μία από τις απαιτήσεις του σχεσιακού μοντέλου είναι η ατομικότητα των τιμών σε μία στήλη. Ο κανόνας αυτός προσδιορίζει στην ουσία και την πρώτη κανονική μορφή (1NF). Για την υποστήριξη πολύπλοκων αντικειμένων θα πρέπει οι σχέσεις να επιτρέπουν σε ένα χαρακτη- ριστικό να δέχεται τιμές που δεν είναι κατ΄ανάγκη ατομικές. Εμφωλιασμένες σχέσεις
4
Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Αυτό οδηγεί σε εμφωλιασμένες σχέσεις (nested relations), όπου η τιμή ενός χαρακτηριστικού μίας σχέσης μπορεί να είναι μία άλλη σχέση. Στην περίπτωση αυτή η σχέση δεν ικανοποιεί την πρώτη κανονική μορφή (non-first normal form, N1NF). Το μοντέλο που προκύπτει από το σχεσιακό μοντέλο επιτρέποντας σχέσεις N1NF καλείται μοντέλο εμφωλιασμένων σχέσεων (nested-relational model) και αποτελεί μία πρώτη προσέγγιση επέκτασης του σχεσιακού μοντέλου για την υποστήριξη πολύπλοκων τύπων δεδομένων. Εμφωλιασμένες σχέσεις
5
Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ
6
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η υποστήριξη αντικειμένων και πολύπλοκων τύπων δεδομένων από ένα σχεσιακό σύστημα επιβάλλει και την επέκταση της γλώσσας SQL έτσι ώστε να μπο- ρούμε να εκμεταλλευτούμε τις επιπλέον λειτουργίες του συστήματος. Για το σκοπό αυτό δημιουργήθηκε ένα νέο πρότυπο της γλώσσας SQL με την ονομασία SQL3, το οποίο εμπλουτίζει τη γλώσσα SQL με νέα στοιχεία τα βασικότερα από τα οποία είναι:
7
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ υποστήριξη τύπου γραμμής, υποστήριξη αντικειμένων και εννοιών του αντικειμενο- στρεφούς μοντέλου, υποστήριξη αφαιρετικών τύπων δεδομένων, τύποι δεδομένων οριζόμενοι από το χρήστη, διαδικασίες και συναρτήσεις οριζόμενες από το χρήστη, υποστήριξη μεγάλων αντικειμένων, αυτόματη εκτέλεση εντολών μετά ή πριν από εισαγωγή, διαγραφή ή ενημέρωση δεδομένων.
8
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. Η SQL3 επιτρέπει τη διαχείριση σύνθετων χαρακτηριστικών. Ένα χαρακτη- ριστικό μπορεί να αποτελείται από πολλά διαφορετικά πεδία σχηματίζοντας μία γραμμή. Επίσης, μία γραμμή ενός πίνακα μπορεί να χρησιμο- ποιηθεί ως παράμετρος σε μία συνάρτηση, να αποτελεί τιμή επιστροφής μίας συνάρτησης ή να αποθηκευθεί σε μία μεταβλητή. Θεωρείστε τον πίνακα Συνδρομητής, ο οποίος περιέχει τα χαρακτηριστικά κωδικός, όνομα και διεύθυνση. Το χαρακτηριστικό διεύθυνση είναι σύνθετο και αποτελείται από τα πεδία οδός, αριθμός, πόλη, ταχυδρομικός- κώδικας και χώρα.
9
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. Για την κατασκευή του πίνακα χρησιμοποιείται η εντολή CREATE TABLE της SQL3. Η δεσμευμένη λέξη ROW δηλώνει ότι ακο- λουθεί ο ορισμός γραμμής που αποτελεί την περιγραφή του χαρακτηριστικού διεύθυνση: CREATE TABLE Συνδρομητής (κωδικός INT, όνομα CHAR(50), Διεύθυνση ROW (οδός CHAR(30), αριθμός CHAR(4), ταχυδρομικός-κώδικας CHAR(6), πόλη CHAR(30), χώρα CHAR(30)));
10
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Υποστήριξη Τύπου Γραμμής. INSERT INTO Συνδρομητής VALUES (1000, 'A. Παπαγεωργίου', ('Φιλύρων', '13', '56225', 'Θεσσαλονίκη', 'Ελλάδα'));
11
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Τύποι Οριζόμενοι από το χρήστη (user-defined types). Οι τύποι δεδομένων που υποστηρίζει ένα ΣΔΒΔ συνήθως δεν επαρκούν για την κάλυψη των απαιτήσεων όλων των εφαρμογών. Η SQL3 δίνει τη δυνατότητα να ορίζονται νέοι τύποι δεδομένων μέσω της εντολής CREATE TYPE. Η δημιουργία νέων τύπων δεδομένων προσφέρει σημαντική ευκολία στην υλοποίηση πολύπλοκων αντικειμένων με στόχο τη ρεαλιστική αναπαράσταση του πραγματικού κόσμου.
12
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;
13
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η χρήση ενός νέου τύπου δεδομένων ως πεδίο ορισμού μίας στήλης δεν διαφέρει από τη χρήση ενός απλού τύπου δεδομένων: CREATE TABLE κύκλωμαVLSI (κωδικός INT, περιοχή GeneralRectType);
14
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η SQL3 επιτρέπει το σχηματισμό ιεραρχίας εξειδίκευ- σης μεταξύ των νέων τύπων δεδομένων μέσω απλής κληρονομικότητας (η πολλαπλή κληρονομικότητα δεν υποστηρίζεται από την SQL3). Θεωρείστε μία εφαρμογή που απαιτεί κάποια από τα γεωμετρικά αντικείμενα να έχουν ένα συγκεκριμένο χρώμα που δηλώνεται σε μορφή RGB. Μπορούμε να δημιουργήσουμε ένα νέο τύπο δεδομένων ColoredGeneralRectType, ο οποίος κληρονομεί τα χαρακτηριστικά και τις μεθόδους του τύπου GeneralRectType:
15
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE TYPE ColoredGeneralRectType UNDER GeneralRectType AS (colorR INT, colorG INT, colorB INT, FUNCTION...,... );
16
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Διαδικασίες και συναρτήσεις οριζόμενες από το χρήστη (user-defined functions). Μία διαδικασία ή συνάρτηση μπορεί να ορισθεί είτε ως μέθοδος ενός τύπου δεδομένων είτε ως μέθοδος του σχήματος της ΒΔ, και μπορεί να υλοποιηθεί είτε εξωτερικά, με τη βοήθεια μίας γλώσσας προγραμμα- τισμού (π.χ. C++), είτε εσωτερικά εξολοκλήρου με εντολές της SQL3.
17
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE FUNCTION MyFunction (IN MyParameter) RETURNS FLOAT EXTERNAL NAME MyFunctionFileName LANGUAGE C PARAMETER STYLE SQL DETERMINISTIC NO SQL;
18
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Πριν το πρότυπο SQL3 ο μόνος τρόπος να ορίσουμε συσχετισμό μεταξύ δύο πινάκων ήταν η χρήση του ξένου κλειδιού. Η SQL3 επιτρέπει τη χρήση τύπου αναφοράς (reference type) για τον ορισμό συσχετισμών μεταξύ γραμμών. Μία τιμή ενός τύπου αναφοράς μπορεί να αποθηκευθεί σε έναν πίνακα και να χρησιμοποιηθεί ως άμεση ανα- φορά σε μία συγκεκριμένη γραμμή ενός άλλου πίνακα.
19
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Παρατηρείστε την ομοιότητα μεταξύ του τύπου αναφοράς και των δεικτών στη γλώσσα C/C++. Η τιμή του τύπου αναφοράς χρησιμοποιείται όπως ακριβώς και οι δείκτες. Με τη χρήση των αναφορών μία γραμμή ενός πίνακα μπορεί να μοιρασθεί σε πολλούς πίνακες απλοποιώντας τη διατύπωση ερωτημάτων που περιέχουν πράξεις σύνδεσης.
20
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Μεγάλα Αντικείμενα. Πολλές φορές παρουσιάζεται η ανάγκη για την αποθήκευση δεδομένων με μεγάλο μέγεθος σχετικά με τα μεγέθη που υποστηρίζουν οι απλοί τύποι δεδομένων. Θεωρείστε για παράδειγμα ένα μεγάλο αρχείο κειμένου. Οι τύποι δεδομένων CHAR και VARCHAR έχουν περιορισμούς σχετικά με το μέγιστο μέγεθος μίας σειράς χαρακτήρων. Επομένως, είναι αδύνατο το κείμενο να αποθηκευθεί σε μία μεταβλητή τύπου CHAR ή VARCHAR.
21
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Η SQL3 παρέχει εναλλακτικές λύσεις για το πρόβλημα αυτό, καθώς υποστηρίζει μεγάλα αντικείμενα (large objects, LOBs): CREATE TABLE Φοιτητής (κωδικός INT NOT NULL, όνομα VARCHAR(40), φωτογραφία BLOB(200K), βιογραφικό-σημείωμα CLOB(20K), PRIMARY KEY (κωδικός));
22
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Διατήρηση Τμημάτων Κώδικα. Η SQL3 έχει εμπλουτισθεί με πρόσθετες εντολές έτσι ώστε να είναι υπολογιστικά πλήρης (computationally complete). Οι εντολές της γλώσσας μπορούν να ομοδοποιηθούν και να σχηματίσουν ένα τμήμα κώδικα με τις δικές του τοπικές μεταβλητές. Τα τμήματα κώδικα μπορούν να αποθηκευθούν στη ΒΔ και να είναι πάντοτε διαθέσιμα προς χρήση.
23
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Δηλώσεις μεταβλητών. Η δήλωση μίας μεταβλητής πραγματοποιείται με την εντολή DECLARE ως εξής: DECLARE x INT; DECLARE p BLOB(100K); DECLARE flag BOOLEAN;
24
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;
25
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Ανακύκλωση. Με τη χρήση των εντολών FOR... END FOR, WHILE... END WHILE και REPEAT... UNTIL μπορούμε να επαναλαμβάνουμε την εκτέλεση ενός τμήματος κώδικα μέχρι να ισχύσει η συνθήκη εξόδου.
26
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Ένας σκανδαλισμός (trigger) είναι ένα τμήμα κώδικα που εκτελείται όταν συμβεί ένα συγκεκριμένο γεγονός. Τα γεγονότα που ενεργοποιούν σκανδαλισμούς είναι εισαγωγές, διαγραφές και ενημερώσεις στα δεδομένα ενός πίνακα. Σε αντίθεση με τις διαδικασίες και τις συναρτήσεις, ένας σκανδαλισμός δεν δέχεται παραμέτρους και δεν μπορεί να κληθεί άμεσα από κάποιο τμήμα κώδικα προγράμματος εφαρμογής.
27
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Οι σκανδαλισμοί μπορούν να χρησιμοποιηθούν για τους ακόλουθους σκοπούς: –διενέργεια ελέγχων πριν από την εισαγωγή δεδομένων, έτσι ώστε τα δεδομένα που εισάγονται να ικανοποιούν πολύπλοκους περιορισμούς ακεραιότητας, –καταγραφή των ενεργειών που έχουν πραγματοποιηθεί σε έναν πίνακα (logging), και –υποστήριξη προειδοποιήσεων όταν εισαχθούν, διαγραφούν ή ενημερωθούν δεδομένα ενός πίνακα.
28
SQL3 Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ CREATE TRIGGER όνομα-σκανδαλισμού BEFORE | AFTER ON [REFERENCING ] [FOR EACH ROW | STATEMENT] [WHEN (συνθήκη-σκανδαλισμού)] BEGIN END;
29
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Σύμφωνα με τον Stonebraker οι εφαρμογές μπορούν να ομαδοποιηθούν σε τέσσερις κατηγορίες, ανάλογα με τις απαιτήσεις τους ως προς: 1.απαιτήσεις αναζήτησης και υποστήριξη πολλών χρηστών, και 2.πολυπλοκότητα δεδομένων και επεκτασιμότητα. Οι κατηγορίες αυτές είναι οι εξής τέσσερις:
30
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 1.Οι εφαρμογές με μικρή πολυπλοκότητα δεδομένων και μικρές απαιτήσεις αναζήτησης μπορούν να εξυπηρετη- θούν απευθείας από το λειτουργικό σύστημα, μέσω του συστήματος αρχείων. Παραδείγματα τέτοιων εφαρμο- γών είναι οι επεξεργαστές κειμένου και προγράμματα επεξεργασίας εικόνας.
31
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 2.Οι εφαρμογές με μικρή πολυπλοκότητα δεδομένων αλλά μεγάλες απαιτήσεις για αναζητήσεις και εξυπηρέτηση πολλών χρηστών, όπως εφαρμογές μηχανοργάνωσης εταιρείας, μπορούν να εξυπηρετηθούν από ένα σχεσιακό ΣΔΒΔ.
32
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 3.Οι εφαρμογές που διαχειρίζονται πολύπλοκα δεδομένα και έχουν μεγάλες απαιτήσεις σε επεκτασιμότητα αλλά δεν έχουν υψηλές απαιτήσεις ως προς την αναζήτηση μπορούν να στηριχθούν σε ένα αντικειμενοστρεφές ΣΔΒΔ. Παραδείγματα εφαρμογών αυτής της κατηγορίας είναι οι εφαρμογές CAD.
33
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ 4.Τέλος, οι εφαρμογές με υψηλές απαιτήσεις στην πολύ- πλοκότητα των δεδομένων, την αναζήτηση, την υποστη- ριξη πολλών χρηστών και την επεκτασιμότητα μπορούν να υποστηριχθούν από ένα αντικειμενο-σχεσιακό ΣΔΒΔ. Παραδείγματα εφαρμογών της κατηγορίας αυτής είναι τα συστήματα γεωγραφικών πληροφοριών και οι εφαρμογές πολυμέσων.
34
Σύγκριση συστημάτων Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ
35
Σύνοψη Κεφάλαιο 19: Αντικειμενο-σχεσιακά ΣΔΒΔ Τα αντικειμενο-σχεσιακά ΣΔΒΔ ακολουθούν μία διαφορετική προσέγγιση για την υποστήριξη των σύγχρονων εφαρμογών σε σχέση με τα αντικειμενοστρεφή ΣΔΒΔ. Ένα αντικειμενο-σχεσιακό ΣΔΒΔ υποστηρίζει πλήρως το σχεσιακό μοντέλο δεδομένων, αλλά έχει εμπλουτισθεί με επιπλέον δυνατότητες με στόχο την υποστήριξη πολύπλοκων αντικειμένων. Οι λόγοι που οδήγησαν τους ερευνητές στην κατεύθυνση είναι αφενός τα μειονεκτήματα που παρουσιάζουν τα αντικειμενο- στρεφή ΣΔΒΔ και αφετέρου το γεγονός ότι τα σχεσιακά ΣΔΒΔ έχουν λύσει πολλά προβλήματα που αφορούν στη διαχείριση δεδομένων, και επομένως αποτελούν μία καλή βάση για την κατασκευή νέων συστημάτων με περισσότερες δυνατότητες. Πολλοί κατασκευαστές εμπορικά διαθέσιμων ΣΔΒΔ όπως η IBM, η Microsoft και η Oracle έχουν ήδη προχωρήσει στην επέκταση των συστημάτων τους σε αντικειμενο-σχεσιακά.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.