1 ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ... 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

Μοντέλο Οντοτήτων-Συσχετίσεων

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

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

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

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

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

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1

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

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

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

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

Μοντέλο Οντοτήτων-Συσχετίσεων

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

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

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

Η ΕΝΝΟΙΑ ΤΟΥ Ε ΟΜΕΝΟΥ ΚΑΙ ΤΟΥ ΤΥΠΟΥ Ε ΟΜΕΝΩΝ

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

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

Certified Data Base Designer (CDBD)

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

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

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

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

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

Query-by-Example (QBE)

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

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

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

Α. Ερωτήσεις Ανάπτυξης

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Εισαγωγή. Σχεδιασµός µιας Β

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

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

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

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

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

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

Σχεδιασµός µιας Β. Ένας απλός τρόπος αναπαράστασης δεδοµένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσµατα

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

Επιµέλεια Θοδωρής Πιερράτος

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Ένα σύστηµα διαχείρισης(ηλεκτρονικών και πιστωτικών) καρτών µιας τράπεζας.

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Transcript:

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ... 6 1.1 ΕΙΣΑΓΩΓΗ... 6 1.2 ΙΣΤΟΡΙΑ- ΕΞΕΛΙΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 7 1.3 ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ... 8 1.3.1 Βάση εδοµένων... 9 1.3.2 Συστήµατα διαχείρισης βάσεων δεδοµένων... 9 1.3.3 Σύστηµα Βάσης δεδοµένων... 10 1.4 Ε ΟΜΕΝΑ... 12 1.5 ΠΑΡΑ ΕΙΓΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 14 1.6 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 15 1.7 ΣΧΕΣΙΑΚΑ ΚΑΙ ΜΗ ΣΧΕΣΙΑΚΑ ΣΥΣΤΗΜΑΤΑ... 16 2 ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 20 2.1 ΑΦΑΙΡΕΤΙΚΗ ΑΠΟΨΗ Ε ΟΜΕΝΩΝ... 20 2.2 ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ, ΣΧΗΜΑΤΑ ΚΑΙ ΣΤΙΓΜΙΟΤΥΠΑ... 21 2.2.1 Κατηγορίες Μοντέλων εδοµένων... 22 2.2.2 Σχήµατα, Στιγµιότυπα και Κατάσταση της Βάσης εδοµένων... 23 2.3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 26 2.4 ΤΟ ΕΞΩΤΕΡΙΚΟ ΕΠΙΠΕ Ο... 27 2.5 ΤΟ ΕΝΝΟΙΟΛΟΓΙΚΟ ΕΠΙΠΕ Ο... 28 2.6 ΤΟ ΕΣΩΤΕΡΙΚΟ ΕΠΙΠΕ Ο... 29 2.7 ΑΝΕΞΑΡΤΗΣΙΑ Ε ΟΜΕΝΩΝ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΡΙΩΝ ΣΧΗΜΑΤΩΝ... 29 2.8 ΜΕΤΑ- Ε ΟΜΕΝΑ... 31 2.9 ΕΥΡΕΤΗΡΙΑ... 31 2.10 ΓΛΩΣΣΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 32 2.11 Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ (DDL)... 33 2.12 ΓΛΩΣΣΑ ΧΕΙΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ (DML)... 34 3 ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ-ΣΥΣΧΕΤΙΣΕΩΝ... 36 3.1 ΕΙΣΑΓΩΓΗ... 36 3.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΣΥΜΒΟΛΙΣΜΟΙ... 37 3.3 ΓΝΩΡΙΣΜΑΤΑ... 39 3.4 ΤΥΠΟΙ ΣΥΣΧΕΤΙΣΕΩΝ... 42 3.5 ΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΣΤΟ ΜΟΝΤΕΛΟ E-R.... 43 3.5.1 Βαθµός τύπου συσχετίσεων (relationship degree)... 43 3.5.2 Περιορισµός Συµµετοχής και Εξαρτήσεις Ύπαρξης.... 43 3.5.3 Λόγος πληθικότητας (cardinality)... 44 3.5.4 ΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ: Γνωρίσµατα... 45 3.6 ΓΝΩΡΙΣΜΑΤΑ ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ... 46 3.7 ΜΗ ΙΣΧΥΡΟΙ ΤΥΠΟΙ ΟΝΤΟΤΗΤΩΝ... 47 3.8 ΕΙ ΙΚΑ ΘΕΜΑΤΑ ΣΤΟ ΜΟΝΤΕΛΟ E-R... 48 3.8.1 Η Έννοια της Γενίκευσης... 48 3.8.2 Η Έννοια της Συσσώρευσης... 48 4 ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ... 50 4.1 ΕΙΣΑΓΩΓΗ... 50 5 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ... 52

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 5.1 ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΕ ΜΙΑ ΜΑΤΙΑ... 52 5.2 ΟΡΟΛΟΓΙΑ ΤΟΥ ΣΧΕΣΙΑΚΟΥ ΜΟΝΤΕΛΟΥ... 55 5.3 ΦΟΡΜΑΛΙΣΜΟΣ ΤΟΥ ΣΧΕΣΙΑΚΟΥ ΜΟΝΤΕΛΟΥ... 56 5.4 ΠΕ ΙΑ ΟΡΙΣΜΟΥ... 57 5.5 ΣΧΕΣΕΙΣ ΚΑΙ ΤΙΜΕΣ ΣΧΕΣΕΩΝ... 57 5.6 Ι ΙΟΤΗΤΕΣ ΤΩΝ ΣΧΕΣΕΩΝ... 58 5.7 ΕΙ Η ΣΧΕΣΕΩΝ... 59 5.8 ΟΜΙΚΟΙ ΠΕΡΙΟΡΙΣΜΟΙ ΣΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ... 60 5.8.1 Περιορισµοί Κλειδιών... 60 5.8.2 Κανόνες ξένων κλειδιών - ακεραιότητα αναφορών... 61 5.8.3 Null... 62 5.8.4 Κλειδιά και null- ακεραιότητα οντότητας... 63 5.8.5 Ρητοί περιορισµοί... 64 5.9 ΜΕΤΑΤΡΟΠΗ ΙΑΓΡΑΜΜΑΤΟΣ E-R ΣΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ... 65 5.9.1 Μετατροπή Τύπων Οντοτήτων... 65 5.9.2 Μετατροπή Τύπων Συσχετίσεων... 65 5.9.3 Γνωρίσµατα... 66 6 ΘΕΩΡΙΑ ΚΑΝΟΝΙΚΟΠΟΙΗΣΗΣ... 68 6.1 ΕΙΣΑΓΩΓΗ... 68 6.2 ΣΥΝΑΡΤΗΣΙΑΚΕΣ ΕΞΑΡΤΗΣΕΙΣ... 68 6.3 ΚΛΕΙ ΙΑ ΚΑΙ ΜΟΝΑ ΙΚΟΤΗΤΑ... 69 6.4 ΠΡΟΒΛΗΜΑΤΑ ΤΡΟΠΟΠΟΙΗΣΕΩΝ... 69 6.5 ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ-ΚΑΝΟΝΙΚΕΣ ΜΟΡΦΕΣ... 70 6.5.1 Πρώτη κανονική µορφή (1NF)... 70 6.5.2 εύτερη κανονική µορφή (2NF)... 71 6.5.3 Τρίτη κανονική µορφή (3NF)... 72 7 ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ... 74 7.1 ΠΡΩΤΟΤΥΠΗ ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ... 74 7.2 ΣΥΝΟΨΗ ΤΩΝ ΟΚΤΩ ΚΥΡΙΟΤΕΡΩΝ ΠΡΑΞΕΩΝ:... 76 7.3 ΟΙ ΠΡΩΤΟΓΕΝΕΙΣ ΤΕΛΕΣΤΕΣ... 77 7.4 ΚΛΕΙΣΤΟΤΗΤΑ... 77 7.5 ΠΡΟΤΕΡΑΙΟΤΗΤΑ ΤΩΝ ΤΕΛΕΣΤΩΝ... 78 7.6 ΣΧΕΣΙΑΚΗ ΆΛΓΕΒΡΑ - ΠΡΑΞΕΙΣ... 78 7.7 ΤΕΛΕΣΤΗΣ ΠΡΟΒΟΛΗΣ... 79 7.8 ΤΕΛΕΣΤΗΣ ΕΠΙΛΟΓΗΣ... 80 7.9 ΤΕΛΕΣΤΗΣ ΚΑΡΤΕΣΙΑΝΟΥ ΓΙΝΟΜΕΝΟΥ... 81 7.10 ΤΕΛΕΣΤΗΣ ΜΕΤΟΝΟΜΑΣΙΑΣ... 82 7.11 ΤΕΛΕΣΤΗΣ ΈΝΩΣΗΣ... 84 7.12 ΤΕΛΕΣΤΗΣ ΙΑΦΟΡΑΣ ΣΥΝΟΛΩΝ... 85 7.13 ΣΥΝΘΕΣΗ ΤΩΝ ΤΕΛΕΣΤΩΝ... 87 7.14 ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΡΩΤΗΣΕΩΝ ΣΧΕΣΙΑΚΗΣ ΑΛΓΕΒΡΑΣ... 88 7.15 ΕΠΙΣΗΜΟΣ ΟΡΙΣΜΟΣ ΤΗΣ ΚΛΕΙΣΤΟΤΗΤΑΣ ΤΩΝ ΒΑΣΙΚΩΝ ΠΡΑΞΕΩΝ... 90 7.16 ΕΠΙΠΡΟΣΘΕΤΟΙ ΤΕΛΕΣΤΕΣ ΠΡΑΞΕΩΝ... 91 7.17 ΤΕΛΕΣΤΗΣ ΤΟΜΗΣ ΣΥΝΟΛΩΝ... 91 7.18 ΤΕΛΕΣΤΗΣ (ΦΥΣΙΚΗΣ) ΣΥΝΕΝΩΣΗΣ... 92 7.19 ΤΕΛΕΣΤΗΣ ΙΑΙΡΕΣΗΣ... 94 7.20 ΤΕΛΕΣΤΗΣ ΑΝΑΘΕΣΗΣ... 95 7.21 ΓΕΝΙΚΕΥΜΕΝΗ ΠΡΟΒΟΛΗ... 96 7.22 ΣΥΝΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ... 97 7.23 ΕΞΩΤΕΡΙΚΗ ΣΥΝΕΝΩΣΗ (ΣΥΖΕΥΞΗ)... 100 7.24 NULL ΤΙΜΕΣ... 102 7.25 Η ΛΟΓΙΚΗ ΤΡΙΩΝ ΤΙΜΩΝ (TRUE-UNKNOWN-FALSE)... 102 7.26 ΤΡΟΠΟΠΟΙΗΣΗ ΤΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ... 103 Σελ. 2

