1.1 Σκοπός των συστημάτων βάσεων δεδομένων Ο στόχος ενός ΣΔΒΔ (σύστημα διαχείρισης βάσεων δεδομένων) είναι να παράσχει ένα περιβάλλον που είναι και βολικό και αποδοτικό για την • ανάκτηση των πληροφοριών από τη βάση δεδομένων. • αποθήκευση των πληροφοριών στη βάση δεδομένων.
• πλεονασμός και ασυνέπεια δεδομένων ΠΡΟΒΛΗΜΑΤΑ ΠΟΥ ΥΠΑΡΧΟΥΝ ΜΕ ΤΗΝ ΚΛΑΣΣΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΕΠΕΞΕΡΓΑΣΙΑΣ ΑΡΧΕΙΩΝ: • πλεονασμός και ασυνέπεια δεδομένων Ø • δυσκολία στην πρόσβαση των δεδομένων Ø θα πρέπει να γραφτεί ένα νέο πρόγραμμα εφαρμογής για να ικανοποιηθεί ένα ασυνήθιστο αίτημα. Ø • απομόνωση δεδομένων Ø δεδομένα σε διαφορετικά αρχεία. Ø δεδομένα με διαφορετικά format. Ø • πολλαπλοί χρήστες Ø χρειάζεται ταυτοχρονισμός για μικρότερο χρόνο απόκρισης. Ø χρειάζεται προστασία για τις ταυτόχρονες ενημερώσεις. Ø • προβλήματα ασφάλειας Ø κάθε χρήστης του συστήματος πρέπει να είναι σε θέση να έχει πρόσβαση μόνο στα δεδομένα που επιτρέπεται να δει. Ø πολύ δύσκολά να επιτευχθεί αυτός ο στόχος με ένα πρόγραμμα εφαρμογής. • προβλήματα ακεραιότητας Ø τα δεδομένα θα πρέπει να ικανοποιούν κάποιους περιορισμούς. Ø Π.χ. κανένα υπόλοιπο λογαριασμού κάτω από 1.000. Ø
1.1 Αφαιρετική άποψη δεδομένων 1.1 Αφαιρετική άποψη δεδομένων Ο σημαντικότερος σκοπός ενός συστήματος βάσεων δεδομένων είναι να παράσχει στους χρήστες μια αφαιρετική άποψη του συστήματος. Το σύστημα κρύβει ορισμένες λεπτομέρειες για το πώς τα δεδομένα αποθηκεύονται και διατηρούνται Η πολυπλοκότητα πρέπει να κρυφτεί από τους χρήστες βάσεων δεδομένων. Γι' αυτό το σκοπό υπάρχουν διάφορα επίπεδα αφαίρεσης: (α) φυσικό επίπεδο: Ø είναι το χαμηλότερο επίπεδο αφαίρεσης. Ø περιγράφει πώς αποθηκεύονται τα δεδομένα. Π.χ. δείκτες, β-δέντρα, αποκερματισμός. Ø εδώ περιγράφονται λεπτομερώς όλες οι σύνθετες δομές χαμηλού επιπέδου. (β) εννοιολογικό επίπεδο: Ø το αμέσως υψηλότερο επίπεδο αφαίρεσης. Ø περιγράφει τι είδους δεδομένα αποθηκεύονται. Ø περιγράφει τις συσχετίσεις μεταξύ αυτών των δεδομένων. (γ) Επίπεδο άποψης: Ø το πιο υψηλό επίπεδο. Ø περιγράφει τμήματα της βάσης δεδομένων για κάθε συγκεκριμένη ομάδα χρηστών. Ø μπορεί να είναι πολλές διαφορετικές απόψεις μιας βάσης δεδομένων. Ø Π.χ. οι ταμίες σε μια τράπεζα παίρνουν μια άποψη των απολογισμών πελατών, αλλά όχι των δεδομένων μισθοδοτικών καταστάσεων.
1.1 Μοντέλα δεδομένων Ένα Μοντέλο δεδομένων επιτρέπει την απόκρυψη της φυσικής περιγραφής των δεδομένων. Ένα μοντέλο δεδομένων είναι ο φορμαλισμός που καθορίζει τον τρόπο περιγραφής των δεδομένων (τις δομές) σε ένα αφαιρετικό επίπεδο μαζί με ένα σύνολο από περιορισμούς και πράξεις για το χειρισμό αυτών των δομών. Για employees που θα είναι μία ακολουθία εγγραφών του τύπου: record name: char[30]; manager: char[30] end Ένα αφαιρετικό μοντέλο είναι μία σχέση του σχεσιακού μοντέλου: employees(name, manager) Άρα τα μοντέλα δεδομένων είναι μια συλλογή από εργαλεία για την περιγραφή δομών δεδομένων, συσχετίσεων δεδομένων, τη σημασιολογία (semantics) δεδομένων και τους περιορισμούς δεδομένων. Υπάρχουν τρεις διαφορετικές ομάδες που αντιστοιχούν στις τρεις φάσεις σχεδιασμού: 1. εννοιολογικά μοντέλα βασισμένα σε αντικείμενα. 2. λογικά μοντέλα βασισμένα σε εγγραφές. 3. φυσικά μοντέλα δεδομένων. εννοιολογικό μοντέλο εννοιολογικός σχεδιασμός εννοιολογικό σχήμα βάσης λογικό μοντέλο λογικός σχεδιασμός λογικό σχήμα βάσης φυσικό μοντέλο φυσικός σχεδιασμός φυσικό σχήμα βάσης
1.1.1 Εννοιολογικά Μοντέλα βασισμένα σε αντικείμενα 1.1.1 Εννοιολογικά Μοντέλα βασισμένα σε αντικείμενα Τα μοντέλα αυτά περιγράφουν τα δεδομένα στο εννοιολογικό επίπεδο και στα επίπεδα όψεων. Παρέχουν επίσης αρκετά εύκαμπτες δυνατότητες δόμησης και επιτρέπουν ρητά τον καθορισμό περιορισμών στα δεδομένα. Υπάρχουν πάνω από 30 τέτοια μοντέλα όπως τα: — Μοντέλο οντοτήτων-συσχετίσεων (Entity-relationship model ). — Εκτεταμένο μοντέλο οντοτήτων-συσχετίσεων (EER model ). — αντικειμενοστρεφές μοντέλο (Object-oriented model). — δυαδικό μοντέλο (Binary model). — σημασιολογικό μοντέλο δεδομένων (Semantic data model). — μοντέλο Infological (Infological model). — συναρτησιακό μοντέλο δεδομένων (Functional data model). Σε αυτό το σημείο, θα ρίξουμε μια πιο στενή ματιά στο μοντέλο οντοτήτων-συσχετίσεων (ER) και το αντικειμενοστρεφές μοντέλο.
Το μοντέλο οντοτήτων-συσχετίσεων (Entity-relationship model ) Το μοντέλο οντοτήτων-συσχετίσεων είναι βασισμένο στην αντίληψη ότι ο κάθε μικρόκοσμος που θα παρασταθεί με τη βάση δεδομένων αποτελείται από μια συλλογή από βασικά αντικείμενα τις οντότητες και συσχετίσεις μεταξύ αυτών των αντικειμένων. • μια οντότητα είναι ένα διακριτό αντικείμενο. • κάθε οντότητα περιγράφεται από ένα σύνολο από ιδιότητες (γνωρίσματα) • μια συσχέτιση είναι μία σύνδεση μεταξύ διάφορων οντοτήτων. • Το σύνολο των οντοτήτων ίδιου τύπου καλείται τύπος οντότητας και το σύνολο των συσχετίσεων ίδιου τύπου καλείται τύπος συσχέτισης. • ένα άλλο απαραίτητο στοιχείο του διαγράμματος του ER είναι οι απεικονίσεις του πλήθους των οντοτήτων οι οποίες συμμετέχουν σε κάθε συσχέτιση.
Το μοντέλο οντοτήτων-συσχετίσεων (Entity-relationship model ) Η εννοιολογική δομή μιας βάσης δεδομένων μπορεί να εκφραστεί γραφικά από ένα διάγραμμα οντοτήτων-συσχετίσεων : Ø ορθογώνια: αντιπροσωπεύουν τους τύπους οντοτήτων. Ø ελλείψεις: αντιπροσωπεύουν τις ιδιότητες. Ø ρόμβοι: αντιπροσωπεύουν τους τύπους συσχετίσεων μεταξύ των τύπων οντοτήτων. Ø γραμμές: συνδέουν τους τύπους οντοτήτων με τα γνωρίσματά τους και με τους τύπους συσχετίσεών τους.
Το αντικειμενοστρεφές μοντέλο Το αντικειμενοστρεφές μοντέλο είναι βασισμένο σε μια συλλογή αντικειμένων, όπως και το μοντέλο οντοτήτων-συσχετίσεων. • τιμές που αποθηκεύονται στις μεταβλητές στιγμιότυπων μέσα στο αντικείμενο. • αντίθετα από τα μοντέλα βασισμένα σε εγγραφές, τιμές είναι επίσης αντικείμενα. • τα αντικείμενα περιέχουν αντικείμενα σε ένα αυθαίρετα βαθύ επίπεδο εμφωλίασης. • ένα αντικείμενο περιέχει επίσης τμήματα κώδικα που ενεργούν στο ίδιο το αντικείμενο. • αυτά τα τμήματα κώδικα καλούνται μέθοδοι. • τα αντικείμενα που περιέχουν ίδιους τύπους τιμών και ίδιες μεθόδους ομαδοποιούνται σε κλάσεις. • μια κλάση μπορεί να αντιμετωπισθεί ως καθορισμός τύπου του αντικειμένου. • αναλογία: η έννοια ενός αφηρημένου τύπου δεδομένων στις γλώσσες προγραμματισμού. • ο μόνος τρόπος ένα αντικείμενο μπορεί να έχει πρόσβαση στα δεδομένα ενός άλλου αντικειμένου είναι με επίκληση της μεθόδου του άλλου αντικειμένου. • γίνεται στέλνοντας ένα μήνυμα στο άλλο αντικείμενο. • τα εσωτερικά μέρη του αντικειμένου, οι μεταβλητές στιγμιότυπων και ο κώδικας της μεθόδου, δεν είναι ορατά εξωτερικά. • το αποτέλεσμα είναι δύο επίπεδα αφαίρεσης δεδομένων.
Το αντικειμενοστρεφές μοντέλο Παραδείγματος χάριν, θεωρήστε ένα αντικείμενο που αντιπροσωπεύει έναν τραπεζικό λογαριασμό. • το αντικείμενο περιέχει ως μεταβλητές στιγμιότυπων τον αριθμό-λογαριασμού και το υπόλοιπο. • το αντικείμενο περιέχει μία μέθοδο καταβολή-τόκων που προσθέτει τους τόκους στο υπόλοιπο. • κάτω από τα περισσότερα μοντέλα δεδομένων, μία αλλαγή στο επιτόκιο συνεπάγεται αλλαγή του κώδικα στα προγράμματα εφαρμογών. • στο αντικειμενοστρεφές μοντέλο, αυτό συνεπάγεται μόνο μια αλλαγή μέσα στη μέθοδο καταβολή-τόκων. Αντίθετα από τις οντότητες στο μοντέλο οντοτήτων-συσχετίσεων, κάθε αντικείμενο έχει τη μοναδική ταυτότητά του, ανεξάρτητη από τις τιμές που περιέχει: Ø δύο αντικείμενα που περιέχουν τις ίδιες τιμές είναι ευδιάκριτα. Ø η διάκριση διατηρείται στο φυσικό επίπεδο με την ανάθεση μοναδικών προσδιοριστικών για κάθε αντικείμενο.
1.1.1 Λογικά μοντέλα βασισμένα σε εγγραφές 1.1.1 Λογικά μοντέλα βασισμένα σε εγγραφές Τα λογικά μοντέλα βασισμένα σε εγγραφές χρησιμοποιούνται για να περιγράψουν τα δεδομένα στο εννοιολογικό επίπεδο και τα επίπεδα άποψης. καθορίζουν τη γενική λογική δομή της βάσης δεδομένων και παρέχουν μια υψηλότερου επιπέδου περιγραφή της υλοποίησής της. • ονομάζονται έτσι επειδή η βάση δεδομένων είναι δομημένη σε εγγραφές διάφορων τύπων. • κάθε τύπος εγγραφής καθορίζει έναν σταθερό αριθμό πεδίων • κάθε πεδίο είναι συνήθως σταθερού μήκους τα λογικά μοντέλα βασισμένα σε εγγραφές δεν περιλαμβάνουν έναν μηχανισμό για την άμεση αντιπροσώπευση του κώδικα στη βάση δεδομένων. ξεχωριστές γλώσσες δεδομένων συνδέονται με το μοντέλο και χρησιμοποιούνται για να εκφράσουν τις ερωτήσεις και τις ενημερώσεις βάσεων δεδομένων. τα τρία ευρέως αποδεκτά μοντέλα είναι το σχεσιακό, το δικτυωτό, και το ιεραρχικό.
Το σχεσιακό μοντέλο (Relational Model) Στο σχεσιακό μοντέλο τα δεδομένα και οι συσχετίσεις αντιπροσωπεύονται από μια συλλογή από κανονικοποιημένους πίνακες (σχέσεις). Κάθε κανονικοποιημένος πίνακας π.χ. ο πίνακας με όνομα πελάτης, ή ο πίνακας με όνομα λογαριασμός έχει διάφορες στήλες με μοναδικά ονόματα.
1.1.1 Φυσικά μοντέλα δεδομένων Τα φυσικά μοντέλα δεδομένων χρησιμοποιούνται για να περιγράψουν τα δεδομένα στο χαμηλότερο επίπεδο. Υπάρχουν πολύ λίγα τέτοια μοντέλα όπως τα: • Unifying model • Frame memory.
1.4 Μετα-δεδομένα Τα μετα-δεδομένα δηλαδή δηλ. "δεδομένα για τα δεδομένα" είναι ειδικές πληροφορίες για τα δεδομένα που υπάρχουν στη βάση. 1. πώς και που αποθηκεύονται τα δεδομένα o δομές αρχείων o εγγραφές o ονόματα των αρχείων, τύποι δεδομένων o μορφή (format) των τύπων δεδομένων 2. Πληροφορίες σχετικά με την αντιστοιχία μεταξύ των διαφορετικών σχημάτων Τα μετα-δεδομένα αποθηκεύονται, στον αποκαλούμενο, κατάλογο συστήματος ή λεξικό δεδομένων. Οι κατάλογοι σε ένα σχεσιακό σύστημα αποθηκεύονται και οι ίδιοι σαν σχέσεις
1.5 Στιγμιότυπα και Σχήματα (Instances and Schemes) Οι βάσεις δεδομένων αλλάζουν με το πέρασμα του χρόνου. Για να μπορούμε να ξεχωρίζουμε τα δεδομένα της βάσης και την περιγραφή της βάσης χρησιμοποιούμε τους όρους στιγμιότυπα βάσης δεδομένων (database instance) και σχήμα βάσης δεδομένων (database schema) αντίστοιχα o Η γενική δομή της βάσης καλείται σχήμα και ορίζεται κατά τη δημιουργία της. o Ένα σχήμα βάσης δεδομένων δεν αλλάζει συχνά. o Οι πληροφορίες σε μια βάση δεδομένων σε ένα συγκεκριμένο χρονικό σημείο καλούνται στιγμιότυπα (instance) της βάσης δεδομένων. o Κάθε αλλαγή των δεδομένων δημιουργεί καινούργια στιγμιότυπα της βάσης δεδομένων. Η αναλογία των στιγμιότυπων και του σχήματος με τις έννοιες των γλωσσών προγραμματισμού είναι Ορισμοί τύπων δεδομένων σχήμα Τιμή μιας μεταβλητής στιγμιότυπο
1.6 Ανεξαρτησία και Εξάρτηση δεδομένων 1.6 Ανεξαρτησία και Εξάρτηση δεδομένων Η ανεξαρτησία δεδομένων μειώνει τη σύνδεση μεταξύ: Ø της πραγματικής οργάνωσης των δεδομένων και Ø το πώς οι χρήστες και τα προγράμματα εφαρμογών επεξεργάζονται τα δεδομένα (ή "βλέπουν" τα δεδομένα.) Γιατί; Ø Τα δεδομένα πρέπει να είναι σε θέση να αλλάξουν χωρίς απαίτηση μιας αντίστοιχης αλλαγής των προγραμμάτων εφαρμογών. Ø Διαφορετικές εφαρμογές και διαφορετικοί χρήστες χρειάζονται διαφορετικές "απόψεις" των ίδιων δεδομένων.
1.6 Ανεξαρτησία και Εξάρτηση δεδομένων 1.6 Ανεξαρτησία και Εξάρτηση δεδομένων Ακόμη και μια μικρή αλλαγή της δομής δεδομένων, π.χ. η δημιουργία ή η αλλαγή ενός πεδίου σε μια δομή εγγραφών, συνήθως απαιτεί και επιπλέον αλλαγές σε πολλά προγράμματα ή ρουτίνες. Τα προγράμματα είναι εξαρτώμενα από το ότι: Ø τα δεδομένα βρίσκονται σε ένα συγκεκριμένο μέσο αποθήκευσης. Ø τα δεδομένα έχουν ένα συγκεκριμένο format αποθήκευσης (δυαδικό, συμπιεσμένο) Ø τα πεδία έχουν κωδικοποιηθεί σύμφωνα με ορισμένους κανόνες (άνδρας = 1, γυναίκα = 2) τα αρχεία εγγραφών ταξινομούνται κατά συγκεκριμένο τρόπο κ.λπ.... ..
Ανεξαρτησία δεδομένων - πώς; Με την εισαγωγή μιας πολλαπλού-επιπέδου αρχιτεκτονικής όπου κάθε επίπεδο αντιπροσωπεύει ένα επίπεδο αφαίρεσης. Αρχιτεκτονική τριών-σχημάτων: – Το 1978 πρωτοπαρουσιάστηκε η ακόλουθη "τυποποιημένη" αρχιτεκτονική (αρχιτεκτονική ANSI/SPARC) για τις βάσεις δεδομένων. Αποτελείται από 3 επίπεδα: 1. Εσωτερικό επίπεδο 2. Εννοιολογικό επίπεδο 3. Εξωτερικό επίπεδο – Κάθε επίπεδο εισάγει ένα στρώμα αφαίρεσης και έχει ένα σχήμα που περιγράφει πώς οι αναπαραστάσεις των δομών δεδομένων πρέπει να αντιστοιχηθούν στο επόμενο χαμηλότερο επίπεδο αφαίρεσης.
Εσωτερικό σχήμα • Περιγράφει τις δομές αποθήκευσης και τα μονοπάτια πρόσβασης προς τη φυσική βάση δεδομένων. – Επίπεδο αφαίρεσης: αρχεία, αρχεία δεικτών κ.λπ. • Καθορίζεται συνήθως μέσω της γλώσσας ορισμού δεδομένων (DDL) του ΣΔΒΔ (συστήματος διαχείρισης βάσεων δεδομένων)
Εννοιολογικό σχήμα • Μια αφηρημένη περιγραφή της φυσικής βάσης δεδομένων. • Αποτελεί ένα κοινό, για όλους τους χρήστες, βασικό μοντέλο της λογικής περιγραφής της βάσης δεδομένων. • Αυτό το επίπεδο αφαίρεσης αντιστοιχεί "στον πραγματικό κόσμο": π.χ. αντικείμενα, χαρακτηριστικά αντικειμένων, συσχετίσεις μεταξύ των αντικειμένων κ.λπ. • Το σχήμα δημιουργείται με τη γλώσσα ορισμού δεδομένων σύμφωνα με ένα συγκεκριμένο μοντέλο δεδομένων.
Εξωτερικά σχήματα, ή απόψεις • Μία τυπική βάση δεδομένων έχει διάφορους χρήστες με ποικίλες ανάγκες, απαιτήσεις, προνόμια πρόσβασης κ.λπ. • Τα εξωτερικά σχήματα περιγράφουν τις διαφορετικές απόψεις της εννοιολογικής βάσης δεδομένων σε σχέση με αυτά τα δεδομένα που οι διαφορετικές ομάδες χρηστών θα ήθελαν ή έχουν την άδεια να δουν. • Μερικά ΣΔΒΔ έχουν δικιά τους γλώσσα για τους ορισμούς των απόψεων (αλλιώς χρησιμοποιείται η γλώσσα DDL).
Απόψεις (Views) - • υποθέστε ότι έχουμε έναν πίνακα υπαλλήλων: employees(name, dept, salary, address) • και θέλουμε να δώσουμε δικαιώματα σε μία ομάδα χρηστών να βλέπουν όλες τις πληροφορίες του πίνακα εκτός από αυτές του πεδίου SALARY • Αυτό πραγματοποιείται με τον καθορισμό μιας άποψης με όνομα safe-emp: create view safe-emp as select name, dept, address from employees;
παραδείγματα εντολών SQL στα τρία επίπεδα Εξωτερικό επίπεδο CREATE VIEW ATHENS_SUPPLIERS AS SELECT S_No, S_Name, S_City FROM SUPPLIERS WHERE S_City="ATHENS" CREATE VIEW ALL_SUPPLIERS AS SELECT * FROM SUPPLIERS Εννοιολογικό επίπεδο CREATE TABLE SUPPLIERS ( S_No NUMBER(4) NOT NULL, S_Name CHAR(25), S_City CHAR(20) ); Εσωτερικό επίπεδο CREATE INDEX Supplier_Name ON SUPPLIERS(S_Name); CREATE UNIQUE INDEX Supplier_No ON SUPPLIERS(S_No);
1.1 Ανεξαρτησία Δεδομένων στην αρχιτεκτονική τριων σχημάτων 1.1 Ανεξαρτησία Δεδομένων στην αρχιτεκτονική τριων σχημάτων Η δυνατότητα να τροποποιηθεί ένα σχήμα της βάσης σε ένα επίπεδο χωρίς επιρροή ενός σχήματος σε ένα πιο υψηλό επίπεδο καλείται ανεξαρτησία δεδομένων. • λογική ανεξαρτησία δεδομένων Ø η δυνατότητα να τροποποιηθεί το εννοιολογικό σχήμα (π.χ. προσθήκη ή αλλαγή ενός πεδίου) χωρίς να αναγκάσει τα προγράμματα εφαρμογών να ξαναγραφούν Ø οι τροποποιήσεις σε αυτό το επίπεδο γίνονται συνήθως όταν αλλάζει η λογική δομή της βάσης δεδομένων. • φυσική ανεξαρτησία δεδομένων Ø η δυνατότητα να τροποποιηθεί το φυσικό σχήμα (η φυσική οργάνωση της βάσης π.χ. με προσθήκη ενός μονοπατιού προσπέλασης -access path- που συνήθως ορίζεται σε ένα πεδίο του αρχείου που λέγεται πεδίο ευρετηριοποίησης -indexing field-) χωρίς να αναγκάσει τα προγράμματα εφαρμογών να ξαναγραφούν Ø τροποποιήσεις γίνονται συνήθως για να βελτιωθεί η απόδοση. Η λογική ανεξαρτησία δεδομένων είναι πιο δύσκολο να επιτύχει
Τιμή Πεδίου Ευρετηριοποίσης Δείκτης στο block της εγγραφής Ευρετήρια · Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο · Το ευρετήριο καθορίζεται σε ένα γνώρισμα του αρχείου · Συχνά αποκαλείται access path (μονοπάτι πρόσβασης) στο γνώρισμα · Μια καταχώρηση / εγγραφή στο ευρετήριο έχει την μορφή: Το αρχείο ευρετηρίου καταλαμβάνει μικρότερο χώρο από το ίδιο το αρχείο δεδομένων (οι καταχωρήσεις είναι μικρότερες και λιγότερες) Κάνοντας δυαδική αναζήτηση στο ευρετήριο βρίσκουμε τον δείκτη στο block όπου αποθηκεύεται η εγγραφή που θέλουμε
1.1 Γλώσσες Βάσεων δεδομένων 1.1 Γλώσσες Βάσεων δεδομένων (Database languages) SQL που χρησιμοποιούνται για τον ορισμό, την επικοινωνία και το χειρισμό της βάσης δεδομένων. Στις συμβατικές γλώσσες προγραμματισμού οι δηλώσεις και οι προτάσεις ενός προγράμματος υλοποιούνται σε μία και μόνη γλώσσα κάθε φορά. Από την άλλη μεριά ένα σύστημα βάσης δεδομένων χρησιμοποιεί πολλές διαφορετικές γλώσσες: – Γλώσσα ορισμού αποθήκευσης -Storage Definition Language (SDL) – Γλώσσα ορισμού δεδομένων -Data Definition Language (DDL) – Γλώσσα ορισμού απόψεων -View Definition Language (VDL) – Γλώσσα χειρισμού δεδομένων -Data Manipulation Language (DML)
Τα συστατικά μέρη ενός συστήματος διαχείρισης βάσης δεδομένων (DBMS) Τα συστατικά μέρη ενός συστήματος διαχείρισης βάσης δεδομένων (DBMS) Query processor – DML compiler – Embedded DML precompiler – DDL interpreter – Query processing unit • Storage manager – Authorization and integrity control – Transactions management – File management – Buffer management • Physical storage – data files, meta-data (data dictionary), index, statistics
ΕΝΝΟΙΕΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Σύστημα Βάσης δεδομένων- Η Δομή ενός ΣΔΒΔ ΣΔΒΔ Μηχανή Εκτέλεσης Ερωτήσεων Transaction Manager Recovery Manager File and Access Methods Buffer Manager Lock Manager Disk Space Manager ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ
ΕΝΝΟΙΕΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Application interfaces naive application sophisticated database users programmers users administrator users Application interfaces application program query database scheme Embedded DML precompiler DML compiler DDL interpreter Application programs object code Query processor Query Evaluation engine Buffer manager File manager Transaction manager storage manager Data files Indices Data dictionary Data base