Σχεσιακές Βάσεις Δεδομένων Μέρος 1ο Αρχές Βάσεων Δεδομένων Καραδήμας N., MSc Προτεινόμενα Βιβλία Connolly T. & Begg C. Database Systems A Practical Approach to Design, Implementation, and Management, 3 rd Edition, Addison Wesley. Καλύπτειόλασχεδόνταθέµατατωνσχεσιακώνβάσεωνδεδοµένων. Ryan N. & Smith D. Database Systems Engineering, International Thomson Computer Press Γενικά καλό βιβλίο, καλύπτει πολλά θέµατα. Elmarsi R. & Navathe S.B. Fundamentals of Database Systems, Benjamin/Cummings Ένα καλό εισαγωγικό βιβλίο στις βάσεις δεδοµένων. Date C.J. An Introduction to Database Systems, Addison-Wesley Η βίβλος των σχεσιακών βάσεων δεδοµένων Loomis M. Object Databases The Essentials, Addison-Wesley Καλύπτει όλα τα θέµατα αντικειµενοστραφών βάσεων δεδοµένων, χωρίς να χρειάζεται εξειδικευµένες τεχνικές γνώσεις. Post G.V. Database Management Systems, McGraw-Hill International Editions Καλύπτει πολλά θέµατα McFadden F.R. & Hoffer J.A. Modern Database Management, Benjamin/Cummings Καλύπτει πολλά θέµατα των σχεσιακών βάσεων δεδοµένων και άλλων θεµάτων. Ιανουάριος 2005 Καραδήμας Ν. 2 1
Εισαγωγή Οι Βάσεις εδοµένων αποτελούν πλέον ένα αναπόσπαστο τµήµα της καθηµερινής µας ζωής που τις περισσότερες φορές δεν γνωρίζουµε ότι τις χρησιµοποιούµε. Για παράδειγµα: Γειτονική υπεραγορά, Πιστωτική κάρτα, Τουριστικός πράκτορας, Βιβλιοθήκη, Πανεπιστήµιο, Ασφάλεια (ασφάλεια ζωής, αυτοκινήτου, σπιτιού). Ιανουάριος 2005 Καραδήμας Ν. 3 Κίνητρο για τα Συστήματα Βάσεων Δεδομένων Τα πρόωρα συστήµατα βασισµένα σε αρχεία αναπτύσσουν συχνά ένα σύνολο από προγράµµατα τα οποία εκτελούν κάποιες συγκεκριµένες υπηρεσίες για τους τελικούς χρήστες όπως η παραγωγή αναφορών. Κάθε πρόγραµµα ορίζει και χειρίζεται τα δικά του δεδοµένα. Ο χωρισµός µπορεί να ικανοποιεί την απαίτηση για ασφάλεια αλλά: Ηεµπόδισητηςδιανοµήςέχεισαναποτέλεσµατακοινάστοιχείανα αντιγράφονται συχνά σε διαφορετικά αρχεία. Ο διπλασιασµός (πλεονασµός στοιχείων) είναι µία σηµαντική πηγή προβληµάτων στα συστήµατα βασισµένα σε αρχεία. Η ασυνέπεια είναι αναπόφευκτη επειδή τα κοινά στοιχεία εισάγονται και ενηµερώνονται χωριστά. Οι αλλαγές είναι δύσκολο να συγχρονιστούν. Ούτεέναπρόγραµµαδενέχειτηνπλήρηγνώσητηςολόκληρης συλλογής των στοιχείων. Η αποσπασµατική ανάπτυξη των πληροφοριακών συστηµάτων οδηγεί στα σοβαρά προβλήµατα συντήρησης στοιχείων και συστηµάτων. Ιανουάριος 2005 Καραδήμας Ν. 4 2
Βάσεις Δεδομένων Βάση δεδοµένων είναι ένα ηλεκτρονικό σύστηµα αποθήκευσης πληροφοριών. Στόχος του συστήµατος είναι η διατήρηση των δεδοµένων και οι πληροφορίες αυτές να είναι διαθέσιµες όταν ζητηθούν. Ένα σύστηµα διαχείρισης βάσεως δεδοµένων DBMS (DataBase Management System)είναιέναλογισµικό σύστηµα όπου ελέγχει τις προσβάσεις των χρηστών σε µία βάση δεδοµένων και παρέχει τους µηχανισµούς που εξασφαλίζουν ασφάλεια και ακεραιότητα στα αποθηκευµένα δεδοµένα. Η ασφάλεια σε ένα σύστηµα DBMS πρέπει να παρέχεται ανεξάρτητα απόκάποιοκραχτουσυστήµατος (system crash), από προσπάθεια πρόσβασης χωρίς εξουσιοδότηση ή ακόµα και σε περίπτωση που οι πληροφορίες µοιράζονται σε διάφορες χρήστες πρέπει να αποφεύγονται διάφορες δυσλειτουργίες. Ιανουάριος 2005 Καραδήμας Ν. 5 Βάσεις Δεδομένων(συν.) Τα συστήµατα βάσεων δεδοµένων σχεδιάζονται για τη διαχείριση µεγάλων όγκων πληροφοριών. Η διαχείριση των πληροφοριών απαιτεί µια δοµή για την αποθήκευση των δεδοµένων. Οκάθεχρήστηςανάλογαµετοείδοςτης πρόσβασης, πουέχειστηβάσηδεδοµένων, µπορεί και να πραγµατοποιήσει διάφορες εργασίες. Ιανουάριος 2005 Καραδήμας Ν. 6 3
Σύστημα Διαχείρισης Βάσεως Δεδομένων Μία βάση δεδοµένων περιλαµβάνει τέσσερα κύριαστοιχεία:τα δεδοµένα (data), ο υλικός εξοπλισµός του Η/Υ (hardware), το λογισµικό (software), και τους χρήστες (end users). Ιανουάριος 2005 Καραδήμας Ν. 7 Δεδομένα Οι βάσεις δεδοµένων είναι διαθέσιµες για ένα εύρος από πολύ µικράµηχανήµαταωςκαιµεγάληςισχύοςυπολογιστές. Γενικά, µεγάλα µηχανήµατα τείνουν να είναι πολλών χρηστών (multi-user) ενώ µικρότερα µηχανήµατα τείνουν να είναι ενός χρήστη (single-user). Σύστηµα ενός χρήστη (Single-user system) είναι το σύστηµα στοοποίοτοπολύέναςχρήστηςµπορείναέχειπρόσβαση στη βάση δεδοµένων σε κάθε χρονική στιγµή. Σύστηµα πολλών χρηστών (multi-user system) είναι το σύστηµα στο οποίο πολλοί χρήστες ταυτόχρονα µπορούν να έχουν πρόσβαση στη βάση δεδοµένων. Ο κύριος στόχος ενός συστήµατος πολλών χρηστών είναι να επιτρέπει σε κάθε µεµονωµένο χρήστη να συµπεριφέρεται σαν να δουλεύει µε σύστηµα ενός χρήστη. Ιανουάριος 2005 Καραδήμας Ν. 8 4
Υλικός Εξοπλισμός Τα φυσικά εξαρτήµατα ενός συστήµατος αποτελούνται από: Τους αποθηκευτικούς χώρους που χρησιµοποιούνται για να αποθηκεύονται τα δεδοµένα, σε συνάρτηση µε τις συσκευές ελέγχου, εισόδου/ εξόδου, κτλ. Τονεπεξεργαστήκαιτηνµνήµηπου χρησιµοποιούνται για να υποστηρίζουν τις εντολές του λογισµικού της βάσεως δεδοµένων. Ιανουάριος 2005 Καραδήμας Ν. 9 Λογισμικό Μεταξύ της βάσης δεδοµένων και τους χρήστες υπάρχει το λογισµικό, ο διαχειριστής της βάσης (DB Manager) ή σύστηµα διαχείρισης βάσεως δεδοµένων (DBMS). Όλεςοιαπαιτήσειςτωνχρηστώνπροςτηνβάση µεταχειρίζονταιαπότο DBMS (εισαγωγή, επεξεργασία, ανανέωση, διαγραφή, εξαγωγή στοιχείων). Μια γενική εφαρµογή της DBMS είναι η θωράκιση των χρηστών από λεπτοµέρειες επιπέδου Hardware (πολλές γλώσσες προγραµµατισµού θωρακίζουν τους προγραµµατιστές από λεπτοµέρειες επιπέδου Hardware). Ιανουάριος 2005 Καραδήμας Ν. 10 5
Χρήστες Οιχρήστεςµπορούνναχωριστούνσετρεις κατηγορίες: Αρχικά είναι οι προγραµµατιστές εφαρµογών (application programmers) που είναι υπεύθυνοι για την δηµιουργία προγραµµάτων εφαρµογών που χρησιµοποιούν τη βάση δεδοµένων. Η δεύτερη κατηγορία χρηστών είναι οι τελικοί χρήστες (end users) που αλληλεπιδρούν µε το σύστηµα από τερµατικά (terminals, workstations). Ανάλογα µε την εξουσιοδότηση που έχουν µπορούν να πραγµατοποιήσουν και διαφορετικές εργασίες στην βάση. Η Τρίτη κατηγορία χρηστών είναι οι διαχειριστές της βάσης (database administrators) δεδοµένων. Ιανουάριος 2005 Καραδήμας Ν. 11 Πλεονεκτήματα του DBMS Μειώνεται η περιττή επανάληψη δεδοµένων, Αποφεύγεται η ανακολουθία δεδοµένων, ιαµοιράζονται τα δεδοµένα, Εφαρµόζονται διάφορα κριτήρια πιστοποίησης, Επιβάλλονται περιορισµοί ασφαλείας, Συντηρείται η ακεραιότητα των δεδοµένων, Εξισορροπούνται οι απαιτήσεις της επιχείρησης. Ιανουάριος 2005 Καραδήμας Ν. 12 6
Πλεονεκτήματα του DBMS Περισσότερες πληροφορίες από το ίδιο πλήθος δεδοµένων, Αυξάνειτηνπαραγωγικότητα, Αυξάνει την ταυτόχρονη επεξεργασία δεδοµένων, Οικονοµία στην κλιµάκωση, Βελτιωµένη προσπέλαση δεδοµένων και απόκριση, Αυξηµένος ταυτοχρονισµός, Βελτιωµένες υπηρεσίες αντιγράφων ασφαλείαςκαιανάκτησηςδεδοµένων. Ιανουάριος 2005 Καραδήμας Ν. 13 Μειονεκτήματα του DBMS Πολυπλοκότητα, Μέγεθος, Κόστοςτου DBMS, Συµπληρωµατικό κόστος υλικού, Κόστος µετατροπής, Απόδοση, Υψηλότερος αντίκτυπος της αποτυχίας Ιανουάριος 2005 Καραδήμας Ν. 14 7
Μοντέλα δεδομένων Ένα µοντέλο δεδοµένων είναι µία συλλογή εννοιών που µπορεί να χρησιµοποιηθεί για να περιγράψει τη δοµή µιας βάσηςδεδοµένων (τύποιστοιχείων, σχέσεις, περιορισµούς, βασικέςδιαδικασίες, κτλ.) Εννοιολογικό µοντέλο δεδοµένων είναι υψηλού επιπέδου, και περιγράφει τι αποθηκεύεται. π.χ. αντικείµενα, οντότητες, χαρακτηριστικά, σχέσεις. Μοντέλουλοποίησηςδεδοµένωνείναιέναενδιάµεσοεπίπεδο, περιγράφει πως τα δεδοµένα είναι λογικά οργανωµένα και κρύβει κάποιες λεπτοµέρειες της αποθήκευσης των δεδοµένων, π.χ. σχέσεις, σύνολα. Φυσικό µοντέλο δεδοµένων είναι ένα χαµηλού επιπέδου και περιγράφει πως τα δεδοµένα αποθηκεύονται. π.χ. µορφοποιήσειςαρχείων, κατατάξειςαρχείων, δείκτεςαρχείων. Ιανουάριος 2005 Καραδήμας Ν. 15 Σχήματα& Περιστάσεις ΈναΣχήµαείναιµίαπεριγραφήτηςβάσης δεδοµένων σε κάποιο µοντέλο δεδοµένων. Παρατήρηση: Το σχήµα καθορίζεται κατά την διάρκεια της σχεδίασης της βάσης δεδοµένων και δεν αναµένεται να αλλάζεται συχνά. Μία Περίσταση είναι µία συλλογή δεδοµένων σχετική µε ένα σχήµα. π.χ. Τύπος: Τιµή Ιανουάριος 2005 Καραδήμας Ν. 16 8
Παραδείγματα Σχημάτων& Περιστάσεων Φοιτητής (Α.Μ., Όνοµα, Ηµ.Εγγραφής, Αρ.Επιβλέποντος) Φοιτητής Α.Μ. Όνοµα Ηµ.Εγγραφής Αρ.Επιβλέποντος Σ01 Μακρόπουλος 1993 4523 Σ02 ελλής 1998 3412 Σ09 Πετρόπουλος 1995 4523 Ερ: Πόσο συχνά οι περιστάσεις αλλάζουν? Ερ: Πόσο συχνά τα σχήµατα αλλάζουν? Ιανουάριος 2005 Καραδήμας Ν. 17 Όψεις ή Εξωτερικά Σχήματα Όλοι οι χρήστες δεν πρέπει, ή δεν χρειάζεται, να έχουν πρόσβαση σε όλα τα δεδοµένα. Η όψη παρέχει ένα περιορισµένο σύνολο: Λειτουργίες, π.χ. Ο ταµίας δεν µπορεί να δώσει πίστωση Πεδία, π.χ. Ο ταµίας δεν µπορεί να δει το πιστωτικό όριο Αρχεία, π.χ. Ο ελεγκτής πιστώσεων µπορεί να βλέπει µόνο τους πελάτες µε αρνητικά υπόλοιπα Σύνολο αρχείων, π.χ. Ο ταµίας δεν µπορεί να δει τα αρχεία του προσωπικού ηµιουργία δεδοµένων, π.χ. Ηλικία από την ηµεροµηνία γέννησης. Ιανουάριος 2005 Καραδήμας Ν. 18 9
Αρχιτεκτονική του DBMS Το database σύστηµα µπορεί να χωριστεί σε τρία επίπεδα: Το φυσικό επίπεδο (physical level), το εννοιολογικό επίπεδο (conceptual level) και το επίπεδο διαφόρων όψεων (view level). Ιανουάριος 2005 Καραδήμας Ν. 19 Φυσικό Επίπεδο Το physical level είναι το χαµηλότερο επίπεδο και περιγράφει πως τα δεδοµένα είναι αποθηκευµένα (πολύπλοκες δοµές δεδοµένων περιγράφονται µε λεπτοµέρειες). Ιανουάριος 2005 Καραδήμας Ν. 20 10
Εννοιολογικό Επίπεδο Το επόµενο υψηλά επίπεδο conceptual level περιγράφει τι δεδοµένα είναι αποθηκευµένα στη βάση-δεδοµένων και τη σχέση που υπάρχει στα δεδοµένα. Εδώ ολόκληρη η βάση-δεδοµένων περιγράφεται µε ένα µικρό αριθµό από σχετικά απλών δοµών. Ανκαιηυλοποίησητωναπλώνδοµώνστο conceptual level δύναταιναπεριλαµβάνει πολύπλοκες physical level δοµές, οχρήστηςτου conceptual level δεν χρειάζεται να είναι γνώστης αυτών. Αυτό το επίπεδο χρησιµοποιείται από τους διαχειριστές, που αποφασίζουν τι πληροφορίες πρέπει να διατηρηθούν στη βάση-δεδοµένων. Ιανουάριος 2005 Καραδήμας Ν. 21 Επίπεδο Διαφόρων Όψεων Το υψηλότατο επίπεδο view level περιγράφει µόνο έναµέροςαπόολόκληρητηβάση-δεδοµένων. Παρόλοτηχρήσηαπλώνδοµώνστο conceptual level κάποια πολυπλοκότητα παραµένει λόγω του µεγάλου µεγέθους της βάσης-δεδοµένων. Πολλοί χρήστες δεν ενδιαφέρονται για όλα τα στοιχεία της βάσης-δεδοµένων, παρά µόνο για κάποιο µέρος. Για την απλοποίηση της αλληλεπίδρασής τους µε το σύστηµα ορίστηκε το view level. Το σύστηµα µπορεί να προσφέρει πολλές απόψεις για την ίδια βάση-δεδοµένων. Ιανουάριος 2005 Καραδήμας Ν. 22 11
Ανεξαρτησία δεδομένων Η δυνατότητα να παρεµβαίνουµε σε ένα επίπεδο σχήµατος χωρίς να επηρεάζεται το σχήµα σε ένα άλλο υψηλότερο επίπεδο ονοµάζεται data independence (ανεξαρτησία). Υπάρχουν δυο επίπεδα ανεξαρτησίας δεδοµένων: Physical Data Independence and Logical Data Independence. Ιανουάριος 2005 Καραδήμας Ν. 23 Φυσική Ανεξαρτησία Δεδομένων Αλλαγές στο φυσικό επίπεδο (physical) µπορούν να γίνουν χωρίς να επηρεαστεί το εννοιολογικό επίπεδο (conceptual level). Ιανουάριος 2005 Καραδήμας Ν. 24 12
Λογική Ανεξαρτησία Δεδομένων Αλλαγές στο εννοιολογικό επίπεδο (conceptual) µπορούν να γίνουν χωρίς να επηρεαστούν τα προγράµµατα ή γενικότερα το επίπεδο όψεων (view level). Ιανουάριος 2005 Καραδήμας Ν. 25 Αναλυτικά η αρχιτεκτονική ενός DBMS Αφελείς Χρήστες (Naïve users) ΧΡΗΣΤΕΣ (USERS) Προγραµµατισµός εφαρµογών (Application programmers) Έµπειροι Χρήστες (Sophisticated users) ιαχειριστής Βάσης εδοµ. (database administrator) ιασύνδεση Εφαρµογών (application interfaces) Προγράµµατα Εφαρµογών (application programs) Ερωτήµατα (queries) Σχήµα Βάσης εδοµ. (database scheme) Σύστηµα διαχείρισης Βάσης εδοµένων (database management system) Κώδικας (application programs object code) Γλώσσα Χειρισµού (data manipulation language - DML) Pre-compiler Επεξεργαστής ερωτηµάτων (query processor) Γλώσσα Ορισµού (data definition language - DDL) ιαχειριστής (database manager) ιαχειριστής αρχείων (file manager) Αρχεία δεδοµένων (data files) Λεξικό δεδοµένων (data dictionary) Αποθήκευση δίσκου (disk storage) Ιανουάριος 2005 Καραδήμας Ν. 26 13
Αναλυτικά η αρχιτεκτονική ενός DBMS(συν.) Το παραπάνω σχήµα παρουσιάζει πιο αναλυτικά την αρχιτεκτονική από ένα τυπικό database σύστηµα µε τα διάφορα µέρη που το αποτελούν και µε τις διασυνδέσεις τους. Καθώς διαχρονικά εισάγονται πληροφορίες ή διαγράφονται στη βάση δεδοµένων τα database συστήµατα είναι δυναµικά. Η συλλογή των δεδοµένων σε κάποια χρονική στιγµή ονοµάζεται instance της βάσης δεδοµένων. Ολόκληρος ο σχεδιασµόςτηςβάσηςδεδοµένωνονοµάζεται database scheme (σχήµα). Ένα database scheme ορίζεται από ένα σύνολο εντολών ή ορισµών που εκφράζονται από τη γλώσσα ορισµού δεδοµένων (DDL - data definition language). Οι DDL εντολές µεταγλωττίζονται (compiled) σε ένα σύνολο πινάκων που είναι αποθηκευµένοι σε ένα ειδικό αρχείο το οποίο ονοµάζεται data dictionary και περιέχει metadata (δεδοµένα γύρω από δεδοµένα). Ιανουάριος 2005 Καραδήμας Ν. 27 Αναλυτικά η αρχιτεκτονική ενός DBMS(συν.) Ηγλώσσαχειρισµούδεδοµένων (DML - data manipulation language) είναι ένα σύνολο εντολών που επιτρέπει στον χρήστη να έχει πρόσβαση στα δεδοµένα µε λειτουργίες αναζήτησης, εισαγωγής, διαγραφής και τροποποιήσεων. Βασικάείναιδυοειδών: procedural DML, πουαπαιτούν από τον χρήστη να προδιαγράφει τι δεδοµένα χρειάζεται και πως να τα αποκτήσει, και non-procedural DML, που απαιτούν από τον χρήστη να προδιαγράψει τι δεδοµένα χρειάζεται χωρίς όµως να λεει πως θα αποκτηθούν. Ο database manager είναι ένα πρόγραµµα που προσφέρει τη διασύνδεση µεταξύ των δεδοµένων που βρίσκονται στα χαµηλά επίπεδα της βάσης και των προγραµµάτων εφαρµογών και ερωτηµάτων που υποβάλλονται στο σύστηµα. Ο database manager είναι υπεύθυνος για τηναλληλεπίδρασηµετον file manager, γιατηνακεραιότητα, ασφάλεια, backup και recovery (ανάκτηση) των δεδοµένων και για τον έλεγχο των συνεργασιών όλων των τµηµάτων του database συστήµατος. Ο file managerείναιέναπρόγραµµαδιαχείρισηςτηςκατανοµήςτου disk storage (δίσκου αποθήκευσης δεδοµένων) και των δοµών των δεδοµένων που αντιπροσωπεύουν πληροφορίες αποθηκευµένες στο δίσκο. Ιανουάριος 2005 Καραδήμας Ν. 28 14
Αναλυτικά η αρχιτεκτονική ενός DBMS(συν.) Ο query processor (επεξεργαστής ερωτηµάτων) µεταφράζει τους ορισµούς της γλώσσας ερωτηµάτων σε εντολές χαµηλού επιπέδου που καταλαβαίνει ο database manager. Επίσης, προσπαθεί να µετασχηµατίσει τα ερωτήµατα του χρήστη σε έναν ανάλογο αλλά περισσότερο αποτελεσµατικό τρόπο, έτσι ανευρίσκοντας κάποια καλή στρατηγική για να εκτελέσει τα ερωτήµατα. Οι naive users αλληλεπιδρούν µε το database σύστηµα επικαλώντας ένα από τα προγράµµατα εφαρµογών που έχουν ήδη αναπτυχθεί. Πχ., ο υπάλληλος που θέλει να µεταφέρει $5000 από τον λογαριασµό Α στον λογαριασµό Β θα επικαλεσθεί το πρόγραµµα transfer. Αυτό το πρόγραµµα θα ρωτήσει τον υπάλληλο για το ποσό χρηµάτων προς µεταφορά, τον λογαριασµό απ' όπου θα µεταφερθούν τα χρήµατα και τον λογαριασµό στον οποίο θα τοποθετηθούν. Οι sophisticated users αλληλεπιδρούν µε το σύστηµα χωρίς να γράφουν προγράµµατα (κώδικα) αλλά σχεδιάζουν τις εντολές τους σε µορφή ερωτηµάτων που επεξεργάζονται από τον query processor. Οι application programmers αλληλεπιδρούν µε το σύστηµα µε εντολές DML που είναι ενσωµατωµένες σε προγράµµατα εφαρµογών γραµµένα για παράδειγµα σε Cobol, Pascal, C, κλπ. Ιανουάριος 2005 Καραδήμας Ν. 29 Προ-σχεσιακό DBMS Ιεραρχικό DBMS IBM IMS είναι το πιο ευρέως χρησιµοποιούµενο παράδειγµα Τα δεδοµένα αποθηκεύονται σαν δέντρα (trees) Καλόγιασχέσεις 1:n Φτωχόγιασχέσεις m:n Γρήγορο-όταν η πρόσβαση γίνεται από την κορυφή Ξεπερνά προβλήµατα µε πολύπλοκα συστήµατα εικονικών αρχείων και δεικτών ύσκολονααναζητήσεικανείςστοιχείαστηβάσηήστη µέση της ιεραρχίας Ιανουάριος 2005 Καραδήμας Ν. 30 15
Προ-σχεσιακό DBMS Δικτυακό DBMS Το IDS είναι το πιο ευρέως χρησιµοποιούµενο παράδειγµα Αναπτύχθηκε από την CODASYL αναφορά, οπότε αρχικά χρησιµοποιήθηκε για COBOLεφαρµογές Καλύτερο για σχέσεις m:n Τα δεδοµένα αποθηκεύονται σαν αρχεία και σύνολα Λύνει το πρόβληµα αναζήτησης, αλλά το κόστος είναι µεγάλο Ιανουάριος 2005 Καραδήμας Ν. 31 Μοντέλα Βάσεων Δεδομένων Name Street City Customer Σχήµα1: Entity - Relationship Σχήµα2: Network database Cust. Acc Account Number Balance Σχήµα3: Hierarchical database Lowery Maple Queen Shiver North Bronx Hodges Sidehill Brooklyn 900 55 556 100 000 647 105 366 801 10 533 Lowery Maple Queen 900 55 Ιανουάριος 2005 Καραδήμας Ν. 32 16
Μοντέλα Βάσεων Δεδομένων(συνέχεια) Ταεπικρατέστεραµοντέλαβάσεωνδεδοµένων (database models) είναι το σχεσιακό µοντέλο, το ιεραρχικό µοντέλο και το δικτυακό µοντέλο. Τα δύο τελευταία µοντέλα δεν χρησιµοποιούνταιτώρατελευταία. Στο σχεσιακό µοντέλο (relational) τα δεδοµένα και οι σχέσεις µεταξύ τους παρουσιάζονται µε µια συλλογή από πίνακες. Ο κάθε πίνακας έχει στήλες ή πεδία µε µοναδικά ονόµατα (Σχήµα 1). Στο δικτυακό µοντέλο (network) τα δεδοµένα παρουσιάζονται σαν µια συλλογή από records και οι σχέσεις στα δεδοµένα παρουσιάζονται µε links ή µε συνδέσµους τύπου δεικτών (pointers). Τα records οργανώνονται σε graphs (Σχήµα 2). Το ιεραρχικό µοντέλο (hierarchical) είναι παρόµοιο µε το δικτυακόστοότιταδεδοµένακαιοισχέσειςτους παρουσιάζονται µε records και links. ιαφέρουν στο ότι η οργάνωσή τους γίνεται µε trees (Σχήµα 3). Ιανουάριος 2005 Καραδήμας Ν. 33 Προ-Σχεσιακό vs. Σχεσιακό DBMS Ιεραρχικό και Δικτυακό DBMS Είναι αποδοτικά Μοντελοποιούν κάποια δεδοµένα Υπάρχουν ακόµα σε κληροδοτηµένα συστήµατα Ελλείψεις: Καθαρά, απλά µαθηµατικά µοντέλα ηλωτική γλώσσα ερωτηµάτων Ιανουάριος 2005 Καραδήμας Ν. 34 17
Evolving Database Technology Technology 1960s to 1970s mid-1970s mid-1980s mid-1980s mid-1990s mid-1990s onwards Data Model Network Hierarchical Relational Entity- Relational Knowledgebased Objectrelational Objectoriented Database Language Procedural Embedded Query Langs Standard SQL 4GLs Integrated Db Prog. Langs Processing Transactionprocessing Dataprocessing Multiprocessor -transactions Distributed, and long transactions DBMS Network Hierarchical Relational Better Relational Multimedia Spatial/ Temporal Ιανουάριος 2005 Καραδήμας Ν. 35 Technology Evolving Database-Related Technology 1960s to 1970s mid-1970s mid-1980s mid-1980s mid-1990s mid-1990s onwards Hardware Mainframes Mainframes, mini-comps, PCs Faster PCs Workstations Multi-processors Optical devices Network None Local Area Networks Wide Area Networks Internet High-speed Nets. User- Interface None Windows Graphics Query-byforms Querylanguages Data-entry forms Multimedia Natural Language Speech input Freehand input Ιανουάριος 2005 Καραδήμας Ν. 36 18
Evolving Database Applications Technology 1960s to 1970s mid-1970s mid-1980s mid-1980s mid-1990s mid-1990s onwards Typical Applications Business data processing Management Information System (MIS) Data Warehousing Computeraided design (CAD) Human Genome Project Web indexing Ιανουάριος 2005 Καραδήμας Ν. 37 19