1.1 Εισαγωγή 7.26.1 ιαγραφή (deletion)... 103 7.26.2 Εισαγωγή (insertion)... 103 7.26.3 Τροποποίηση (updating)... 104 8 Η ΓΛΩΣΣΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ SQL... 105 8.1 ΕΙΣΑΓΩΓΗ... 105 8.2 ΒΑΣΙΚΗ ΣΥΝΤΑΞΗ ΓΛΩΣΣΑΣ ΧΕΙΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ (ΕΡΩΤΗΣΕΩΝ)... 108 8.2.1 Βασική οµή... 108 8.2.2 Η Πρόταση SELECT -βασική δοµή... 111 8.2.3 Η Πρόταση SELECT DISTINCT -απαλοιφή διπλοτύπων... 111 8.2.4 Η Πρόταση SELECT - αριθµητικές εκφράσεις... 112 8.2.5 Η Πρόταση where... 113 8.2.6 Η Πρόταση where -τελεστής between.. and..... 113 8.2.7 Η Πρόταση from... 114 8.2.8 Πράξεις µε Συµβολοσειρές (αλφαριθµητικά)... 116 8.2.9 ιάταξη των Πλειάδων- order by... 116 8.2.10 Η Πράξη της Μετονοµασίας... 117 8.2.11 Μεταβλητές Πλειάδων... 118 8.2.12 Συνολοθεωρητικές Πράξεις και Τελεστές Συνόλων... 119 8.2.13 Null Τιµές... 120 8.2.14 Τιµές Null και η Λογική Τριών Τιµών... 121 8.2.15 Τιµές Null και συναθροιστικές συναρτήσεις... 121 8.2.16 Συναθροιστικές Συναρτήσεις... 121 8.2.17 Συναθροιστικές Συναρτήσεις-Οµαδοποίηση (group by)... 123 8.2.18 Συναθροιστικές Συναρτήσεις Πρόταση having... 124 8.2.19 Εµφωλιασµένα Υποερωτήµατα... 127 8.2.20 Εµφωλιασµένα Υποερωτήµατα - τελεστής in (not in)... 128 8.2.21 Εµφωλιασµένα Υποερωτήµατα - τελεστής some (any)... 130 8.2.22 Εµφωλιασµένα Υποερωτήµατα - τελεστής all... 131 8.2.23 Εµφωλιασµένα Υποερωτήµατα - τελεστής exists (not exists)... 133 8.2.24 Εµφωλιασµένες Υποερωτήσεις - τελεστής unique (not unique)... 136 8.2.25 Συνενώσεις Συνόλων... 138 8.2.26 Παραγόµενες Σχέσεις... 139 8.3 ΒΑΣΙΚΗ ΣΥΝΤΑΞΗ ΓΛΩΣΣΑΣ ΧΕΙΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ... 141 8.3.1 Τύποι Πεδίων Ορισµού στην SQL... 141 8.3.2 Ορισµός Σχήµατος... 142 8.3.3 Περιορισµοί Ακεραιότητας αναφορών... 143 8.3.4 Περιορισµοί Ακεραιότητας Πεδίου ορισµού... 144 8.3.5 ιαγραφή Σχήµατος... 146 8.3.6 Τροποποίηση Σχήµατος... 146 8.4 ΤΡΟΠΟΠΟΙΗΣΗ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΓΛΩΣΣΑ ΧΕΙΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ (ΓX )... 147 8.4.1 Εισαγωγή... 147 8.4.2 ιαγραφή... 148 8.4.3 Ενηµερώσεις... 149 9 ΣΥΝΑΛΛΑΓΕΣ... 151 9.1 ΠΡΑΞΕΙΣ ΣΥΝΑΛΛΑΓΩΝ... 152 9.2 ΟΙ Ι ΙΟΤΗΤΕΣ ACID ΜΙΑΣ ΣΥΝΑΛΛΑΓΗΣ... 154 9.3 ΟΡΙΣΜΟΣ ΣΥΝΑΛΛΑΓΗΣ... 155 9.4 ΧΡΟΝΟΠΡΟΓΡΑΜΜΑ... 155 9.5 ΣΥΓΚΡΟΥΣΗ ΠΡΑΞΕΩΝ ΣΕ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑ... 157 9.6 ΠΛΗΡΕΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑ... 157 9.7 ΣΕΙΡΙΑΚΑ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΑ... 158 9.7.1 Ισοδύναµα Χρονοπρογράµµατα :... 158 9.7.2 Σειριοποιήσιµο Χρονοπρόγραµµα... 159 Σελ. 3

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 9.8 ΙΣΟ ΥΝΑΜΑ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΑ ΒΑΣΕΙ ΣΥΓΚΡΟΥΣΕΩΝ... 159 9.8.1 Σειριοποιησιµότητα βάσει Συγκρούσεων:... 159 9.8.2 Σειριοποιησιµότητα Βάσει Όψεων... 160 10 ΑΝΑΚΑΜΨΗ... 161 10.1 ΕΙ Η ΑΠΟΤΥΧΙΩΝ... 161 10.2 ΣΗΜΕΙΟ ΕΛΕΓΧΟΥ... 162 10.3 ΕΠΙΚΥΡΩΣΗ ΥΟ ΦΑΣΕΩΝ... 164 10.4 ΥΠΟΣΤΗΡΙΞΗ ΑΠΟ ΤΗΝ SQL... 164 11 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ... 166 11.1 ΧΑΜΕΝΗ ΕΝΗΜΕΡΩΣΗ... 168 11.2 ΕΞΑΡΤΗΣΗ ΑΠΟ ΑΝΕΠΙΚΥΡΩΤΗ ΜΕΤΑΒΟΛΗ... 168 11.3 ΑΣΥΝΕΠΗΣ ΑΝΑΛΥΣΗ... 169 11.4 ΤΕΧΝΙΚΗ ΕΛΕΓΧΟΥ ΚΛΕΙ ΩΜΑ (LOCKING)... 170 11.5 ΜΗΤΡΩΟ ΣΥΜΒΑΤΟΤΗΤΑΣ (COMPATIBILITY MATRIX)... 171 11.6 ΠΡΩΤΟΚΟΛΛΟ ΠΡΟΣΠΕΛΑΣΗΣ Ε ΟΜΕΝΩΝ (DATA ACCESS PROTOCOL)... 172 11.7 Α ΙΕΞΟ Ο (DEADLOCK)... 172 11.7.1 Το πρόβληµα της χαµένης ενηµέρωσης... 173 11.7.2 Το πρόβληµα Εξάρτησης από Ανεπικύρωτη Μεταβολή... 173 11.7.3 Το πρόβληµα Ασυνεπούς Ανάλυσης... 174 11.7.4 Γενικό Παράδειγµα Αδιεξόδου... 175 11.7.5 Χρονοσήµο οσοληψίας... 175 11.7.6 Επιφυλακτική αναµονή... 176 11.8 ΣΕΙΡΟΠΟΙΗΣΙΜΟΤΗΤΑ (SERIALIABILITY)... 177 11.9 ΠΡΩΤΟΚΟΛΛΟ ΚΛΕΙ ΩΜΑΤΟΣ ΥΟ ΦΑΣΕΩΝ... 177 11.10 ΠΡΟΤΙΘΕΜΕΝΟ ΚΛΕΙ ΩΜΑ... 178 12 ΑΣΦΑΛΕΙΑ... 179 12.1 ΕΙΣΑΓΩΓΗ... 179 12.2 ΠΡΟΒΛΗΜΑΤΑ... 179 12.3 ΠΟΛΙΤΙΚΗ ΑΣΦΑΛΕΙΑΣ... 180 12.4 ΜΗΧΑΝΙΣΜΟΣ ΑΣΦΑΛΕΙΑΣ... 181 12.5 Ο ΙΑΧΕΙΡΙΣΤΗΣ Β... 181 12.6 ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΠΕΛΑΣΗΣ, ΛΟΓΑΡΙΑΣΜΟΙ ΧΡΗΣΤΩΝ ΚΑΙ ΕΠΙΘΕΩΡΗΣΕΙΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ.... 183 12.7 ΊΧΝΗ ΕΛΕΓΧΟΥ... 184 12.8 ΕΠΙΛΕΚΤΙΚΟΣ Η ΠΕΡΙΠΤΩΣΙΑΚΟΣ ΈΛΕΓΧΟΣ ΠΡΟΣΠΕΛΑΣΗΣ... 185 12.8.1 Επιλεκτικός ή Περιπτωσιακός Έλεγχος Προσπέλασης βάσει Όψεων... 185 12.8.2 Μοντέλο Πίνακα Προσπέλασης (Access Matrix Model)... 185 12.8.3 Η εντολή GRANT... 186 12.8.4 Η εντολή REVOKE... 187 12.8.5 Παραδείγµατα... 187 12.8.6 Επιλεκτικός Έλεγχος Προσπέλασης στις Όψεις... 188 12.8.7 SECURITY RULE... 188 12.9 ΥΠΟΧΡΕΩΤΙΚΟΣ Η ΚΑΝΟΝΙΣΤΙΚΟΣ ΈΛΕΓΧΟΣ ΠΡΟΣΠΕΛΑΣΗΣ... 189 12.9.1 Κλάσεις Ασφάλειας... 189 12.9.2 Παράδειγµα Α... 190 12.9.3 Παράδειγµα Β... 191 13 ΚΡΥΠΤΟΓΡΑΦΗΣΗ... 192 13.1 ΑΠΛΟΣ ΜΗΧΑΝΙΣΜΟΣ ΚΡΥΠΤΟΓΡΑΦΗΣΗΣ... 192 13.2 ΤΟ ΠΡΟΤΥΠΟ DES (DATA ENCRYPTION STANDARD)... 193 13.3 ΚΡΥΠΤΟΓΡΑΦΗΣΗ ΜΕ ΗΜΟΣΙΟ ΚΛΕΙ Ι... 194 13.4 MΗΧΑΝΙΣΜΟΣ RSA... 195 Σελ. 4

