Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές (Database Languages and Interfaces) Το περιβάλλον ενός database system Κατηγορίες συστηµάτων βάσεων δεδοµένων
Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι Ένα µοντέλο δεδοµένων είναι ένα σύνολο εννοιών που µπορούν να χρησιµοποιηθούν για την περιγραφή τις δοµής ενός database οµήενόςdatabase περιλαµβάνει τύπους δεδοµένων, σχέσεις και περιορισµούς που υφίστανται µεταξύ των δεδοµένων, καθώς και βασικούς τελεστές για ανάκτηση και αλλαγή του database
Κατηγορίες Μοντέλων Υψηλού επιπέδου, εννοιολογικό µοντέλο (high-level or conceptual) Παρέχει έννοιες κοντά στον τρόπο που πολλοί χρήστες καταλαβαίνουν τα διάφορα δεδοµένα Χαµηλού επιπέδου (low-level or physical) Παρέχει έννοιες που περιγράφουν τις λεπτοµέρειες του πως τα δεδοµένα είναι αποθηκευµένα στη δευτερεύουσα µνήµη Αναπαραστατικό Μοντέλο (representational or implementational) Παρέχει έννοιες που είναι µεν κατανοητές από τους χρήστες αλλά όχι πολύ αποµακρυσµένες από το τρόπο αποθήκευσης
Υψηλού επιπέδου (high-level or conceptual) Παρέχει έννοιες κοντά στον τρόπο που πολλοί χρήστες καταλαβαίνουν τα διάφορα δεδοµένα Οντότητες (Entities) Περιγράφει ένα πράγµα ή έννοια που υπάρχει στον κόσµο Π.χ. Υπάλληλος Χαρακτηριστικά, γνωρίσµατα, πεδία ορισµού (attributes) Περιγράφει µια ιδιότητα της οντότητας που περαιτέρω την περιγράφει Π.χ. Όνοµα υπαλλήλου ή µισθός υπαλλήλου Σχέσεις µεταξύ οντοτήτων (relationship) Περιγράφει µια αλληλεπίδραση µεταξύ δυο οντοτήτων
Χαµηλού επιπέδου (low-level or physical) Παρέχει έννοιες που περιγράφουν τις λεπτοµέρειες του πως τα δεδοµένα είναι αποθηκευµένα στη δευτερεύουσα µνήµη. Παρέχει πληροφορίες για το Φόρµατ των εγγράφων (record formats) Σειρά αποθήκευσης των εγγράφων (record ordering) Μονοπάτια πρόσβασης (access paths) «Μια δοµή που βελτιστοποιεί το ψάξιµο»
Αναπαραστατικό Μοντέλο (representational or implementational) Παρέχει έννοιες που είναι µεν κατανοητές από τους χρήστες αλλά όχι πολύ αποµακρυσµένες από το τρόπο αποθήκευσης Ασχολούνται µε δεδοµένα οργανωµένα σε ΕΓΓΡΑΦΕΣ (record based) Σχεσιακό (relational) Ιεραρχικό (hierarchical) ικτυωτό (network)
Σχήµα και Αντιπρόσωποι (Schemas and Instances) Ηπεριγραφήτουdatabase λέγεται ΣΧΗΜΑ (database schema or the meta-data) Ένα διάγραµµασχήµατος παρέχει µια όψη του ολικού σχήµατος
Fig 2.1
Tαδεδοµένα ενός database µια δεδοµένη στιγµή καλείται database state Περιέχει ένα σύνολο από αντιπροσώπους Ονοµάζεται επίσης και Extension του σχήµατος Το DBMS είναι υπεύθυνο για τη διατήρηση του database σε σωστό state µε βάσητους διάφορους κανόνες ακεραιότητας (integrity constraints)
Αρχιτεκτονική Βάσης εδοµένων Τρία Αρχιτεκτονικά Επίπεδα Το Εσωτερικό Επίπεδο (internal level) Έχει ένα εσωτερικό σχήµα το οποίο περιγράφει τη δοµήτης αποθήκευσης των δεδοµένων. Περιγράφει τον τρόπο µετον οποίο τα δεδοµένα δοµούνται και αποθηκεύονται στις φυσικές συσκευές Το Λογικό Επίπεδο (conceptual level) Περιγράφει τη δοµήτουdatabase για όλους τους χρήστες Κρύβει τις λεπτοµέρειες αποθήκευσης Υψηλού επιπέδου µοντέλο ή Αναπαραστασιακό Μοντέλο Το Εξωτερικό(ή όψη)επίπεδο(external or view level) Είναι ένα (ιδεατό) υποσύνολο του σχήµατος της βάσης δεδοµένων και αντιστοιχεί σε ένα πλαίσιο πεδίων που χρησιµοποιεί ο χρήστης ή µια ανεξάρτητη εφαρµογή
Fig 2.2
Γλώσσες Συστήµατος Βάσης εδοµένων (Database Languages) Γλώσσα ορισµού δεδοµένων (Data Description Language DDL) ίνει τη δυνατότητα δηµιουργίας του ΣΧΗΜΑΤΟΣ Γλώσσα ορισµού φυσικής αποθήκευσης (Storage Definition Language SDL) Περιγράφει το εσωτερικό σχήµα Γλώσσα ορισµού όψεων (View Definition Language VDL) Ορίζει τις διάφορες όψεις και τη µεταφράζει από την όψη στο λογικό σχήµα
Γλώσσα επεξεργασίας δεδοµένων (Data Manipulation Language DML) Για πρόσβαση, ανάκτηση, εισαγωγή, αφαίρεση δεδοµένων ιαδικαστικές (procedural) Ο χρήστης καθορίζει το ΠΩΣ να αποκτηθεί µια πληροφορία Συνήθως είναι γλώσσες που χειρίζονται «εγγραφή µετά εγγραφή» ( record-at-a-time ) Π.χ. Ιεραρχικό ή ικτυωτό Μοντέλο Υψηλού επιπέδου η µη-διαδικαστικές (π.χ. SQL declarative) Ο χρήστης καθορίζει το ΤΙ και όχι το ΠΩΣ Γλώσσες που χειρίζονται ένα σύνολο από εγγραφές ταυτοχρόνως (set-at-a-time) Οι γλώσσες αυτές µπορούν να εµπεδώνονται σε γενικού σκοπού γλώσσες προγραµµατισµού (π.χ. C, C++, COBOL, etc).
To Περιβάλλον µιας Βάσης εδοµένων Μάνατζερ αποθήκευσης DDL µεταγλωττιστής Run-time processor Προ-µεταγλωττιστής Query µεταγλωττιστής Περιβάλλων για επικοινωνία
Fig 2.4
Entity-Relationship Model (Οντότητες-Σχέσεις Μοντέλο)