Σχεσιακές Βάσεις Δεδομένων

Σχετικά έγγραφα
Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Αρχεία και Βάσεις Δεδομένων

ΗΥ 360 Αρχεία και Βάσεις Δεδομένων

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Αυτοματοποιημένη χαρτογραφία

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Επισκόπηση Μαθήµατος

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΓΕΩΠΛΗΡΟΦΟΡΙΚΗ. και ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ

Εισαγωγή-Ορισµοί Ε ΟΜΕΝΑ (DATA) Γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα ΒΑΣΗ Ε ΟΜΕΝΩΝ (DATABASE) Μία ΟΛΟΚΛΗΡΩΜΕΝΗ συλλογή εδοµ

Εισαγωγή στις βασικές έννοιες των Βάσεων εδοµένων

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Δεδομένα και Πληροφορίες

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στις Βάσεις Δεδομζνων II

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων (Databases)

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

Information Technology for Business

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγή. web σελίδα Βάσεις εδοµένων Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Εισαγωγή. Βάσεις Δεδομένων : Εισαγωγή 1

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

Εισαγωγή στα Συστήματα Βάσεων εδομένων

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Διαχείριση Πολιτισμικών Δεδομένων

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Βάσεις Δεδομένων Ενότητα 3

Διαχείριση Δεδομένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Βάσεις δεδομένων και Microsoft Access

Εισαγωγή. Καλή Ακαδημαϊκή Χρονιά! Τι θα δούμε σήμερα: Τα βασικά Την ιστορία (μέλλον) Μια γρήγορη ματιά στο τι θα δούμε στο μάθημα

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

Βάσεις Δεδομένων Εισαγωγή

(1 ο μάθημα)

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

Βάσεις εδομένων ΘΕΜΑ ΕΡΓΑΣΙΑΣ. Μέρμηγκας Αλέξανδρος Α.Μ ιαχείρηση Πληροφοριακών Συστηματών

Βάσεις δεδομένων. Π. Φιτσιλής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Εισαγωγή στην Πληροφορική

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Δίαυλος Διαφάνεια 2-1

Διάλεξη 01: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εισαγωγή στην πληροφορική

Στόχοι και αντικείμενο ενότητας

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 7 : Βάσεις Δεδομένων (1/2) Δρ.

Βάσεις Δεδομένων (Database)

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης ΜΟΝΤΕΛΑ ΔΕΔΟΜΕΝΩΝ

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο

Ανάκτηση Πληροφορίας (Information Retrieval IR)

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 1 ο Μάθημα: Εισαγωγή. Δρ. Κωνσταντίνος Χ. Γιωτόπουλος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Σημειώσεις διάλεξης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Information Technology for Business

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

Σχεδιασμός Αρχείων και Βάσεων Δεδομένων

ΥΠΟΔΟΧΗ ΠΡΩΤΟΕΤΩΝ ΦΟΙΤΗΤΩΝ Παρουσίαση του Τµήµατος

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΛΟΓΙΣΜΙΚΟ (software)

Πληροφοριακά Συστήµατα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Σχεδίαση Σχεσιακών ΒΔ

Βάσεις Δεδομένων (Databases)

Εισαγωγή. Βάσεις εδομένων

Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Λίγα λόγια από το συγγραφέα Βάσεις δεδομένων και Microsoft Access Microsoft Access... 22

Transcript:

Σχεσιακές Βάσεις Δεδομένων Μέρος 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