1.1 Εισαγωγή 13.4.1 Λειτουργία RSA... 195 13.4.2 Παράδειγµα RSA... 196 13.4.3 Παράδειγµα Αποφυγής Πλαστογράφησης... 197 14 ΣΥΓΧΡΟΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 198 14.1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΈΝΝΟΙΕΣ ΤΩΝ ΧΩΡΙΚΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ... 198 14.1.1 Κατηγορίες Τυπικών Χωρικών Επερωτήσεων... 199 14.2 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΈΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΠΟΛΥΜΕΣΩΝ... 200 14.2.1 Εικόνας... 201 14.2.2 Βίντεο... 202 14.2.3 Κειµένου... 202 14.2.4 Ήχου... 203 14.3 ΓΕΩΓΡΑΦΙΚΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ... 203 14.3.1 Εφαρµογές ΓΣΠ... 204 14.3.2 Απαιτήσεις ιαχείρισης εδοµένων από τα ΓΣΠ... 205 14.3.3 Συγκεκριµένες Πράξεις σε εδοµένα ΓΣΠ... 207 14.3.4 Άλλη Λειτουργικότητα των Βάσεων εδοµένων.... 208 Σελ. 5

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1 ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1.1 ΕΙΣΑΓΩΓΗ Οι βάσεις δεδοµένων και τα συστήµατα των βάσεων δεδοµένων αποτελούν ένα σηµαντικό στοιχείο της καθηµερινής ζωής στη σύγχρονη κοινωνία. Για παράδειγµα, αν πάµε στην τράπεζα για κατάθεση η ανάληψη χρηµάτων, αν κάνουµε κράτηση ξενοδοχείου η αεροπορικού ταξιδιού, αν ψάχνουµε βιβλιογραφικά στοιχεία από έναν κατάλογο βιβλιοθήκης η αν παραγγέλνουµε µια συνδροµή περιοδικού σ' έναν εκδότη, υπάρχει πιθανότητα η δραστηριότητα µας να περιλαµβάνει κάποια προσπέλαση σε βάση δεδοµένων. Ακόµη και η αγορά αντικειµένων από ένα σούπερ µάρκετ σήµερα περιλαµβάνει σε πολλές περιπτώσεις ενηµέρωση της βάσης δεδοµένων όπου καταχωρούνται τα αποθέµατα των προϊόντων του σούπερ µάρκετ. Αυτές οι διεπαφές είναι παραδείγµατα αυτού που αποκαλούµε παραδοσιακές εφαρµογές των βάσεων δεδοµένων, όπου οι περισσότερες αποθηκευµένες πληροφορίες είναι ή σε µορφή text ή σε µορφή αριθµών. Τα τελευταία χρόνια η πρόοδος στην τεχνολογία έχει οδηγήσει σε συναρπαστικές νέες εφαρµογές των συστηµάτων βάσεων δεδοµένων. Οι βάσεις δεδοµένων πολυµέσων µπορούν σήµερα να αποθηκεύσουν εικόνες, video και µηνύµατα ήχου. Τα γεωγραφικά πληροφοριακά συστήµατα (GIS) µπορούν να αποθηκεύσουν και να αναλύσουν δεδοµένα καιρού και δορυφορικές εικόνες. Οι αποθήκες δεδοµένων και τα on-line συστήµατα αναλυτικής επεξεργασίας (OLAP) χρησιµοποιούνται σε πολλές εταιρείες για την εξαγωγή και ανάλυση χρήσιµων πληροφοριών από µεγάλες βάσεις δεδοµένων για λήψη αποφάσεων. Οι τεχνικές αναζήτησης των βάσεων δεδοµένων έχουν εφαρµοσθεί στο WEB για τη βελτίωση της αναζήτησης πληροφοριών για τις οποίες ερευνούν οι χρήστες που περιηγούνται το διαδύκτιο. Είναι εύλογο να ειπωθεί ότι οι βάσεις δεδοµένων θα διαδραµατίσουν κρίσιµο ρόλο σε όλες τις περιοχές όπου χρησιµοποιούνται υπολογιστές όπως στις επιχειρήσεις, στη µηχανική, στην ιατρική, στα νοµικά, στην εκπαίδευση και στη βιβλιοθηκονοµία, για να αναφέρουµε µερικές µόνο από αυτές. Η φράση βάση δεδοµένων βρίσκεται σε τόσο κοινή χρήση που πρέπει να αρχίσουµε ορίζοντας τι είναι µια βάση δεδοµένων. Βάση δεδοµένων (database) είναι µια ολοκληρωµένη συλλογή από σχετιζόµενα δεδοµένα. Με τον όρο δεδοµένα εννοούµε γνωστά γεγονότα που µπορούν να καταγραφούν και που έχουν κάποια υπονοούµενη σηµασία. Ο πιο πάνω ορισµός της βάσης δεδοµένων είναι αρκετά γενικός. Ωστόσο, η συνήθης χρήση του όρου βάση δεδοµένων είναι αρκετά πιο περιορισµένη. Μπορούµε να πούµε ότι µια Β αναπαριστά ένα µικρόκοσµο. Παραδείγµατα τέτοιων µικρόκοσµων είναι ένα πανεπιστήµιο (καθηγητές - φοιτητές - µαθήµατα - αίθουσες κλπ.), µια εταιρία (υπάλληλοι -τµήµατα - κτίρια κλπ.), ένα κατάστηµα λιανικής (προϊόντα - ράφια - πελάτες - προµηθευτές κλπ.), µια βιβλιοθήκη (βιβλία - θέσεις αποθήκευσης - δανειζόµενοι κλπ.). Σηµαντικό χαρακτηριστικό των πληροφοριών που Σελ. 6

1.2 Ιστορία- Εξέλιξη Βάσεων εδοµένων περιέχονται σε µια Β είναι ότι αυτές είναι συσχετιζόµενες. Για παράδειγµα, στο µικρόκοσµο του πανεπιστήµιου, οι καθηγητές διδάσκουν µαθήµατα, τα οποία παρακολουθούνται από φοιτητές κοκ. Αν µια πληροφορία δεν σχετίζεται µε άλλες µέσα στον µικρόκοσµο, τότε δεν ανήκει στη συγκεκριµένη Β. 1.2 ΙΣΤΟΡΙΑ- ΕΞΕΛΙΞΗ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ εκαετία του 1950 Για τη διαχείριση και επεξεργασία µεµονωµένων αρχείων χρησιµοποιούνταν οι Κάρτες και ταινίες (σειριακή επεξεργασία). Οι εξελίξεις σε συσκευές µαζικής αποθήκευσης τυχαίας πρόσβασης και αύξηση υπολογιστικής ισχύος θέτουν τις προϋποθέσεις για την ανάπτυξη συστηµάτων διαχείρισης δεδοµένων σε αντικατάσταση των συστηµάτων διαχείρισης αρχείων. εκαετία του 1960 Τα πρώτα συστήµατα διαχείρισης βάσεων δεδοµένων δηµιουργήθηκαν τη δεκαετία του 1960 µε σκοπό να προσφέρουν ένα κοινό οργανωτικό πλαίσιο για τη διαχείριση δεδοµένων τα οποία µέχρι τότε αποθηκεύονταν σε µεµονωµένα αρχεία. Το 1964, ο Charles Bachman (1st Turing Award, 1973) της General Electric πρότεινε ένα δικτυωτό µοντέλο δεδοµένων (network data model) στο οποίο οι εγγραφές δεδοµένων ήταν συνδεδεµένες µεταξύ τους µε τέτοιο τρόπο ώστε να σχηµατίζουν τεµνόµενα σύνολα δεδοµένων. Τα πρώτα συστήµατα διαχείρισης βάσεων δεδοµένων στηρίχθηκαν σε αυτό το δικτυωτό µοντέλο. Το 1965 η εταιρία IBM και η ιεύθυνση ιαστήµατος της North American Aviation ανέπτυξαν από κοινού το ιεραρχικό µοντέλο δεδοµένων (hierarchical data model). Σε αυτό το µοντέλο, τα δεδοµένα παριστάνονταν ως δενδροειδείς δοµές µέσα σε µία ιεραρχία εγγραφών. Το Σύστηµα ιαχείρισης Πληροφοριών (Information Management System - IMS) της ΙΒΜ που κυκλοφόρησε στην αγορά το 1969 ήταν βασιζόµενο στο ιεραρχικό µοντέλο δεδοµένων. Από τα δικτυωτά και ιεραρχικά συστήµατα µόνο το IMS παραµένει σε χρήση µέχρι σήµερα. 1970 Ο ορισµός του σχεσιακού µοντέλου δεδοµένων (Relational data model) έγινε για πρώτη φορά το 1970 από τον ρ. Edgar Codd (Turing Award, 1981) σε ένα ερευνητικό έντυπο της IBM µε τίτλο "System R4 Relational". Στην αρχή βέβαια δεν ήταν ξεκάθαρο κατά πόσο ένα σχεσιακό σύστηµα που θα βασιζόταν στο σχεσιακό µοντέλο θα µπορούσε να πετύχει εµπορικά. Έτσι µέχρι και το 1979 όλες οι εµπορικές υλοποιήσεις βάσεων δεδοµένων βασίζονταν είτε στη δικτυωτή είτε στην ιεραρχική προσέγγιση. Άρχισαν να αναπτύσσονται βέβαια τα ερευνητικά προγράµµατα σχεσιακών συστηµάτων System R (IBM) και INGRESS (Berkley) καθώς και οι σχεσιακές γλώσσες SEQUEL, QBE, και QUEL. 1976 Το µοντέλο οντοτήτων-συσχετίσεων του Chen Σελ. 7

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ 1979 Τη χρονιά αυτή ιδρύθηκε η εταιρία Relational Software Incorporated (RSI) και κυκλοφόρησε στην αγορά τη σχεσιακή βάση δεδοµένων Oracle V.2. Η IBM δεν ενσωµάτωσε τη σχεσιακή τεχνολογία σε κανένα προϊόν της µέχρι την κυκλοφορία του λογισµικού Query Management Facility το 1983. Αρχές του 1980 Η σχεσιακή γλώσσα SQL (µέρος του System R) αντικατέστησε την QUEL στο σύστηµα INGRES. Αναπτύχθηκαν οι έννοιες της διαχείρισης συναλλαγών (transaction management) από τον Jim Gray (Turing Award, 1999). Οι τάσεις που άρχισαν να εµφανίζονται αφορούν τα αντικειµενοστραφή συστήµατα, την αρχιτεκτονική πελάτηδιακοµιστή, και τις κατανεµηµένες βάσεις. εκαετία του 1980 : Οι εγκαταστάσεις των σχεσιακών συστηµάτων αυξάνουν µε γοργούς ρυθµούς µε πρώτα τα συστήµατα Oracle, SQL Server, Sybase, Informix, DB2. Εµφανίζονται τα σχεσιακά συστήµατα διαχείρισης βάσεων δεδοµένων και σε προσωπικούς υπολογιστές : DBase II (Ashton Tate) εξελίχτηκε µέχρι τις µέρες µας ως Paradox, Microsoft ACCESS. εκαετία του 1990: Εµφανίζονται τα πρώτα εµπορικά αντικειµενοστραφή συστήµατα Β, η σύνδεση Β στο διαδίκτυο, η ευρύτατη διάδοση τεχνολογίας που επιτρέπει την επικοινωνία των χρηστών µε Β µέσω διαδικτύου (HTML, XML, ASP κλπ) 1.3 ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ εδοµένα (data) είναι γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόηµα. Βάση εδοµένων - Β (database) είναι µία ολοκληρωµένη συλλογή σχετιζόµενων δεδοµένων µέσα σε κοινά διαθέσιµο µέσο µαζικής αποθήκευσης. Άρα τα δεδοµένα µιας Β δεν είναι ανεξάρτητα µεταξύ τους γιατί στην περίπτωση αυτή θα είχαµε όχι µία αλλά περισσότερες Β. Η Βάση εδοµένων αποθηκεύεται (συνήθως) σε δευτερεύουσα µνήµη. Σύστηµα ιαχείρισης Βάσεων εδοµένων -Σ Β (Database Management System - DBMS) είναι µια αυτοτελής συλλογή από τµήµατα λογισµικού (προγράµµατα) για την δηµιουργία, επεξεργασία και συντήρηση Β. Τέλος, Σύστηµα Βάσεων εδοµένων - ΣΒ (Database System) είναι το λογισµικό DBMS µαζί µε τη Βάση δεδοµένων. ΣΥΣΤΗΜΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΒΑΣΗ Ε ΟΜΕΝΩΝ ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ Σελ. 8

1.3 Σύστηµα βάσης δεδοµένων Το Σύστηµα βάσης δεδοµένων αποτελείται από τη βάση δεδοµένων, µία ή περισσότερες γλώσσες βάσεων δεδοµένων που επιτρέπουν την επικοινωνία µε τη βάση και κάποια προγράµµατα εφαρµογών 1.3.1 Βάση εδοµένων Μια βάση δεδοµένων έχει τις ακόλουθες υπονοούµενες ιδιότητες: αναπαριστά κάποια άποψη του πραγµατικού κόσµου η οποία µερικές φορές λέγεται µικρόκοσµος (miniworld) είναι µια λογικά συνεκτική συλλογή δεδοµένων που έχει κάποια εγγενή σηµασία. Μια τυχαία διευθέτηση δεδοµένων δεν είναι σωστό να αναφέρεται ως βάση δεδοµένων. σχεδιάζεται, χτίζεται και γεµίζει µε δεδοµένα για κάποιο συγκεκριµένο σκοπό. Προορίζεται για µια συγκεκριµένη οµάδα χρηστών και για κάποιες προκαθορισµένες εφαρµογές. Κάθε βάση δεδοµένων έχει κάποια πηγή από την οποία παράγονται τα δεδοµένα, αλληλεπιδρά σε κάποιο βαθµό µε γεγονότα του πραγµατικού κόσµου και απευθύνεται σ' ένα ακροατήριο που ενδιαφέρεται ενεργά για το περιεχόµενο της. ΒΑΣΗ Ε ΟΜΕΝΩΝ Εικόνα: Βάση εδοµένων είναι µία ολοκληρωµένη συλλογή σχετιζόµενων δεδοµένων. Αν µια πληροφορία δεν σχετίζεται µε άλλες µέσα στη βάση, τότε δεν ανήκει στη συγκεκριµένη Βάση εδοµένων 1.3.2 Συστήµατα διαχείρισης βάσεων δεδοµένων Σε ένα τυπικό "σύστηµα επεξεργασία αρχείων" υποστηριζόµενο από ένα συµβατικό λειτουργικό σύστηµα οι εγγραφές διατηρούνται στα µόνιµα αρχεία και τα προγράµµατα εφαρµογών γράφονται για να διαχειριστούν τα αρχεία αυτά για να εκτελέσουν ενέργειες εισαγωγής, διαγραφής, εύρεσης κλπ: Καθώς η ανάπτυξη και εξέλιξη του συστήµατος θα συνεχίζεται µε την πάροδο του χρόνου νέα προγράµµατα εφαρµογών πρέπει να γραφτούν, νέα µόνιµα αρχεία δηµιουργούνται και στη διάρκεια µεγάλης χρονικής περιόδου τα αρχεία θα έχουν διαφορετικά format, και τα προγράµµατα εφαρµογών θα είναι σε διαφορετικές γλώσσες προγραµµατισµού. Έτσι τα συστήµατα διαχείρισης βάσεων δεδοµένων αναπτύχθηκαν για να χειρίζονται και ελέγχουν τις παρακάτω δυσκολίες των τυπικών συστηµάτων διαχείρισης αρχείων που υποστηρίζονταν από τα συµβατικά λειτουργικά συστήµατα Προβλήµατα Ασυνέπειας και πλεονασµού δεδοµένων (οι ίδιες πληροφορίες µπορεί να αναπαραχθούν σε διαφορετικά αρχεία) Σελ. 9

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Προβλήµατα Ακεραιότητας εδοµένων (τα δεδοµένα θα πρέπει να ικανοποιούν κάποιους περιορισµούς. Π.χ. κανένα υπόλοιπο λογαριασµού κάτω από 1.000). υσκολίες προσπέλασης εδοµένων (θα πρέπει να γραφτεί ένα νέο πρόγραµµα εφαρµογής για να ικανοποιηθεί ένα ασυνήθιστο αίτηµα. Π.χ. βρείτε όλους τους πελάτες µε τον ίδιο ταχυδροµικό κώδικα.) Προβλήµατα Ασφάλειας (Π.χ. οι υπεύθυνοι µισθοδοσίας χειρίζονται µόνο τα αρχεία υπαλλήλων, και δεν πρέπει να δουν τους λογαριασµούς πελατών.) Προβλήµατα Ανεξαρτησίας εδοµένων (πολλαπλά αρχεία και formats) υσκολίες ενηµέρωσης πολλών αρχείων (όλα τα αντίγραφα δεν είναι δυνατόν να ενηµερωθούν σωστά) Προβλήµατα ταυτόχρονης προσπέλασης από πολλούς χρήστες (Π.χ. δύο πελάτες που αποσύρουν τα κεφάλαια από τον ίδιο λογαριασµό την ίδια χρονική στιγµή ο λογαριασµός έχει 10.000 και αποσύρουν 2.000 και 3.000 ο καθένας) Αυτά τα προβλήµατα και άλλα οδήγησαν στην ανάπτυξη διαχείρισης βάσεων δεδοµένων. των συστηµάτων Σύστηµα διαχείρισης βάσεων δεδοµένων (Σ Β ) (database management system-dbms) είναι µια συλλογή από προγράµµατα που επιτρέπουν στους χρήστες να δηµιουργήσουν και να συντηρήσουν µια βάση δεδοµένων. Εποµένως, το Σ Β είναι ένα γενικής χρήσης (general-purpose) σύστηµα λογισµικού που διευκολύνει τις διαδικασίες ορισµού, κατασκευής και χειρισµού βάσεων δεδοµένων για διάφορες εφαρµογές. Ο ορισµός (definition) µιας βάσης δεδοµένων περιλαµβάνει την προδιαγραφή των τύπων, των δοµών και των περιορισµών των δεδοµένων που θα αποθηκευτούν στη βάση. Κατασκευή µιας βάσης δεδοµένων είναι η διαδικασία αποθήκευσης των ίδιων των δεδοµένων σ' ένα µέσο αποθήκευσης που ελέγχεται από το Σ Β. Ο χειρισµός (manipulation) µιας βάσης δεδοµένων περιλαµβάνει λειτουργίες όπως υποβολή επερωτήσεων (queries) προς τη βάση για ανάκτηση συγκεκριµένων δεδοµένων, ενηµέρωση της βάσης ώστε να αντανακλά αλλαγές στο µικρόκοσµο και παραγωγή αναφορών από τα δεδοµένα. 1.3.3 Σύστηµα Βάσης δεδοµένων Μια βάση δεδοµένων, µαζί µε το αντίστοιχο λογισµικό DBMS, αποτελεί το σύστηµα βάσης δεδοµένων (database system). O γενικός σκοπός του Σύστηµα βάσης δεδοµένων είναι να τηρεί πληροφορίες και να δίνει αυτές τις πληροφορίες όταν του ζητούνται. Βασικά χαρακτηριστικά των Συστηµάτων Βάσεων εδοµένων είναι: Σελ. 10

1.3 Σύστηµα βάσης δεδοµένων η αυτοπεριγραφική φύση τους: ο οµοιογενής δηλαδή τρόπος δηµιουργίας, πρόσβασης και ελέγχου των δεδοµένων, ανεξάρτητα εφαρµογής το µοίρασµα (sharing) των δεδοµένων και η χρήση τους από πολλούς χρήστες, ακόµη και ταυτόχρονα ο κεντρικός έλεγχος λειτουργίας και διαχείρισης (database administration) από ένα ή περισσότερα πρόσωπα που έχουν συγκεκριµένο ρόλο «ιαχειριστή Β» (database administrator DBA) η υποστήριξη κανόνων ακεραιότητας (δεν µπορούν να υπάρχουν λανθασµένα δεδοµένα, δηλαδή δεδοµένα που παραβαίνουν κάποιους κανόνες που έχουν δηλωθεί), ασφάλειας (δεν µπορούν να πειραχτούν δεδοµένα που δεν πρέπει), δικαιοδοσίας (το σύστηµα «γνωρίζει» ποιος έχει δικαίωµα πάνω σε ποια δεδοµένα) ο έλεγχος ταυτοχρονισµού (concurrency control) στις περιπτώσεις ταυτόχρονης προσπέλασης των ίδιων δεδοµένων από περισσότερους του ενός χρήστες και ειδικοί µηχανισµοί για ανάκαµψη (recovery) σε περιπτώσεις αθέλητης διακοπής της λειτουργίας του Σ Β. Εικόνα Ένα απλουστευµένο περιβάλλον συστήµατος βάσης δεδοµένων Υπάρχουν συστήµατα βάσεων δεδοµένων για µηχανήµατα που εκτείνονται σε όλο το φάσµα από τους µικροϋπολογιστές (ακόµα και τα φορητά PC) µέχρι τα µεγαλύτερα συστήµατα mainframe. Ειδικότερα, τα συστήµατα για µεγάλα µηχανήµατα Σελ. 11

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (τα "µεγάλα συστήµατα") είναι συνήθως συστήµατα πολλών χρηστών, ενώ εκείνα των µικρότερων µηχανηµάτων (τα "µικρά συστήµατα") είναι συνήθως συστήµατα ενός χρήστη. Σύστηµα ενός χρήστη (single user system) είναι ένα σύστηµα στο οποίο µόνο ένας χρήστης έχει πρόσβαση στη βάση δεδοµένων οποιαδήποτε δεδοµένη στιγµή σύστηµα πολλών χρηστών (multiuser system) είναι ένα σύστηµα στο οποίο πολλοί χρήστες έχουν πρόσβαση στη βάση δεδοµένων ταυτόχρονα. 1.4 Ε ΟΜΕΝΑ Οι πιο γνωστοί τύποι δεδοµένων που χρησιµοποιούνται στα σύγχρονα πληροφοριακά συστήµατα, είναι: Ονοµασία Περιγραφή Μέγεθος σε bytes Integer Ακέραιοι αριθµοί 2 Real Πραγµατικοί αριθµοί 4 Char Χαρακτήρες 1 String Λέξεις και φράσεις Μεταβλητό Date Ηµεροµηνία 8 Αυτοί οι στοιχειώδεις τύποι δεδοµένων συσχετίζονται µε µια και µοναδική τιµή, και δεν µπορούν να αναλυθούν σε µικρότερες µονάδες. Σύνθετοι τύποι δεδοµένων: Στις πιο συνηθισµένες περιπτώσεις, τα δεδοµένα υφίστανται ευκολότερη και αποτελεσµατικότερη διαχείριση εάν οµαδοποιηθούν σε µεγαλύτερες οντότητες, τις οποίες διαπραγµατευόµαστε όπως ακριβώς και τα απλά δεδοµένα. Ας πάρουµε για παράδειγµα την περίπτωση µιας Εταιρίας. Εάν θελήσουµε να δηµιουργήσουµε ένα πρόγραµµα στο οποίο θα καταχωρούµε τα στοιχεία των υπαλλήλων, τότε τα στοιχεία εκείνα που θα κρατάµε για κάθε υπάλληλο, θα είναι το Όνοµά του, το Επώνυµό του, η Ηµεροµηνία Γέννησής του, και ο Κωδικός του ας περιοριστούµε µόνο σε αυτά. Στην περίπτωση αυτή, δηµιουργούµε ένα σύνθετο τύπο δεδοµένων τον οποίο ας ονοµάσουµε ΥΠΑΛΛΗΛΟΣ που θα περιέχει τα τέσσερα πεδία που περιγράψαµε παραπάνω: Κωδικός_Υπαλλήλου Όνοµα_Υπαλλήλου Επώνυµο_Υπαλλήλου ΗµΓέν_Υπαλλήλου ΥΠΑΛΛΗΛΟΣ Κωδικός Όνοµα Επώνυµο ΗµΓέν Σχήµα: Περιγραφή οντότητας µε απλούς και σύνθετους τύπους δεδοµένων Οι τέσσερις τύποι δεδοµένων που σχηµατίζουν τον σύνθετο τύπο δεδοµένων ΥΠΑΛΛΗΛΟΣ, υφίστανται διαχείριση, σαν να ήταν ένας απλός τύπος δεδοµένων και χρησιµοποιείται για την αποθήκευση εγγραφών (records). Όπως γίνεται και στις Σελ. 12

1.4 εδοµένα συµβατικές γλώσσες προγραµµατισµού όπου για παράδειγµα ένα πρόγραµµα PASCAL µπορεί να περιέχει δηλώσεις για δοµές εγγραφών, ένα πρόγραµµα C++ µπορεί να χρησιµοποιεί δηλώσεις "struct" και "class" ενώ ένα πρόγραµµα COBOL έχει δηλώσεις στο Data Division για τον ορισµό των αρχείων του. Βέβαια στην παραδοσιακή επεξεργασία αρχείων, ο ορισµός των δεδοµένων αποτελεί τµήµα των ίδιων των προγραµµάτων εφαρµογών ενώ στην προσέγγιση των βάσεων δεδοµένων οι ορισµοί των δοµών των αρχείων, ο τύπος και η µορφή αποθήκευσης κάθε στοιχειώδους δεδοµένου, καθώς και οι διάφοροι περιορισµοί επί των δεδοµένων αποθηκεύονται ξεχωριστά στον κατάλογο (catalog) του συστήµατος της βάσης δεδοµένων και λέγονται µετα-δεδοµένα (meta-data). εδοµένα- ενοποίηση και µερισµός Γενικά, τα δεδοµένα της βάσης δεδοµένων είναι ενοποιηµένα (integrated) και µεριζόµενα (shared δηλαδή κοινόχρηστα). Αυτές οι δύο πλευρές, η ενοποίηση και ο µερισµός των δεδοµένων, είναι από τα µεγαλύτερα πλεονεκτήµατα των συστηµάτων βάσεων δεδοµένων. Με τον όρο ενοποίηση δεδοµένων (data integration) εννοούµε ότι η βάση δεδοµένων µπορεί να θεωρείται µια συνένωση πολλών αρχείων δεδοµένων, που από κάθε άλλη άποψη είναι ξεχωριστά το ένα από το άλλο, ενώ κάθε πλεονασµός εξαιτίας της επανάληψης δεδοµένων µεταξύ αυτών των αρχείων έχει εξαλειφθεί εντελώς ή κατά ένα µέρος. Για παράδειγµα, µια βάση δεδοµένων µπορεί να περιλαµβάνει ένα αρχείο ΥΠΑΛΛΗΛΟΙ, που περιέχει τα ονόµατα, τις διευθύνσεις, τα τµήµατα, τους µισθούς κ.λπ. των υπαλλήλων, και ένα αρχείο ΣΥΜΜΕΤΟΧΕΣ, που αντιπροσωπεύει τις συµµετοχές υπαλλήλων σε κάποια εκπαιδευτικά σεµινάρια (δείτε στην παρακάτω Εικόνα). Ας υποθέσουµε τώρα ότι, για να υποστηριχθεί η διαχείριση των εκπαιδευτικών σεµιναρίων, πρέπει να είναι γνωστό το τµήµα στο οποίο ανήκει ο κάθε υπάλληλος που συµµετέχει. Είναι σαφές ότι, σε αυτή την περίπτωση, δεν υπάρχει λόγος να συµπεριληφθούν αυτές οι (πλεονάζουσες) πληροφορίες στο αρχείο ΣΥΜΜΕΤΟΧΕΣ, επειδή µπορεί κανείς να τις βρίσκει από το αρχείο ΥΠΑΛΛΗΛΟΙ. ΥΠΑΛΛΗΛΟΙ ΟΝΟΜΑ ΙΕΥΘΥΝΣΗ ΤΜΗΜΑ ΜΙΣΘΟΣ. ΣΥΜΜΕΤΟΧΕΣ ΟΝΟΜΑ ΣΕΜΙΝΑΡΙΟ. Εικόνα Τα αρχεία ΥΠΑΛΛΗΛΟΙ και ΣΥΜΜΕΤΟΧΕΣ Με τον όρο µερισµός δεδοµένων (data sharing) εννοούµε ότι τα µεµονωµένα στοιχεία δεδοµένων της βάσης δεδοµένων µπορούν να τα µοιράζονται πολλοί διαφορετικοί χρήστες, µε την έννοια ότι καθένας από αυτούς τους χρήστες µπορεί να έχει πρόσβαση στο ίδιο στοιχείο δεδοµένων (και οι διάφοροι χρήστες µπορούν να το χρησιµοποιούν για διαφορετικό σκοπό). Όπως αναφέραµε και νωρίτερα, οι διάφοροι χρήστες µπορούν να έχουν πρόσβαση στο ίδιο στοιχείο δεδοµένων την ίδια στιγµή ("ταυτόχρονη προσπέλαση"). Αυτού του είδους ο µερισµός (ταυτόχρονος ή όχι) είναι σε ένα βαθµό συνέπεια του γεγονότος ότι η βάση δεδοµένων είναι ενοποιηµένη. Στο Σελ. 13

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ παραπάνω παράδειγµα µας, των υπαλλήλων και των συµµετοχών τους σε σεµινάρια, τις πληροφορίες του αρχείου ΥΠΑΛΛΗΛΟΙ για τα τµήµατα στα οποία ανήκουν οι υπάλληλοι θα τις µοιράζονται κατά κανόνα οι χρήστες που ανήκουν στο Τµήµα Προσωπικού και στο Τµήµα Εκπαίδευσης και, όπως είδαµε προηγουµένως, αυτές οι δύο κατηγορίες χρηστών θα χρησιµοποιούν κατά κανόνα αυτές τις πληροφορίες για διαφορετικό σκοπό. 1.5 ΠΑΡΑ ΕΙΓΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μια βάση δεδοµένων αποτελείται από κάποια συλλογή µόνιµων δεδοµένων που χρησιµοποιούνται από τα συστήµατα των εφαρµογών µιας επιχείρησης, ενός οργανισµού ενός ιδιώτη κλπ. Μερικά παραδείγµατα είναι τα: Τράπεζες - Νοσοκοµεία- Πανεπιστήµια- Κρατικές υπηρεσίες Αντιπροσωπεία Αυτοκινήτων (Αγορές-Πωλήσεις-Ενοικιάσεις) Βάση Εφαρµογών Λογισµικού (Εταιρείες, Κατηγορίες, Λογισµικά, Λειτουργικά) Βιβλίο Εσόδων-Εξόδων (Κατηγορίες, Κινήσεις, Πελάτες, Προµηθευτές) ιαχείριση εστιατορίου (Υπάλληλοι, Κινήσεις-Παραγγελίες, Τραπέζια) ιαχείριση µηχανογραφικού κέντρου (Servers, Υπολογιστές, Administrators, Χρήστες, Περιφερειακά, Λογισµικό, ίκτυα) Εµπορικό κύκλωµα (Πελάτες, Προµηθευτές, Κινήσεις, Αποθήκη) Εταιρεία Πώλησης Software / Hardware Ιατρείο - Λογιστικό Γραφείο - Μεσιτικό Γραφείο Εταιρεία εύρεσης προσωπικού επιχειρήσεων (Επιχειρήσεις, Άνεργοι, Ειδικότητες, Κινήσεις) Πολιτικό γραφείο υπ. Βουλευτή (Ραντεβού, Ψηφοφόροι, Επαγγέλµατα, Πόλεις) Σχολείο (Μαθητές, Καθηγητές, Τµήµατα, Μαθήµατα, Αίθουσες) Ταµείο Επιχείρησης (Εσοδα, Εξοδα, Αξιόγραφα, Πελάτες, Προµηθευτές) Τεχνική Βοήθεια (Ηλεκτρικά / Υδραυλικά κλπ) Τεχνική Εταιρεία (Έργα, Υλικά, Πελάτες, Προµηθευτές, Υπεργολάβοι, Εργάτες) Σε κάθε ένα από τα προηγούµενα παραδείγµατα πρέπει αναγκαστικά να τηρούνται πολλά δεδοµένα που αφορούν τη λειτουργία τους. Σήµερα επίσης, οι βάσεις δεδοµένων χρησιµοποιούνται όλο και περισσότερο και για άλλου είδους εφαρµογές όπως είναι οι εφαρµογές υποστήριξης αποφάσεων (decision support). Στην πράξη µάλιστα, οι επιχειρήσεις διατηρούν στις µέρες µας δύο ξεχωριστές βάσεις δεδοµένων, µία για τα επιχειρησιακά δεδοµένα και άλλη µία για τα δεδοµένα υποστήριξης αποφάσεων. Η βάση δεδοµένων υποστήριξης αποφάσεων αποτελείται συχνά από συγκεντρωτικές πληροφορίες (π.χ. πληροφορίες για συνολικές ποσότητες και µέσους όρους), οι οποίες εξάγονται περιοδικά (για παράδειγµα, καθηµερινά ή εβδοµαδιαία) από την επιχειρησιακή βάση δεδοµένων. Σελ. 14

1.6 Πλεονεκτήµατα της χρήσης βάσεων δεδοµένων 1.6 ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Υπάρχουν συγκεκριµένα πλεονεκτήµατα που προκύπτουν από τον κεντρικό έλεγχο των δεδοµένων. Ο πλεονασµός (redundancy) µπορεί να µειωθεί στο ελάχιστο. Στα συµβατικά συστήµατα η κάθε εφαρµογή έχει τα δικά της αρχεία. Αυτό το γεγονός οδηγεί πολύ συχνά σε υψηλό βαθµό πλεονασµού (επανάληψης) για τα αποθηκευµένα δεδοµένα, µε αποτέλεσµα τη σπατάλη αποθηκευτικού χώρου. Π.χ. µια εφαρµογή παρακολούθησης προσωπικού και µια εφαρµογή καταγραφής εκπαιδευτικών δραστηριοτήτων µπορεί να έχουν από ένα αρχείο µε πληροφορίες που αφορούν τα τµήµατα της επιχείρησης στα οποία ανήκουν οι υπάλληλοι. Όπως είδαµε όµως αυτά τα δύο αρχεία µπορούν να ενοποιηθούν ώστε να εξαλειφθεί ο πλεονασµός. Η ασυνέπεια µπορεί να αποφευχθεί. Στην ουσία, αυτό είναι συνέπεια της προηγούµενης παρατήρησης. Ας υποθέσουµε ότι ένα δεδοµένο γεγονός του πραγµατικού κόσµου ας πούµε, το γεγονός ότι ο υπάλληλος Υ3 εργάζεται στο τµήµα Τ8 αναπαρίσταται στην αποθηκευµένη βάση δεδοµένων από δύο ξεχωριστές εγγραφές. Ας υποθέσουµε επίσης ότι το DBMS δεν είναι ενήµερο γι' αυτή τη "διπλοεγγραφή" (δηλαδή, ότι ο πλεονασµός δεν είναι ελεγχόµενος). Τότε, είναι βέβαιο ότι θα υπάρξουν περιπτώσεις που οι δύο καταχωρίσεις δε θα συµφωνούν µεταξύ τους περιπτώσεις που η µία καταχώριση θα έχει ενηµερωθεί ενώ η άλλη όχι. Σε αυτές τις περιπτώσεις, λέµε ότι η βάση δεδοµένων είναι ασυνεπής (inconsistent). Είναι προφανές ότι µια ασυνεπής βάση δεδοµένων µπορεί να δώσει στους χρήστες της λανθασµένες ή αντιφατικές πληροφορίες. Τα δεδοµένα µπορούν να είναι κοινόχρηστα. Ο µερισµός (κοινή χρήση) δε σηµαίνει µόνο ότι οι υπάρχουσες εφαρµογές µπορούν να µοιράζονται τα δεδοµένα της βάσης δεδοµένων αλλά και ότι είναι δυνατή η ανάπτυξη νέων εφαρµογών που θα µπορούν να χρησιµοποιούν τα ίδια αποθηκευµένα δεδοµένα. Με άλλα λόγια, είναι δυνατό να ικανοποιούνται οι απαιτήσεις νέων εφαρµογών σε ό,τι αφορά τα δεδοµένα, χωρίς να είναι αναγκαία η δηµιουργία νέων αποθηκευµένων δεδοµένων. Μπορούν να επιβάλλονται πρότυπα. Με τον κεντρικό έλεγχο της βάσης δεδοµένων, ο υπεύθυνος διαχείρισης βάσεων δεδοµένων (DBA) µπορεί να εξασφαλίσει ότι θα τηρούνται όλα τα σχετικά πρότυπα για την αναπαράσταση των δεδοµένων. Τα πρότυπα αυτά µπορεί να είναι πρότυπα της επιχείρησης, του εγκατεστηµένου συστήµατος, του τµήµατος της επιχείρησης, του τεχνολογικού τοµέα, ή εθνικά και διεθνή πρότυπα. Η τυποποίηση της αναπαράστασης των δεδοµένων διευκολύνει ιδιαίτερα την ανταλλαγή δεδοµένων (data interchange), δηλαδή τη µεταφορά δεδοµένων µεταξύ διαφορετικών συστηµάτων. Μπορούν να εφαρµόζονται περιορισµοί ασφάλειας. Έχοντας πλήρη δικαιοδοσία πάνω στη βάση δεδοµένων, ο DBA µπορεί να εξασφαλίσει ότι η πρόσβαση στη βάση δεδοµένων θα µπορεί να γίνεται µόνο µέσω των Σελ. 15

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ κατάλληλων καναλιών και, να ορίσει κανόνες ασφάλειας µε βάση τους οποίους θα γίνεται έλεγχος κάθε φορά που θα υπάρχει απόπειρα προσπέλασης εµπιστευτικών δεδοµένων. Είναι δυνατό να καθοριστούν διαφορετικοί κανόνες για το κάθε είδος προσπέλασης (ανάκληση, εισαγωγή, διαγραφή, κ.λπ.) σε κάθε στοιχείο πληροφοριών της βάσης δεδοµένων. Σηµειώστε, όµως, ότι χωρίς τέτοιους κανόνες η ασφάλεια των δεδοµένων µπορεί να διατρέχει µεγαλύτερο κίνδυνο από ό,τι σε ένα παραδοσιακό σύστηµα αρχειοθέτησης (µε γεωγραφικά αποµακρυσµένα αρχεία) δηλαδή, η κεντρική φύση ενός συστήµατος βάσης δεδοµένων απαιτεί κατά κάποιον τρόπο την ύπαρξη ενός καλού συστήµατος ασφάλειας. Μπορεί να διατηρείται η ακεραιότητα. Το πρόβληµα της ακεραιότητας (integrity) είναι να εξασφαλίζεται ότι τα δεδοµένα της βάσης δεδοµένων είναι ακριβή. Η ασυµφωνία µεταξύ δύο καταχωρίσεων που υποτίθεται ότι αντιπροσωπεύουν το ίδιο "γεγονός" είναι ένα παράδειγµα έλλειψης ακεραιότητας Ακόµη και αν δεν υπάρχει τέτοιος πλεονασµός όµως, πάλι υπάρχει περίπτωση να περιέχει η βάση δεδοµένων λανθασµένες πληροφορίες. Για παράδειγµα, ένας υπάλληλος µπορεί να εµφανίζεται ότι έχει δουλέψει 400 ώρες µέσα σε µία εβδοµάδα, αντί για 40, ή ότι ανήκει στο τµήµα Τ9 ενώ δεν υπάρχει τέτοιο τµήµα. Ο κεντρικός έλεγχος της βάσης δεδοµένων µπορεί να βοηθήσει να αποφευχθούν τέτοιου είδους προβλήµατα επιτρέποντας στον υπεύθυνο διαχείρισης δεδοµένων να ορίζει (και στον DBA να υλοποιεί) κανόνες ακεραιότητας µε βάση τους οποίους θα γίνεται έλεγχος κάθε φορά που επιχειρείται κάποια πράξη εισαγωγής, διαγραφής, ή τροποποίησης δεδοµένων. Οι αντικρουόµενες απαιτήσεις µπορούν να εξισορροπούνται. Γνωρίζοντας τις συνολικές απαιτήσεις της επιχείρησης σε αντιδιαστολή µε τις απαιτήσεις των µεµονωµένων χρηστών ο DBA µπορεί να δοµήσει το σύστηµα µε τέτοιον τρόπο ώστε να παρέχει γενικές υπηρεσίες που να είναι "βέλτιστες για την επιχείρηση". Για παράδειγµα, είναι δυνατό να επιλεχθεί µια αναπαράσταση των αποθηκευµένων δεδοµένων που θα παρέχει γρήγορη πρόσβαση στις σηµαντικότερες εφαρµογές (ίσως σε βάρος της απόδοσης ορισµένων άλλων εφαρµογών). 1.7 ΣΧΕΣΙΑΚΑ ΚΑΙ ΜΗ ΣΧΕΣΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Όλα σχεδόν τα προϊόντα διαχείρισης βάσεων δεδοµένων που αναπτύχθηκαν από τα τέλη της δεκαετίας του 1970 και µετά βασίζονται στη λεγόµενη σχεσιακή προσέγγιση (relational approach) ακόµα, η συντριπτική πλειοψηφία των ερευνών που έγιναν για τις βάσεις δεδοµένων τα τελευταία 25 χρόνια βασίζονται επίσης σε αυτή την προσέγγιση. Η σχεσιακή προσέγγιση αποτελεί σήµερα την κυρίαρχη τάση στην αγορά, και ότι το "σχεσιακό µοντέλο" είναι το σηµαντικότερο επίτευγµα των βάσεων δεδοµένων επειδή είναι το µόνο µοντέλο δεδοµένων που έχει στερεές µαθηµατικές βάσεις. Τι εννοούµε, λοιπόν, όταν λέµε ότι ένα σύστηµα είναι σχεσιακό; Με δύο λόγια, σχεσιακό είναι ένα σύστηµα που: 1. Ο χρήστης αντιλαµβάνεται τα δεδοµένα ως σχέσεις (κανονικοποιηµένοι πίνακες). Σελ. 16

1.7 Σχεσιακά και µη σχεσιακά συστήµατα 2. Οι τελεστές πράξεων που έχει στη διάθεση του ο χρήστης (για παράδειγµα, για την ανάκληση δεδοµένων) είναι τελεστές που δηµιουργούν νέους πίνακες µε βάση κάποιους παλιότερους. Για παράδειγµα, υπάρχει ένας τελεστής για την εξαγωγή ενός υποσυνόλου των γραµµών ενός πίνακα, και ένας άλλος τελεστής για την εξαγωγή ενός υποσυνόλου των στηλών του. Ο λόγος για τον οποίο ονοµάζονται αυτά τα συστήµατα "σχεσιακά" (relational) είναι ότι ο όρος "σχέση" (relation) είναι ουσιαστικά ένα όρος των µαθηµατικών που αντιστοιχεί σε έναν κανονικοποιηµένο πίνακα. Στην παρακάτω εικόνα µπορείτε να δείτε ένα παράδειγµα σχεσιακής βάσης δεδοµένων µε πίνακες που αφορούν δεδοµένα για Φοιτητές (Student) - Μαθήµατα (Course) - ιδασκαλίεςμαθηµάτων (Section) - ΒαθµολογίεςΦοιτητών (Grade Report) -ΠροαπαιτούµεναΜαθήµατα (Prerequisite) Εικόνα. Ένα παράδειγµα σχεσιακής βάσης δεδοµένων που αποθηκεύει φοιτητές και βαθµούς Μπορούµε τώρα να κάνουµε την εξής διάκριση ανάµεσα στα σχεσιακά και τα µη σχεσιακά συστήµατα: Ο χρήστης ενός σχεσιακού συστήµατος βλέπει τα δεδοµένα ως πίνακες και µόνο ως πίνακες. Αντίθετα, ο χρήστης ενός µη σχεσιακού συστήµατος βλέπει και άλλες δοµές δεδοµένων, αντί για τους πίνακες ενός σχεσιακού συστήµατος ή εκτός από αυτούς. Αυτές οι άλλες δοµές, µε τη σειρά τους, χρειάζονται άλλους τελεστές πράξεων για το χειρισµό των δεδοµένων τους. Για παράδειγµα, σε ένα ιεραρχικό σύστηµα (hierarchic system) τα δεδοµένα παρουσιάζονται στο χρήστη µε τη µορφή ενός συνόλου δενδροειδών δοµών (ιεραρχιών), και στους τελεστές για το Σελ. 17

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ χειρισµό αυτών των δοµών περιλαµβάνονται τελεστές για να διατρέχονται οι ιεραρχικές διαδροµές προς την κορυφή ή προς τη βάση των δένδρων. Αναγνώστης Ένα µε πολλά Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 Ένα µε πολλά Συγγραφέας 1 Συγγραφέας 2 Συγγραφέας 3 Συγγραφέας 4 Εικόνα. Ιεραρχικό µοντέλο δεδοµένων Τα συστήµατα βάσεων δεδοµένων µπορούν να καταταχθούν σε κατηγορίες, σύµφωνα µε τις δοµές δεδοµένων και τους τελεστές που παρέχουν στο χρήστη. Τα παλιότερα συστήµατα (τα προ-σχεσιακά) έχουν πια ιστορική αξία, όπως τα ιεραρχικά συστήµατα (hierarchical system), και τα δικτυωτά συστήµατα (network system). Αναγνώστης 1 Αναγνώστης 2 πολλά µε πολλά Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 πολλά µε πολλά Συγγραφέας 1 Συγγραφέας 2 Συγγραφέας 3 Συγγραφέας 4 Εικόνα. ικτυωτό µοντέλο δεδοµένων Τα πρώτα σχεσιακά συστήµατα άρχισαν να εµφανίζονται στην αγορά στα τέλη της δεκαετίας του 1970 και στις αρχές της δεκαετίας του 1980. Μέχρι σήµερα έχουν κυκλοφορήσει πάρα πολλά σχεσιακά προϊόντα, για όλα σχεδόν τα συστήµατα υλικού και λογισµικού που είναι γνωστά. Σελ. 18

1.7 Σχεσιακά και µη σχεσιακά συστήµατα Κωδικός αναγνώστη Όνοµα ιεύθυνση Τηλ. Τµήµα 053 Ματθέου Κ. Βηλαρά 28 45893 ΠΛΗΡΟΦΟ ΡΙΚΗ 109 Παππάς Ι. Λαµπρίδη 45 97155 ΜΑΘΗΜΑΤ ΙΚΟ 027 Αλεξίου Μ. Τσακάλωφ 9 66202 ΙΑΤΡΙΚΗ 212 Μπέης Γ. Σµύρνης 12 70359 ΦΥΣΙΚΟ 310 Χατζής Ν. Σαράφη 6 32078 ΙΑΤΡΙΚΗ Βιβλία ένα µε πολλά πολλά µε πολλά Πολλά µε ένα Θεµατικές ενότητες Αναγνώστες Παραγγελίες Εικόνα. Σχεσιακό µοντέλο δεδοµένων Ο παρακάτω πίνακας δίνει µερικά παραδείγµατα προϊόντων της αγοράς Συστήµατα αντιστραµµένης λίστας Ιεραρχικά συστήµατα ικτυωτά συστήµατα Σχεσιακά συστήµατα που εµφανίζονται στις αρχές του 1980 CA-DATACOM/DB της Computer Associates International Inc. IMS της IBM Corporation CA-IDMS/DB της Computer Associates International Inc. DB2 της IBM Corporation INGRES της Ingres Inc. ORACLE της Oracle Corporation SYBASE της Sybase Inc. Για τα σχεσιακά συστήµατα της αγοράς των απλών προσωπικών υπολογιστών το λογισµικό Access (Microsoft) το Paradox (Borland), Q&A (Symantec), FileMaker Pro (Claris Corp.), Approach (Lotus). Μια άλλη ενδιαφέρουσα κατηγορία Σ Β για τα σχεσιακά συστήµατα είναι τα λεγόµενα λογισµικά ανοιχτού-κώδικα (open-source), τα οποία προσφέρονται δωρεάν και επιπλέον µαζί µε το εκτελέσιµο πρόγραµµα διατίθεται ο πηγαίος κώδικας ορισµένων ή ακόµη και όλων των συστατικών του Σ Β, για να µπορεί κάποιος να τα τροποποιήσει ανάλογα µε τις ανάγκες του (συνήθως για εκπαιδευτικούς και ερευνητικούς σκοπούς). Το µόνο µειονέκτηµα αυτής της κατηγορίας είναι ότι οι κατασκευαστές τους προσφέρουν µικρή υποστήριξη, αφού είναι δωρεάν λογισµικό. Παραδείγµατα της κατηγορίας αυτής είναι τα PostgreSQL, MySQL, BerkeleyDB κλπ Σελ. 19

ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΣΥΣΤΗΜΆΤΩΝ ΒΆΣΕΩΝ Ε ΟΜΈΝΩΝ 2 ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 2.1 ΑΦΑΙΡΕΤΙΚΗ ΑΠΟΨΗ Ε ΟΜΕΝΩΝ Ο σηµαντικότερος σκοπός ενός συστήµατος βάσεων δεδοµένων είναι να παράσχει στους χρήστες µια αφαιρετική άποψη του συστήµατος. Το σύστηµα κρύβει ορισµένες λεπτοµέρειες για το πώς τα δεδοµένα αποθηκεύονται και διατηρούνται. Η πολυπλοκότητα λοιπόν πρέπει να κρυφτεί από τους χρήστες βάσεων δεδοµένων. Γι' αυτό υπάρχουν τρία επίπεδα αφαίρεσης: (α) (β) φυσικό επίπεδο: είναι το χαµηλότερο επίπεδο αφαίρεσης. περιγράφει πώς αποθηκεύονται τα δεδοµένα. Π.χ. δείκτες, β-δέντρα, αποκερµατισµός. εδώ περιγράφονται λεπτοµερώς όλες οι σύνθετες δοµές χαµηλού επιπέδου. εννοιολογικό επίπεδο: το αµέσως υψηλότερο επίπεδο αφαίρεσης. περιγράφει τι είδους δεδοµένα αποθηκεύονται. περιγράφει τις συσχετίσεις µεταξύ αυτών των δεδοµένων. (γ) Επίπεδο άποψης: το πιο υψηλό επίπεδο. περιγράφει τµήµατα της βάσης δεδοµένων για κάθε συγκεκριµένη οµάδα χρηστών. µπορεί να είναι πολλές διαφορετικές απόψεις µιας βάσης δεδοµένων. Π.χ. οι ταµίες σε µια τράπεζα παίρνουν µια άποψη των απολογισµών πελατών, αλλά όχι των δεδοµένων µισθοδοτικών καταστάσεων. Άποψη 1 Άποψη 2 Άποψη N Εννοιολογικό επίπεδο Φυσικό επίπεδο Σελ. 20

2.2 Μοντέλα δεδοµένων, σχήµατα και στιγµιότυπα 2.2 ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ, ΣΧΗΜΑΤΑ ΚΑΙ ΣΤΙΓΜΙΟΤΥΠΑ Ένα βασικό χαρακτηριστικό της προσέγγισης των βάσεων δεδοµένων είναι το ότι παρέχει επίπεδα αφαίρεσης δεδοµένων µε το να αποκρύπτει λεπτοµέρειες της αποθήκευσης των δεδοµένων που δεν είναι απαραίτητες στους περισσότερους χρήστες µιας βάσης. Ένα µοντέλο δεδοµένων -µια συλλογή από έννοιες που µπορεί να χρησιµοποιηθούν για να περιγράψουν τη γενική δοµή µιας βάσης δεδοµένωνπαρέχει τα απαραίτητα µέσα για να επιτευχθεί αυτή η αφαίρεση. Για παράδειγµα σε µία εταιρία οι πληροφορίες για τους υπαλλήλους µπορεί να κρατούνται σε ένα αρχείο µε όνοµα employees που θα είναι µία ακολουθία εγγραφών του τύπου: record end name: char[30]; manager: char[30] Ένα αφαιρετικό µοντέλο για τα δεδοµένα αυτά θα µπορούσε να είναι µία σχέση του σχεσιακού µοντέλου: Employees(name, manager) όπου employees είναι το όνοµα της σχέσης και name και manager είναι τα γνωρίσµατα της σχέσης. Με τον όρο δοµή της βάσης δεδοµένων εννοούµε τους τύπους δεδοµένων, τις συσχετίσεις και τους περιορισµούς που πρέπει να ισχύουν για τα δεδοµένα. Τα περισσότερα µοντέλα δεδοµένων περιλαµβάνουν επίσης ένα σύνολο από βασικές πράξεις (basic operations) για τον προσδιορισµό ανακτήσεων και ενηµερώσεων της βάσης δεδοµένων. Ένα µοντέλο δεδοµένων λοιπόν έχει γενικά τρεις βασικές συνιστώσες: (1) δοµές, (2) πράξεις και (3) δοµικούς περιορισµούς. 1. οµές (structures): είναι τα αντικείµενα του µικρόκοσµου, π.χ. το σύνολο των υπαλλήλων ή το σύνολο των τµηµάτων της εταιρίας 2. Πράξεις (operations) πάνω στις δοµές: αν π.χ. αναφερόµαστε σε σύνολα, η τοµή, η ένωση, η διαφορά δύο συνόλων είναι πράξεις. Ένα χαρακτηριστικό είναι η κλειστότητα ή όχι µιας πράξης: για παράδειγµα, οι ανωτέρω πράξεις πάνω στα σύνολα είναι κλειστές αφού το αποτέλεσµα της τοµής / ένωσης / διαφοράς µεταξύ δύο συνόλων είναι και αυτό σύνολο. 3. Περιορισµοί (constraints) πάνω στις δοµές: Στο παράδειγµα µιας εταιρίας θα µπορούσαµε να σκεφτούµε περιορισµούς όπως «κανένας υπάλληλος δεν εργάζεται σε περισσότερα από ένα τµήµατα», «κανένας υπάλληλος δεν παίρνει µισθό µεγαλύτερο του προϊστάµενου του» κοκ. Οι δοµικοί περιορισµοί διακρίνονται σε έµφυτους (inherent), ρητούς (explicit) και συνεπαγόµενους (implicit), και τα χαρακτηριστικά της κάθε κατηγορίας θα αναφερθούν αργότερα. Σελ. 21

ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΣΥΣΤΗΜΆΤΩΝ ΒΆΣΕΩΝ Ε ΟΜΈΝΩΝ Πέρα από τις βασικές πράξεις που παρέχει το µοντέλο δεδοµένων, συνηθίζεται όλο και περισσότερο να περιλαµβάνονται στο µοντέλο δεδοµένων δυναµικά χαρακτηριστικά (ή συµπεριφορά) µιας εφαρµογής βάσεων δεδοµένων. Αυτό επιτρέπει στον σχεδιαστή της βάσης δεδοµένων να ορίσει ένα σύνολο από δικές του επιτρεπτές πράξεις στα αντικείµενα της βάσης δεδοµένων. Ένα παράδειγµα ορισµένης από το χρήστη πράξης είναι η "ΥΠΟΛΟΓΙΣΕ_ΤΟ_ΜΕΣΟ_ΟΡΟ" που µπορεί να εφαρµοστεί σε ένα αντικείµενο του τύπου ΦΟΙΤΗΤΗΣ. Από την άλλη µεριά, γενικές πράξεις για εισαγωγή, διαγραφή, τροποποίηση ή ανάκτηση ενός αντικειµένου συχνά περιλαµβάνονται στις βασικές πράξεις ενός µοντέλου δεδοµένων. 2.2.1 Κατηγορίες Μοντέλων εδοµένων Μπορούµε να ταξινοµήσουµε τα µοντέλα δεδοµένων µε βάση τους τύπους εννοιών που παρέχουν για την περιγραφή της δοµής µιας βάσης δεδοµένων. Τα υψηλού επιπέδου (high-level) ή εννοιολογικά (conceptual) µοντέλα δεδοµένων παρέχουν έννοιες που βρίσκονται κοντά στον τρόπο µε τον οποίο πολλοί χρήστες αντιλαµβάνονται τα δεδοµένα. Τα χαµηλού επιπέδου (low-level) ή φυσικά (physical) µοντέλα δεδοµένων παρέχουν έννοιες που περιγράφουν τις λεπτοµέρειες του τρόπου αποθήκευσης των δεδοµένων στον υπολογιστή. Τα παραστατικά µοντέλα δεδοµένων. Μεταξύ των δύο άκρων υπάρχει µια κλάση παραστατικών (representational) µοντέλων ή µοντέλων υλοποίησης (implementation), που παρέχουν έννοιες οι οποίες µπορεί να κατανοούνται από τους τελικούς χρήστες αλλά δεν είναι τόσο αποµακρυσµένες από τον τρόπο αποθήκευσης των δεδοµένων στον υπολογιστή. Τα παραστατικά µοντέλα δεδοµένων αποκρύπτουν µερικές λεπτοµέρειες αποθήκευσης των δεδοµένων αλλά µπορούν να υλοποιηθούν σ' ένα υπολογιστικό σύστηµα κατά άµεσο τρόπο. Άρα τα µοντέλα δεδοµένων είναι µια συλλογή από εργαλεία για την περιγραφή δοµών δεδοµένων, συσχετίσεων δεδοµένων, τη σηµασιολογία (semantics) δεδοµένων και τους περιορισµούς δεδοµένων. Υπάρχουν τρεις διαφορετικές οµάδες που αντιστοιχούν στις τρεις φάσεις σχεδιασµού: εννοιολογικό µοντέλο εννοιολογικός σχεδιασµός εννοιολογικό σχήµα παραστατικό µοντέλο λογικός σχεδιασµός λογικό σχήµα φυσικό µοντέλο φυσικός σχεδιασµός φυσικό σχήµα βάσης Τα εννοιολογικά µοντέλα δεδοµένων χρησιµοποιούν έννοιες όπως οι οντότητες, τα γνωρίσµατα και οι συσχετίσεις. Μια οντότητα (entity) αντιπροσωπεύει ένα αντικείµενο ή µια έννοια του πραγµατικού κόσµου, όπως έναν εργαζόµενο ή ένα έργο για το οποίο αποθηκεύονται πληροφορίες στη βάση δεδοµένων. Ένα γνώρισµα (attribute) αντιπροσωπεύει µια ιδιότητα που περιγράφει περαιτέρω µια οντότητα, όπως το επίθετο ενός εργαζόµενου ή το µισθό του. Μια συσχέτιση (relationship) µεταξύ δύο ή περισσότερων οντοτήτων αντιπροσωπεύει µια αλληλεπίδραση µεταξύ των οντοτήτων για παράδειγµα η "εργάζεται-σε" είναι µια συσχέτιση µεταξύ ενός εργαζοµένου και ενός Σελ. 22

2.2 Μοντέλα δεδοµένων, σχήµατα και στιγµιότυπα έργου. Στο επόµενο κεφάλαιο θα παρουσιάσουµε το µοντέλο Οντοτήτων-Συσχετίσεων, ένα δηµοφιλές µοντέλο δεδοµένων υψηλού επιπέδου. όνοµα-πελάτη οδός-πελάτη πόλη-πελάτη υπόλοιπο αριθµός-λογαριασµού πελάτης καταθέτης λογαριασµός Σχήµα : Ένα διάγραµµα του µοντέλου οντοτήτων-συσχετίσεων (ER). Η εννοιολογική δοµή µιας βάσης δεδοµένων µπορεί να εκφραστεί γραφικά από ένα διάγραµµα οντοτήτων-συσχετίσεων Τα παραστατικά µοντέλα δεδοµένων ή µοντέλα υλοποίησης είναι αυτά που χρησιµοποιούνται πιο συχνά στα σύγχρονα εµπορικά Σ Β και περιλαµβάνουν το ευρέως χρησιµοποιούµενο σχεσιακό µοντέλο δεδοµένων και τα αποκαλούµενα παραδοσιακά συστήµατα -το δικτυωτό και το ιεραρχικό- που έχουν χρησιµοποιηθεί ευρέως στο παρελθόν. Τα παραστατικά µοντέλα δεδοµένων παριστάνουν δεδοµένα χρησιµοποιώντας δοµές εγγραφών και γι' αυτό µερικές φορές ονοµάζονται βασισµένα σε εγγραφές (record-based) µοντέλα δεδοµένων. Πελάτης άνειο κωδικός πελάτη όνοµα-πελάτη διεύθυνση-πελάτη πόλη-πελάτη αριθµός-δανείου ποσό 192-83-7465 Κυριάκου Όγλ 25 Αθήνα -141 2000 254-56-1480 Ευσταθίου Γαλλίας 47 Λάρισα -541 1500 147-25-1023 Αρµένης Ροζού 7 Σέρρες -142 1800 187-25-2558 ηµητρίου Κοραή 55 Βελεστίνο -355 2200 312-512-9641 Βλάχου Ερµού 24 Αλµυρός -369 1500 142-878-117 Ιωάννου ήµου 11 Καβάλα -212 3000 Εικόνα: µία σχεσιακή βάση δεδοµένων Η λογική σχεδίαση µιας σχεσιακής βάσης δεδοµένων απεικονίζεται µε ένα σχεσιακό σχήµα βάσης, δηλαδή µε ένα σύνολο σχέσεων. 2.2.2 Σχήµατα, Στιγµιότυπα και Κατάσταση της Βάσης εδοµένων Για να µπορούµε να ξεχωρίζουµε τα δεδοµένα της βάσης και την περιγραφή της βάσης χρησιµοποιούµε τους όρους στιγµιότυπα βάσης δεδοµένων (database instance) και σχήµα βάσης δεδοµένων (database schema) αντίστοιχα Η γενική δοµή της βάσης καλείται σχήµα και ορίζεται κατά τη δηµιουργία της. Ένα σχήµα βάσης δεδοµένων δεν αλλάζει συχνά. Σελ. 23

ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΣΥΣΤΗΜΆΤΩΝ ΒΆΣΕΩΝ Ε ΟΜΈΝΩΝ Οι πληροφορίες σε µια βάση δεδοµένων σε ένα συγκεκριµένο χρονικό σηµείο καλούνται στιγµιότυπα (instance) της βάσης δεδοµένων. Κάθε αλλαγή των δεδοµένων δηµιουργεί καινούργια στιγµιότυπα της βάσης δεδοµένων. Η αναλογία των στιγµιότυπων και του σχήµατος µε τις έννοιες των γλωσσών προγραµµατισµού είναι Ορισµοί τύπων δεδοµένων σχήµα Τιµή µιας µεταβλητής στιγµιότυπο Η περιγραφή της βάσης δεδοµένων που λέγεται σχήµα της βάσης (database schema) προσδιορίζεται κατά το σχεδιασµό της βάσης δεδοµένων και δεν αναµένεται να αλλάζει συχνά. Τα περισσότερα µοντέλα δεδοµένων διαθέτουν συγκεκριµένες συµβάσεις για τη διαγραµµατική αναπαράσταση των σχηµάτων. Ένα αναπαραστηµένο σχήµα λέγεται διάγραµµα σχήµατος (schema diagram). Ονοµάζουµε κάθε αντικείµενο του σχήµατος -όπως το ΦΟΙΤΗΤΗΣ ή το ΜΑΘΗΜΑ- δοµικό στοιχείο του σχήµατος. Για παράδειγµα από ένα σχεσιακό µοντέλο δεδοµένων προκύπτει η περιγραφή της βάσης δεδοµένων που ονοµάζεται σχεσιακό σχήµα Β. Το σχήµα αφορά τη δοµή της βάσης δεδοµένων χωρίς τα στιγµιότυπα των δεδοµένων (εγγραφές). Εικόνα. Ένα διάγραµµα σχεσιακού σχήµατος µίας Πανεπιστηµιακής βάσης δεδοµένων µε το σχεσιακό µοντέλο Ένα διάγραµµα σχήµατος παρουσιάζει µόνο τα ονόµατα των τύπων εγγραφών και των στοιχειωδών δεδοµένων, καθώς και µερικούς τύπους περιορισµών. Για παράδειγµα, η εικόνα δεν δείχνει ούτε τον τύπο δεδοµένων, ούτε τις συσχετίσεις ανάµεσα στα διάφορα αρχεία. Πολλοί τύποι περιορισµών δεν παριστάνονται στα διαγράµµατα σχηµάτων. Για παράδειγµα, ένας περιορισµός όπως "οι φοιτητές της Πληροφορικής πρέπει να περάσουν το µάθηµα COSC1310 πριν το τέλος του δεύτερου έτους σπουδών" είναι αρκετά δύσκολο να παρασταθεί. Τα πραγµατικά δεδοµένα σε µια βάση δεδοµένων µπορεί να αλλάζουν συχνά. Παράδειγµα, η βάση δεδοµένων που παρουσιάζεται στην εικόνα αλλάζει κάθε φορά που εισάγουµε ένα νέο φοιτητή ή εισάγουµε ένα νέο βαθµό για κάποιον φοιτητή. Τα δεδοµένα που βρίσκονται στη βάση δεδοµένων σε µια συγκεκριµένη χρονική στιγµή ονοµάζονται τρέχουσα κατάσταση (state) ή σύνολο στιγµιότυπων (set of instances) Σελ. 24

2.2 Μοντέλα δεδοµένων, σχήµατα και στιγµιότυπα της βάσης δεδοµένων. Το Σ Β είναι εν µέρει υπεύθυνο να εξασφαλίζει ότι κάθε κατάσταση της βάσης δεδοµένων είναι µια έγκυρη κατάσταση. Η διαφοροποίηση µεταξύ του σχήµατος και της κατάστασης µιας βάσης δεδοµένων είναι πολύ σηµαντική. Όταν ορίζουµε µια νέα βάση δεδοµένων, προσδιορίζουµε µόνο το σχήµα της βάσης δεδοµένων στο Σ Β. Στο σηµείο αυτό, η αντίστοιχη κατάσταση της βάσης δεδοµένων είναι η "κενή κατάσταση" χωρίς δεδοµένα. Παίρνουµε την "αρχική κατάσταση" της βάσης δεδοµένων όταν η βάση φορτωθεί µε αρχικά δεδοµένα. Εικόνα: Στιγµιότυπο µίας Πανεπιστηµιακής Σχεσιακής Βάσης εδοµένων Σελ. 25

ΕΝΝΟΙΕΣ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΣΥΣΤΗΜΆΤΩΝ ΒΆΣΕΩΝ Ε ΟΜΈΝΩΝ 2.3 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων ενός συστήµατος Β παρουσιάζεται στο παρακάτω. ιακρίνονται 3 επίπεδα - "σχήµατα": το εξωτερικό, το εννοιολογικό και το εσωτερικό/φυσικό, καθώς και οι αντίστοιχες διαπαφές από το ένα σχήµα στο άλλο και προς τη Β. Το Σ Β είναι υπεύθυνο για τον ορισµό και την υλοποίηση όλων των διεπαφών, ιδιότητα πολύ θετική αφού δεν αφήνεται σαν επιπλέον εργασία στον προγραµµατιστή. Η αρχιτεκτονική 3-επιπέδων χωρίζεται σε τρία επίπεδα: το εσωτερικό, το εννοιολογικό, και το εξωτερικό επίπεδο: Εικόνα. Τα τρία επίπεδα της αρχιτεκτονικής Το εσωτερικό επίπεδο (internal level) είναι αυτό που βρίσκεται πιο κοντά στη φυσική αποθήκευση Το εξωτερικό επίπεδο (external level) είναι αυτό που βρίσκεται πιο κοντά στους χρήστες (απόψεις µεµονωµένων χρηστών). Το εννοιολογικό επίπεδο (conceptual level) είναι ένα "ενδιάµεσο επίπεδο" που συνδέει τα δύο προηγούµενα (κοινοτική άποψη χρηστών). Εδώ δεν έχει ιδιαίτερη σηµασία αν το σύστηµα που εξετάζουµε είναι σχεσιακό ή όχι. Είναι όµως χρήσιµο να περιγράψουµε µε συντοµία τον τρόπο µε τον οποίο υλοποιούνται συνήθως τα τρία επίπεδα της αρχιτεκτονικής σε ένα σχεσιακό σύστηµα: Σελ. 26