Bάσεις ∆εδοµένων - TEIION...

224
Bάσεις ∆εδοµένων

Transcript of Bάσεις ∆εδοµένων - TEIION...

  • Bάσεις ∆εδοµένων

  • ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    Σχολή Θετικών Επιστηµών και Τεχνολογίας

    Πρόγραµµα Σπουδών

    ΠΛHPOΦOPIKH

    Θεµατική Ενότητα

    AΡΧΕΣ TΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ

    Τόµος Γ'

    Bάσεις ∆εδοµένωνMIXAHΛ ΞENOΣ

    ∆ρ Mηχανικός H/Y και Πληροφορικής

    ∆HMHTPIOΣ XPIΣTO∆OYΛAKHΣ

    Kαθηγητής Tµήµατος Mηχανικών H/Y και Πληροφορικής

    Πανεπιστηµίου Πατρών

    ΠATPA 2000

  • ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    Σχολή Θετικών Επιστηµών και Τεχνολογίας

    Πρόγραµµα Σπουδών

    ΠΛHPOΦOPIKH

    Θεµατική Ενότητα

    APXEΣ TEXNOΛOΓIAΣ ΛOΓIΣMIKOY

    Τόµος Γ'

    Bάσεις ∆εδοµένων

    Συγγραφή

    MIXAHΛ ΞENOΣ

    ∆ρ Mηχανικός H/Y και Πληροφορικής

    ∆HMHTPIOΣ XPIΣTO∆OYΛAKHΣ

    Kαθηγητής Tµήµατος Mηχανικών H/Y και Πληροφορικής Πανεπιστηµίου Πατρών

    Κριτική Ανάγνωση

    AΛEΞIOΣ ∆EΛHΣ

    Aναπληρωτής Kαθηγητής Eπιστήµης Yπολογιστών, Polytechnic University – NY

    Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου

    ΠANAΓIΩTHΣ ΠINTEΛAΣ

    Καθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Πατρών

    Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση

    HΛIAΣ ΣTAYPOΠOYΛOΣ

    Γλωσσική Επιµέλεια

    IΩANNHΣ ΘEOΦIΛAΣ

    Τεχνική Επιµέλεια

    ΕΣΠΙ ΕΚ∆ΟΤΙΚΗ Ε.Π.Ε.

    Καλλιτεχνική Επιµέλεια – Σελιδοποίηση

    TYPORAMA

    Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων

    ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 1997–2000

    ISBN: 960–538–116–8

    Kωδικός Έκδοσης: ΠΛH 11/3

    Copyright 2000 για την Ελλάδα και όλο τον κόσµο

    ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244

    Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού

    ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη.

  • ¶ÂÚȯfiÌÂÓ·

    Πρόλογος............................................................................................................................................... 9

    K ∂ º ∞ § ∞ π √ 1

    EÈÛ·ÁˆÁ‹

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................. 11

    1.1 Βασικοί ορισµοί .......................................................................................................... 13

    1.1.1 ∆εδοµένα και πληροφορία .................................................................. 13

    1.1.2 Βάση δεδοµένων .......................................................................................... 15

    1.1.3 Ιστορική αναδροµή .................................................................................... 17

    1.2 Σύστηµα διαχείρισης βάσεων δεδοµένων .................................. 20

    1.2.1 ∆ιαφορά βάσης δεδοµένων µε σύστηµα διαχείρισης βάσεων δεδοµένων ...................................................... 21

    1.2.2 ∆οµή ενός συστήµατος διαχείρισης βάσεων δεδοµένων .................................................................................... 22

    1.2.3 Tι παρέχει ένα σύστηµα διαχείρισης βάσεων δεδοµένων .................................................................................... 23

    1.3 Τι παρέχει η βάση δεδοµένων ........................................................................ 27

    1.3.1 Tαυτόχρονη προσπέλαση ..................................................................... 28

    1.3.2 Ταχύτατη εξαγωγή απαντήσεων ..................................................... 28

    1.3.3 Eυελιξία ............................................................................................................... 29

    1.3.4 Υψηλή ποιότητα δεδοµένων .............................................................. 29

    1.3.5 Αιτίες για µη χρήση βάσεων δεδοµένων ................................ 30

    1.4 Επίπεδα χρηστών ....................................................................................................... 32

    1.4.1 ∆ιαχειριστής συστήµατος .................................................................... 32

    1.4.2 Ιδιοκτήτης βάσης δεδοµένων ............................................................ 33

    1.4.3 Xρήστες υψηλής διαβάθµισης ......................................................... 33

    1.4.4 Xρήστες κατώτερης διαβάθµισης ................................................. 34

    Σύνοψη ................................................................................................................................................ 35Bιβλιογραφία για περαιτέρω µελέτη ........................................................................... 37

    K ∂ º ∞ § ∞ π √ 2

    AÚ¯ÈÙÂÎÙÔÓÈ΋ Î·È º˘ÛÈ΋ OÚÁ¿ÓˆÛË Aگ›ˆÓ

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................. 39

  • 6 B A ™ E I ™ ¢ E ¢ O M E N ø N

    2.1 Eπίπεδα Aρχιτεκτονικής ..................................................................................... 41

    2.1.1 Aρχιτεκτονική βάσεων δεδοµένων .............................................. 42

    2.1.2 Το εξωτερικό επίπεδο .............................................................................. 42

    2.1.3 Tο φυσικό επίπεδο ...................................................................................... 43

    2.1.4 Το επίπεδο αντίληψης .............................................................................. 44

    2.2 Το φυσικό επίπεδο .................................................................................................... 48

    2.2.1 Τύποι δεδοµένων και πεδία ................................................................ 48

    2.2.2 Εγγραφές και αρχεία ................................................................................ 48

    2.2.3 Μονάδες αποθήκευσης ........................................................................... 50

    2.3 Oργάνωση αρχείων στο φυσικό επίπεδο ............................................... 52

    2.3.1 Βασικές έννοιες της οργάνωσης αρχείων .............................. 53

    2.3.2 Κατακερµατισµός αρχείων ................................................................. 55

    2.3.3 ∆εικτοδότηση αρχείων και κατάλογοι ...................................... 56

    2.3.4 ∆έντρα τύπου B και δέντρα τύπου B+ ...................................... 59

    Σύνοψη ................................................................................................................................................ 61Bιβλιογραφία για περαιτέρω µελέτη ........................................................................... 61

    K ∂ º ∞ § ∞ π √ 3

    ªÔÓÙÂÏÔÔ›ËÛË Î·È £¤Ì·Ù· ™¯Â‰›·Û˘

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................. 63

    3.1 Το ιεραρχικό µοντέλο ............................................................................................ 65

    3.2 Το δικτυακό µοντέλο .............................................................................................. 69

    3.3 ∆ιαγράµµατα σχέσεων – Oντοτήτων ....................................................... 71

    3.3.1 Οντότητες και κατηγορήµατα .......................................................... 72

    3.3.2 Σχέσεις οντοτήτων ..................................................................................... 76

    3.3.3 ∆οµικά στοιχεία των διαγραµµάτων .......................................... 80

    3.3.4 Μοντελοποίηση µε διαγράµµατα σχέσεων – οντοτήτων .............................................................................. 83

    Σύνοψη ................................................................................................................................................ 91Bιβλιογραφία για περαιτέρω µελέτη ........................................................................... 92

    K ∂ º ∞ § ∞ π √ 4

    ™¯ÂÛȷΤ˜ B¿ÛÂȘ ¢Â‰Ô̤ӈÓ

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................. 93

    4.1 Το σχεσιακό µοντέλο ............................................................................................. 85

  • 4.1.1 Βασικές έννοιες ............................................................................................ 96

    4.1.2 Ακεραιότητα δεδοµένων ....................................................................... 99

    4.2 Σχεσιακή άλγεβρα ........................................................................................ 104

    4.2.1 Eπιλογή ............................................................................................................. 106

    4.2.2 Προβολή .......................................................................................................... 106

    4.2.3 Ένωση ................................................................................................................ 107

    4.2.4 Tοµή .................................................................................................................... 107

    4.2.5 ∆ιάφορα ............................................................................................................ 107

    4.2.6 Καρτεσιανό γινόµενο ............................................................................ 108

    4.2.7 Σύνδεση ............................................................................................................ 108

    4.2.8 Φυσική σύνδεση ....................................................................................... 108

    4.3 Σχεσιακός υπολογισµός .................................................................................... 109

    Σύνοψη ............................................................................................................................................. 112Bιβλιογραφία για περαιτέρω µελέτη ......................................................................... 112

    K ∂ º ∞ § ∞ π √ 5

    H °ÏÒÛÛ· EÚˆÙ‹ÛÂˆÓ SQL

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις .............................................................................................. 113

    5.1 Αρχές των γλωσσών ερωτήσεων .............................................................. 115

    5.2 Αναζήτηση δεδοµένων στην SQL ............................................................ 117

    5.2.1 Select… From… Where… .............................................................. 118

    5.2.2 ∆ιάταξη των αποτελεσµάτων ........................................................ 125

    5.2.3 Λοιπές εντολές στη συνθήκη ......................................................... 127

    5.2.4 Μετονοµασία πινάκων ........................................................................ 129

    5.2.5 Εντολές συνόλων ..................................................................................... 130

    5.2.6 Σύνδεση πινάκων ..................................................................................... 133

    5.2.7 Αρίθµηση, µέγιστα – ελάχιστα και οµαδοποίηση ....... 136

    5.2.8 Γενική µορφή εντολής αναζήτησης ......................................... 137

    5.3 Oρισµός, διαχείριση και παρουσίαση δεδοµένων στην SQL ......................................................................................... 138

    5.3.1 Create table και alter table ................................................................ 138

    5.3.2 Insert, delete, update .............................................................................. 140

    5.3.3 Όψεις ................................................................................................................... 141

    Σύνοψη ............................................................................................................................................. 141Bιβλιογραφία για περαιτέρω µελέτη ........................................................................ 142

    7¶ E P I E X O M E N A

  • 8 B A ™ E I ™ ¢ E ¢ O M E N ø N

    K ∂ º ∞ § ∞ π √ 6

    H °ÏÒÛÛ· EÚˆÙ‹ÛÂˆÓ QBE

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ............................................................................................. 143

    6.1 Η φιλοσοφία της QBE ....................................................................................... 145

    6.2 Συνθήκες ........................................................................................................................ 148

    6.3 Η QBE σε συνδυασµό µε γραφικό περιβάλλον ........................... 152

    Σύνοψη ............................................................................................................................................. 155Bιβλιογραφία για περαιτέρω µελέτη ........................................................................ 156

    K ∂ º ∞ § ∞ π √ 7

    ∞ÓÙÈÎÂÈÌÂÓÔÛÙÚ·Ê›˜ B¿ÛÂȘ ¢Â‰Ô̤ӈÓ

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ............................................................................................. 157

    7.1 Η φιλοσοφία των αντικειµενοστραφών βάσεων δεδοµένων .............................. 159

    7.2 Η αντικειµενοστραφής γλώσσα ερωτήσεων OQLκαι η πρότυπη γλώσσα ερωτήσεων SQL3 ....................................... 161

    Σύνοψη ............................................................................................................................................. 164Bιβλιογραφία για περαιτέρω µελέτη ........................................................................ 164

    K ∂ º ∞ § ∞ π √ 8

    AÓ·ÎÂÊ·Ï·›ˆÛË Î·È EfiÌÂÓ· B‹Ì·Ù· MÂϤÙ˘

    Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ............................................................................................. 165

    Συνέχεια µελέτης .................................................................................................... 166

    Eπίλογος ......................................................................................................................................... 169

    Aπαντήσεις ασκήσεων αυτοαξιολόγησης ......................................................... 171

    Oδηγίες και κατευθύνσεις για τις δραστηριότητες .................................... 205

    Aλφαβητικό ευρετήριο όρων (ελληνικά – αγγλικά) ................................ 215

    Aλφαβητικό ευρετήριο όρων (αγγλικά – ελληνικά) ................................ 217

    Γλωσσάριο ................................................................................................................................... 219

  • ¶ÚfiÏÔÁÔ˜

    Έχοντας ολοκληρώσει τη µελέτη των δύο πρώτων τόµων της Θεµατικής Ενότητας

    «Αρχές Τεχνολογίας Λογισµικού», έχετε αποκτήσει σηµαντικές γνώσεις για ένα

    µεγάλο τµήµα της διαδικασίας ανάπτυξης λογισµικού, καθώς και εξειδικευµένες

    γνώσεις για θέµατα όπως τα Λειτουργικά Συστήµατα των Υπολογιστών.

    Στον τρίτο τόµο της Θεµατικής Ενότητας «Αρχές Τεχνολογίας Λογισµικού» που

    έχετε στα χέρια σας και που έχει τίτλο «Βάσεις ∆εδοµένων» θα µιλήσουµε για τα

    εργαλεία του υπολογιστή που χρησιµοποιούνται για την οργάνωση των δεδοµένων

    µας καθώς και για να δίνουν απαντήσεις σε ερωτήσεις που σχετίζονται µε αυτά τα

    δεδοµένα.

    Ο τόµος αυτός οργανώνεται σε οκτώ κεφάλαια. Στο 1ο κεφάλαιο δίδονται οι βασι-

    κοί ορισµοί, περιγράφεται η Βάση ∆εδοµένων και το Σύστηµα ∆ιαχείρισης Βάσεων

    ∆εδοµένων, συζητούνται θέµατα χρήσης της Βάσης ∆εδοµένων και παρουσιάζονται

    οι χρήστες των Βάσεων ∆εδοµένων.

    Στο 2ο κεφάλαιο περιγράφεται η αρχιτεκτονική των Βάσεων ∆εδοµένων και δίνε-

    ται έµφαση στο φυσικό επίπεδο, όπου και συζητιούνται οι δοµές αποθήκευσης που

    χρησιµοποιούν τα Συστήµατα ∆ιαχείρισης Βάσεων ∆εδοµένων.

    Στο 3ο κεφάλαιο συζητούνται θέµατα σχεδίασης της Βάσης ∆εδοµένων, παρουσιά-

    ζονται συνοπτικά µοντέλα Βάσεων ∆εδοµένων και δίνεται έµφαση στα ∆ιαγράµµα-

    τα Σχέσεων – Οντοτήτων.

    Στο 4ο κεφάλαιο περιγράφουµε το Σχεσιακό Μοντέλο και παρουσιάζουµε συνοπτι-

    κά τη Σχεσιακή Άλγεβρα και το Σχεσιακό Υπολογισµό.

    Στο 5ο κεφάλαιο περιγράφουµε τη γλώσσα ερωτήσεων SQL, παρουσιάζουµε τις

    βασικές αρχές των γλωσσών ερωτήσεων και το σκοπό που εξυπηρετούν αυτές,

    καθώς και τις εντολές της γλώσσας ερωτήσεων SQL.

    Στο 6ο κεφάλαιο περιγράφουµε τη γλώσσα ερωτήσεων QBE, µιλάµε για τις συνθή-

    κες σε QBE και δείχνουµε πώς η QBE µπορεί να χρησιµοποιηθεί σε συνεργασία µε

    ένα γραφικό περιβάλλον υποβολής ερωτήσεων.

    Στο 7ο κεφάλαιο περιγράφουµε πολύ συνοπτικά τις βασικές αρχές των αντικειµε-

    νοστραφών Βάσεων ∆εδοµένων και σας παρουσιάζουµε βασικές έννοιες της αντι-

    κειµενοστραφούς γλώσσας ερωτήσεων OQL και της SQL3.

    Τέλος, στο 8ο κεφάλαιο κάνουµε µία σύνοψη της ύλης που παρουσιάσαµε και σας

  • 1 0 B A ™ E I ™ ¢ E ¢ O M E N ø N

    δίνουµε κατευθύνσεις για τη συνέχεια της µελέτης σας.

    Σε όλα τα κεφάλαια υπάρχουν δραστηριότητες και ασκήσεις αυτοαξιολόγησης που

    θα σας βοηθήσουν να κατανοήσετε καλύτερα την ύλη του τόµου αυτού.

    Mερικοί από εσάς, που έχουν ήδη κάποιες γνώσεις πληροφορικής, θα παρατηρήσουν

    ότι κάποιοι ορισµοί στο βιβλίο δεν είναι αυτοί που θα περίµεναν. Aυτό έχει γίνει

    γιατί δεν θέλουµε να δώσουµε ορισµούς που περιέχουν έννοιες που δεν έχετε διδα-

    χθεί. Έτσι, αρκετοί ορισµοί έχουν απλοποιηθεί για να είναι κατανοητοί από όλους

    σας, µε βάση τις γνώσεις που έχετε αποκτήσει µέχρι τώρα.

    Στο τέλος του τόµου θα πρέπει να γνωρίζετε:

    • τις βασικές αρχές των Βάσεων ∆εδοµένων και των Συστηµάτων ∆ιαχείρισης

    Βάσεων ∆εδοµένων,

    • τα Μοντέλα Βάσεων ∆εδοµένων,

    • την οργάνωση των δεδοµένων στο φυσικό επίπεδο,

    • τις βασικές αρχές των Σχεσιακών και Αντικειµενοστραφών Βάσεων ∆εδοµέ-

    νων.

    Επίσης, θα πρέπει να µπορείτε να:

    • σχεδιάζετε το διάγραµµα Σχέσεων – Οντοτήτων για κάθε Βάση ∆εδοµένων,

    • περιγράφετε ερωτήσεις σε Σχεσιακή Άλγεβρα και Σχεσιακό Υπολογισµό,

    • περιγράφετε ερωτήσεις και εντολές σε SQL και QBE.

    Oι συγγραφείς θέλουν να ευχαριστήσουν όλους εκείνους που συντέλεσαν σηµαντι-

    κά στη βελτίωση του βιβλίου αυτού και βοήθησαν στην παραγωγή του.

    Παρακαλούµε για την κατανόησή σας σχετικά µε µικρολάθη ή παραλήψεις που πιθα-

    νόν µας «ξέφυγαν» κατά τη συγγραφή αυτού του βιβλίου, και που ίσως εντοπίσετε·

    θα εκτιµούσαµε πολύ την ευγενική συνεισφορά σας για τον εντοπισµό και τη διόρ-

    θωσή τους. Παρόλα αυτά, είµαστε σίγουροι ότι το βιβλίο αυτό θα αποτελέσει ένα

    πολύτιµο «εργαλείο µάθησης» στα χέρια σας.

    Mιχάλης Ξένος – ∆ηµήτρης Xριστοδουλάκης

  • EÈÛ·ÁˆÁ‹

    ™ÎÔfi˜

    Σκοπός αυτού του κεφαλαίου είναι: α) Να σας εισάγει στις βασικές

    έννοιες των βάσεων δεδοµένων, β) να σας ενηµερώσει για την ύλη που

    καλύπτεται σε αυτό το βιβλίο και γ) να σας προτείνει εναλλακτικούς

    τρόπους οργάνωσης της µελέτης σας.

    ¶ÚÔÛ‰ÔÎÒÌÂÓ· ∞ÔÙÂϤÛÌ·Ù·

    Όταν θα έχετε ολοκληρώσει τη µελέτη αυτού του κεφαλαίου θα µπο-

    ρείτε να:

    • εξηγήσετε τους βασικούς όρους που σχετίζονται µε το αντικείµενο

    των Βάσεων ∆εδοµένων

    • διακρίνετε τις έννοιες δεδοµένα και πληροφορία

    • εξηγήσετε τις διαφορές ανάµεσα σε ένα Σύστηµα ∆ιαχείρισης Βάσε-

    ων ∆εδοµένων και µίας Βάσης ∆εδοµένων

    • διακρίνετε µεταξύ των περιπτώσεων όπου απαιτείται ή όχι η χρήση

    (ή κατασκευή) µίας Βάσης ∆εδοµένων

    • αναφέρετε τι παρέχει µία Βάση ∆εδοµένων και τι ένα Σύστηµα ∆ια-

    χείρισης Βάσεων ∆εδοµένων

    • περιγράψετε τις βασικές λειτουργίες που επιτελεί ένα Σύστηµα ∆ια-

    χείρισης Βάσεων ∆εδοµένων

    • περιγράψετε τους χρήστες µιας Βάσης ∆εδοµένων και τους στόχους

    καθενός από τη χρήση της Βάσης ∆εδοµένων

    ŒÓÓÔȘ ÎÏÂȉȿ

    • Βάση ∆εδοµένων (Database)

    • Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων (Database Management

    System (DBMS))

    • ∆εδοµένα (Data)

    • Πληροφορία (Information)

    • Οργάνωση ∆εδοµένων (Data Organization)

    1∫ ∂ º ∞ § ∞ π √

  • 1 2 K E º A § A I O 1 : E I ™ A ° ø ° H

    • Χρήστες Βάσης ∆εδοµένων (Database Users)

    • Όψεις ∆εδοµένων (Data Views)

    • Επίπεδα Προσπέλασης Βάσης ∆εδοµένων (Database User Levels)

    ∂ÈÛ·ÁˆÁÈΤ˜ ¶·Ú·ÙËÚ‹ÛÂȘ

    Στο κεφάλαιο αυτό εισάγεται η έννοια των Βάσεων ∆εδοµένων και

    των αναγκών που έρχονται να καλύψουν. Θα συζητήσουµε τις βασι-

    κές έννοιες που πρέπει να γνωρίζετε για τις Βάσεις ∆εδοµένων, θα

    περιγράψουµε το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων (DBMS)

    και τις διαφορές του από τη Βάση ∆εδοµένων, θα αναλύσουµε τις

    δυνατότητες που σας παρέχουν οι Βάσεις ∆εδοµένων και θα δούµε

    τους πιθανούς χρήστες µιας Βάσης ∆εδοµένων και τι ζητάει κάθε ένας

    από αυτούς.

  • 1.1 µ·ÛÈÎÔ› ÔÚÈÛÌÔ›

    ™ÎÔfi˜

    Σκοπός της ενότητας είναι να ορίσει τις βασικές έννοιες µε τις οποίες

    θα ασχοληθούµε στη συνέχεια του µαθήµατος, δηλαδή τα δεδοµένα,

    την πληροφορία, τη Βάση ∆εδοµένων, το σκοπό της Βάσης ∆εδοµένων

    (δηλαδή το λόγο δηµιουργίας και χρήσης της) και τους χρήστες µιας

    Βάσης ∆εδοµένων.

    ¶ÚÔÛ‰ÔÎÒÌÂÓ· ∞ÔÙÂϤÛÌ·Ù·

    Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπο-

    ρείτε να:

    • εξηγήσετε τους όρους Βάση ∆εδοµένων, δεδοµένα, πληροφορία και

    χρήστες

    • διακρίνετε ανάµεσα στις έννοιες «δεδοµένα» και «πληροφορία»

    • δώσετε τουλάχιστον τρία παραδείγµατα Βάσεων ∆εδοµένων

    • αναγνωρίσετε Βάσεις ∆εδοµένων που χρησιµοποιούµε στη ζωή µας

    • αναφέρετε ένα πρόβληµα που σχετίζεται µε Βάσεις ∆εδοµένων χρη-

    σιµοποιώντας τεχνικούς όρους

    ∂ÈÛ·ÁˆÁÈΤ˜ ¶·Ú·ÙËÚ‹ÛÂȘ

    Στην ενότητα αυτή θα δοθούν οι βασικοί όροι τόσο στα Ελληνικά όσο

    και στα Αγγλικά (σε παρενθέσεις). Αυτό γίνεται ώστε να σας δώσουµε

    τη δυνατότητα να γνωρίζετε και την αγγλική µετάφραση του κάθε όρου,

    µια και η περισσότερη βιβλιογραφία που παρατίθεται στο τέλος του

    κεφαλαίου είναι στα αγγλικά.

    1.1.1 ¢Â‰Ô̤ӷ Î·È ÏËÚÔÊÔÚ›·

    Πριν προχωρήσουµε στην έννοια της Βάσης ∆εδοµένων πρέπει να δια-

    κρίνουµε µεταξύ των εννοιών δεδοµένα (data) και πληροφορία

    (information). Από τα πρώτα χρόνια της χρήσης των Ηλεκτρονικών

    Υπολογιστών οι έννοιες δεδοµένα και πληροφορία συγχέονταν µετα-

    ξύ τους. �

    � Ως δεδοµένα

    ορίζονται στοιχεία, έννοιες

    και οδηγίες, τυποποιηµένα

    σε καθορισµένη µορφή,

    κατάλληλα για επεξεργασία

    από ανθρώπους ή µηχανές.

  • 1 4 K E º A § A I O 1 : E I ™ A ° ø ° H

    Έτσι τα δεδοµένα µπορούν να είναι λέξεις π.χ. {“Νίκος”, “Μιχάλης”,

    “Μαρία”, “Θάλασσα”, “Αυτοκίνητο”}, αριθµοί, π.χ. {1, 2, 3, 5, 78},

    συµβολοσειρές (strings) π.χ. {“Κώστας”, “5621”, “ΤΡ–882”, “6&5

    #1”, “+–/*”}, ή σύµβολα που έχουν νόηµα σε συγκεκριµένο πλαί-

    σιο αναφοράς. Ένα τέτοιο παράδειγµα, δεδοµένων είναι ψηφιοποιη-

    µένες εικόνες µε κάποια καθορισµένη τυποποίηση. Aυτές οι εικόνες

    θα έχουν νόηµα µόνο µε τη χρήση ενός συγκεκριµένου προγράµµα-

    τος απεικόνισης, δηλαδή µέσα στο πλαίσιο το προγράµµατος απεικό-

    νισης, ενώ έξω από αυτό είναι ακατανόητες συλλογές συµβόλων.

    Έτσι όπως ορίσαµε τα δεδοµένα είναι φανερό ότι είναι κατάλληλα για

    αποθήκευση σε ηλεκτρονικό υπολογιστή. Οι άνθρωποι, όµως, χρησι-

    µοποιούσαν δεδοµένα –πολύ πριν από την ανακάλυψη των ηλεκτρο-

    νικών υπολογιστών– στα πλαίσια ενός πεδίου αναφοράς για την εξα-

    γωγή συµπερασµάτων ή την λήψη αποφάσεων. Για παράδειγµα, από

    τα δεδοµένα {85, 210, 515} και τα δεδοµένα {“Κόρινθος”, “Πάτρα”,

    “Θεσσαλονίκη”}, αλλά και από τη γνώση (πεδίο αναφοράς) ότι τα

    πρώτα δεδοµένα περιγράφουν αποστάσεις από την Αθήνα για τις

    πόλεις που ορίζονται στα δεύτερα δεδοµένα, κάποιος µπορεί να κατα-

    λάβει ότι «η Πάτρα είναι πιο µακριά από την Αθήνα από ότι η Κόριν-

    θος, αλλά πολύ κοντύτερα στην Aθήνα από ότι η Θεσσαλονίκη». Αυτό

    το συµπέρασµα είναι πληροφορία. �

    Συνοψίζοντας µπορούµε να πούµε ότι τα δεδοµένα είναι κωδικοποιη-

    µένη αναπαράσταση πληροφορίας, ενώ η πληροφορία εξάγεται από

    τα δεδοµένα µε βάση το πεδίο αναφοράς των δεδοµένων ή συγκεκρι-

    µένη γνώση για αυτά.

    � Η πληροφορία εξάγεται

    από τα δεδοµένα και

    χρησιµοποιείται στην

    επίλυση προβληµάτων.

    Ακολουθούν µερικές προτάσεις.

    Ποιες από αυτές είναι σωστές και ποιες λάθος;

    Σωστό Λάθος

    Τα {1, 2, 4, 5, 7, 9} είναι δεδοµένα. ❏ ❏

    Τα {1, “Νίκος”, 4, 5, “Ποδήλατο”} είναι δεδοµένα. ❏ ❏

    Τα {“Αθήνα”, 34, “Παρίσι”, 28, “Μόσχα”, 11,

    “Μαδρίτη”, 37, “Ρώµη”, 33} είναι πληροφορία. ❏ ❏

    ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘

    1.1

  • 1.1.2 µ¿ÛË ‰Â‰Ô̤ӈÓ

    Ένα βασικό χαρακτηριστικό των δεδοµένων, έτσι όπως τα παρουσιά-

    σαµε είναι ότι είναι κατάλληλα για να αποθηκευτούν σε ηλεκτρονικό

    υπολογιστή. Αυτό οδηγεί στο επόµενο βήµα που είναι η δηµιουργία

    και χρήση Βάσεων ∆εδοµένων (databases). �

    Η σχετικότητα των δεδοµένων είναι σηµαντική για τον ορισµό µιας

    Βάσης ∆εδοµένων. ∆εδοµένα που δε σχετίζονται µεταξύ τους και

    απλά έχουν αποθηκευτεί σε έναν ηλεκτρονικό υπολογιστή δεν αποτε-

    λούν µια Βάση ∆εδοµένων. Μια Βάση ∆εδοµένων πρέπει να αντικα-

    τοπτρίζει ένα περιβάλλον του πραγµατικού κόσµου. Τα δεδοµένα που

    αποθηκεύονται στη Βάση ∆εδοµένων πρέπει να έχουν λογική συνέ-

    χεια και νόηµα. Επίσης οι λειτουργίες που παρέχει η Βάση ∆εδοµέ-

    νων είναι σηµαντικές για τον ορισµό µιας Βάσης ∆εδοµένων. Συλλο-

    γές δεδοµένων χωρίς τη δυνατότητα ενός αυτόµατου, κοινού και

    κεντρικού τρόπου χειρισµού των δεδοµένων αυτών, δεν αποτελούν

    Βάση ∆εδοµένων. Απλά είναι δεδοµένα αποθηκευµένα στον ηλε-

    κτρονικό υπολογιστή.

    Η Βάση ∆εδοµένων έχει ένα σκοπό. Υλοποιείται για να απεικονίσει

    στον υπολογιστή ένα πρόβληµα και να διευκολύνει τη λύση του. Αυτό

    συνήθως σηµαίνει ότι τα δεδοµένα που χειρίζεται δεν είναι στατικά

    αλλά δυναµικά, δηλαδή αλλάζουν συνεχώς. Η Βάση ∆εδοµένων περιέ-

    χει τα δεδοµένα που περιγράφουν τη συγκεκριµένη χρονική στιγµή το

    «πρόβληµα», µπορεί όµως να περιέχει και δεδοµένα από την ιστορία

    του προβλήµατος.

    1 51 . 1 µ ∞ ™ π ∫ √ π √ ƒ π ™ ª √ π

    Τα {“Αθήνα”, 34, “Παρίσι”, 28, “Μόσχα”, 11,

    “Μαδρίτη”, 37, “Ρώµη”, 33} είναι δεδοµένα. ❏ ❏

    Τα δεδοµένα γίνονται πληροφορία µόλις

    αποθηκευτούν στον ηλεκτρονικό υπολογιστή. ❏ ❏

    � Η Βάση ∆εδοµένων είναι

    µια αυστηρά τυποποιηµένη

    συλλογή από σχετικά µεταξύ

    τους δεδοµένα, που παρέχει

    έναν αυτόµατο, κεντρικό και

    κοινό τρόπο χειρισµού τους.

  • 1 6 K E º A § A I O 1 : E I ™ A ° ø ° H

    Η Βάση ∆εδοµένων που περιγράφουµε στο παράδειγµα 1.1 έχει όλα

    τα στοιχεία που καθορίζουν µια Βάση ∆εδοµένων. Είναι µια πολύ

    απλή Βάση ∆εδοµένων µε µετεωρολογικές πληροφορίες. Για να µπο-

    ρεί όµως να αναπαριστά δυναµικά τον πραγµατικό κόσµο θα πρέπει

    κάποιοι άνθρωποι να είναι επιφορτισµένοι µε το καθήκον να εισάγουν

    δεδοµένα σε αυτή. Οι άνθρωποι αυτοί χρησιµοποιούν τη Βάση ∆εδο-

    µένων και καλούνται χρήστες (users). Οι λειτουργίες που επιτελούν

    σχετίζονται όχι µόνο µε την εισαγωγή δεδοµένων, αλλά γενικότερα

    φροντίζουν για την εύρυθµη λειτουργία της Βάσης ∆εδοµένων. Αυτή

    η διαδικασία ονοµάζεται συντήρηση της Βάσης ∆εδοµένων. Χρήστες

    είναι επίσης και όσοι ανατρέχουν στη Βάση ∆εδοµένων για πληρο-

    φορίες, π.χ. για να µάθουν τι θερµοκρασία είχε η Αθήνα σήµερα. �

    Σε επόµενη ενότητα (στην ενότητα 1.4) θα µιλήσουµε αναλυτικά για

    τους χρήστες και τα επίπεδα χρηστών µιας Βάσης ∆εδοµένων.

    ¶·Ú¿‰ÂÈÁÌ· 1.1

    Ας δούµε µία αρκετά απλή Βάση ∆εδοµένων: Έστω ότι θέλουµε να

    έχουµε στον ηλεκτρονικό υπολογιστή τη θερµοκρασία 5 µεγάλων

    ευρωπαϊκών πόλεων κάθε µέρα στις 12 το µεσηµέρι. Θα πρέπει λοι-

    πόν να αποθηκεύσουµε στον υπολογιστή δεδοµένα που θα είναι (για

    λόγους απλότητας) της µορφής {“Αθήνα”, 24, “15–1–98”}, {“Ρώµη”,

    29, “12–1–98”} κτλ. Προσέξτε ότι χρειαζόµαστε και την πληροφορία

    για την ηµεροµηνία. Επίσης, όπως ορίσαµε παραπάνω, θα πρέπει για

    να έχουµε Βάση ∆εδοµένων να έχουµε και τη δυνατότητα χειρισµού

    αυτών των δεδοµένων. Έτσι θα πρέπει να µπορούµε να αντλήσουµε

    πληροφορίες όπως «ποια είναι η θερµοκρασία που είχε η Αθήνα στις

    25 Μαρτίου του 1998;» ή «που έκανε πιο πολύ ζέστη, στην Αθήνα ή

    στην Ρώµη στις 31 Αυγούστου 1997;». Τέλος θα πρέπει να µπορούµε

    να χειριστούµε τα δεδοµένα, δηλαδή να εισάγουµε νέα δεδοµένα στη

    Βάση ∆εδοµένων (όπως είναι οι σηµερινές θερµοκρασίες), ή να σβή-

    σουµε κάποια παλαιά δεδοµένα, που πιθανόν δεν χρειαζόµαστε άλλο.

    Βέβαια για να µπορεί η Βάση ∆εδοµένων να µας παρέχει σωστά δεδο-

    µένα (που θα µας οδηγούν σε σωστές πληροφορίες) πρέπει να αναλά-

    βουµε την καθηµερινή εισαγωγή δεδοµένων σε αυτή, αλλά και να

    ελέγχουµε την ορθότητα των δεδοµένων που εισάγουµε.

    � Χρήστες µιας Βάσης

    ∆εδοµένων είναι όσοι χρησι-

    µοποιούν τη Βάση ∆εδοµένων

    είτε για απόκτηση πληροφο-

    ρίας είτε για συντήρηση της

    Βάσης ∆εδοµένων.

  • 1.1.3 πÛÙÔÚÈ΋ ·Ó·‰ÚÔÌ‹

    Οι Βάσεις ∆εδοµένων δεν προϋποθέτουν την ύπαρξη ηλεκτρονικού

    υπολογιστή. Οι πρώτες Βάσεις ∆εδοµένων δεν βασίζονταν σε ηλε-

    κτρονικό υπολογιστή, αλλά σε χαρτί και οργανώνονταν µε φακέλους

    ή καρτέλες. Αρκετές υπηρεσίες δυστυχώς λειτουργούν µε παρόµοιο

    τρόπο ακόµα και σήµερα. Η Βάση ∆εδοµένων του παραδείγµατος θα

    µπορούσε κάλλιστα να χρησιµοποιεί καρτέλες της µορφής του παρα-

    δείγµατος 1.2.

    1 71 . 1 µ ∞ ™ π ∫ √ π √ ƒ π ™ ª √ π

    Θα προσπαθήσουµε να επεκτείνουµε τη µετεωρολογική Βάση ∆εδο-

    µένων που αναφέραµε ως παράδειγµα, επαυξάνοντας την και µε άλλες

    πληροφορίες. Ποια από τα δεδοµένα που ακολουθούν πιστεύετε πως

    µπορούν να ενταχθούν στη Βάση ∆εδοµένων του παραδείγµατος ώστε

    αυτή να παραµείνει µία µετεωρολογική Βάση ∆εδοµένων;

    Σωστό Λάθος

    ∆εδοµένα για την υγρασία των πόλεων.

    Π.χ. υγρασία 87%. ❏ ❏

    ∆εδοµένα και για άλλες ώρες τις ηµέρας,

    όπως η θερµοκρασία των πόλεων ανά ώρα. ❏ ❏

    ∆εδοµένα για τον αέρα και την έντασή του

    σε κάθε πόλη κάθε µεσηµέρι. ❏ ❏

    ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2

    Eπιλέξτε την πιο σωστή από τις παρακάτω προτάσεις.

    Μια συλλογή από δεδοµένα για να αποτελεί µία Βάση ∆εδοµένων

    πρέπει να:

    α) Αποτελείται από δεδοµένα σχετικά µεταξύ τους.

    β) Παρέχει ένα τρόπο χειρισµού των δεδοµένων έτσι ώστε να µπο-

    ρούν να εξαχθούν πληροφορίες από αυτά.

    γ) Σχετίζεται µε κάποιο υπαρκτό πρόβληµα το οποίο να αναπαρι-

    στά µε δεδοµένα για κάποιο συγκεκριµένο σκοπό.

    δ) Όλα τα παραπάνω.

    ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3

  • 1 8 K E º A § A I O 1 : E I ™ A ° ø ° H

    Μια Βάση ∆εδοµένων που θα βασιζόταν σε τέτοιες καρτέλες θα µπο-

    ρούσε να παρέχει τις ίδιες πληροφορίες µε µια Βάση ∆εδοµένων σε

    ηλεκτρονικό υπολογιστή, όµως ο χειρισµός της θα ήταν πολύ πιο

    δύσκολος. Έτσι για παράδειγµα θα µπορούσαµε εύκολα να ανακτή-

    σουµε την πληροφορία «θερµοκρασία στην Αθήνα στις 12 το µεση-

    µέρι στις 16 Ιανουαρίου 1998» τόσο από τον ηλεκτρονικό υπολογι-

    στή, όσο και από τη Βάση ∆εδοµένων µε τις καρτέλες. Στον υπολογι-

    στή όµως, πληροφορίες όπως «ποιες ηµέρες στην Αθήνα έκανε περισ-

    σότερη ζέστη από τη Ρώµη;» ή «ποια πόλη ήταν η πιο ζεστή για κάθε

    ηµέρα του χρόνου;» µπορούν να υλοποιηθούν εύκολα σε αντίθεση µε

    τις καρτέλες. Σκεφτείτε πόσοι άνθρωποι θα έπρεπε να δουλέψουν µε

    τις καρτέλες για να ετοιµασθούν οι απαντήσεις για τις δύο παραπάνω

    ερωτήσεις εάν είχαµε δεδοµένα για τα δέκα προηγούµενα έτη! Αυτή

    η ανάγκη για αξιοποίηση των δυνατοτήτων του ηλεκτρονικού υπολο-

    γιστή οδήγησε στην δηµιουργία των πρώτων Βάσεων ∆εδοµένων. Οι

    βάσεις αυτές απλά υλοποιούσαν στον ηλεκτρονικό υπολογιστή σχή-

    µατα όπως το παραπάνω µε τις καρτέλες και εκµεταλλεύονταν τις

    δυνατότητες του υπολογιστή για ταχύτατη και µαζική επεξεργασία

    δεδοµένων και εξαγωγή απαντήσεων σε ερωτήσεις, δηλαδή εξαγωγή

    πληροφορίας.

    Οι Βάσεις ∆εδοµένων εξελίχτηκαν πολύ τα χρόνια που πέρασαν. Από

    ¶·Ú¿‰ÂÈÁÌ· 1.2

    ΑΘΗΝΑ – Ιανουάριος 1998

    1 17 o C 2 21 o C 3 20 o C 4 18 o C 5 16 o C

    6 12o C 7 8 o C 8 13 o C 9 12 o C 10 21 o C

    11 23 o C 12 25 o C 13 20 o C 14 17 o C 15 17 o C

    16 21 o C 17 23 o C 18 12 o C 19 9 o C 20 5 o C

    21 7 o C 22 6 o C 23 3 o C 24 7 o C 25 5 o C

    26 9 o C 27 5 o C 28 11 o C 29 8 o C 30 10 o C

    31 10 o C

  • µικρές Βάσεις ∆εδοµένων που χειρίζονταν µικρούς αριθµούς δεδοµέ-

    νων παρουσιάστηκαν Βάσεις ∆εδοµένων που χειρίζονται τεράστιο

    όγκο πολύπλοκων δεδοµένων. Σήµερα µιλάµε για Βάσεις ∆εδοµένων

    της τάξης των terabytes* µε δεδοµένα τα οποία περιέχουν εικόνες, ή

    βίντεο και Συστήµατα ∆ιαχείρισης Βάσεων ∆εδοµένων µε δυνατότη-

    τες ενσωµάτωσης λειτουργιών για καλύτερο χειρισµό των δεδοµένων,

    καθώς και για τρόπους εναλλακτικής οργάνωσης των δεδοµένων,

    όπως οι αντικειµενοστραφείς Βάσεις ∆εδοµένων που θα εξετάσουµε

    στο κεφάλαιο 7.

    1 91 . 1 µ ∞ ™ π ∫ √ π √ ƒ π ™ ª √ π / 1 . 2 ™ À ™ ∆ ∏ ª ∞ ¢ π ∞ Ã ∂ π ƒ π ™ ∏ ™ µ ∞ ™ ∂ ø ¡ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡

    Σκεφτείτε και περιγράψτε τουλάχιστον άλλα τρία παραδείγµατα

    Βάσεων ∆εδοµένων. Σε κάθε παράδειγµα αναφέρατε µια σύντοµη

    περιγραφή της Βάσης ∆εδοµένων, του σκοπού της και του µοντέλου

    του πραγµατικού κόσµου για το οποίο συγκεντρώνει δεδοµένα. Επί-

    σης αναφέρατε τη µορφή των δεδοµένων που θα εισαχθούν στην

    κάθε Βάση ∆εδοµένων. Καταγράψτε τις απόψεις σας προσπαθώντας

    να µην υπερβείτε τη µισή σελίδα ανά Βάση ∆εδοµένων. Στις τελευ-

    ταίες σελίδες του βιβλίου θα βρείτε κατευθύνσεις για το τι θα µπο-

    ρούσατε να περιγράψετε.

    ¢Ú·ÛÙËÚÈfiÙËÙ· 1.1

    * 1terabyte = 1012 bytes ή 1.000.000.000.000 bytes

  • 2 0 K E º A § A I O 1 : E I ™ A ° ø ° H

    1.2 ™‡ÛÙËÌ· ‰È·¯Â›ÚÈÛ˘ ‚¿ÛÂˆÓ ‰Â‰Ô̤ӈÓ

    ™ÎÔfi˜

    Σκοπός της ενότητας είναι η περιγραφή του Συστήµατος ∆ιαχείρισηςΒάσεων ∆εδοµένων και των δυνατοτήτων που παρέχει, καθώς και ηπεριγραφή του υλικού και του λογισµικού που συνεργάζονται σε έναΣύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων.

    ¶ÚÔÛ‰ÔÎÒÌÂÓ· ∞ÔÙÂϤÛÌ·Ù·

    Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να:

    • εξηγήσετε τη δοµή και τη λειτουργικότητα ενός Συστήµατος ∆ιαχεί-ρισης Βάσεων ∆εδοµένων

    • διακρίνετε ανάµεσα σε Βάσεις ∆εδοµένων και Συστήµατα ∆ιαχείρι-σης Βάσεων ∆εδοµένων

    • εξηγήσετε τη σχέση υλικού και λογισµικού σε ένα Σύστηµα ∆ιαχείρι-σης Βάσεων ∆εδοµένων

    • περιγράψετε τι µας παρέχει ένα Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων

    Η εξέλιξη των Βάσεων ∆εδοµένων και οι ανάγκες για δηµιουργία όλο

    και περισσότερων Βάσεων ∆εδοµένων, οδήγησαν στη δηµιουργία των

    Συστηµάτων ∆ιαχείρισης Βάσεων ∆εδοµένων (Database Management

    Systems ή DBMS). Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων είναι

    ένα εργαλείο το οποίο διευκολύνει τους χρήστες να εργάζονται µε

    Βάσεις ∆εδοµένων. Με τη χρήση του Συστήµατος ∆ιαχείρισης Βάσε-

    ων ∆εδοµένων οι χρήστες µπορούν να κατασκευάσουν και να χρησι-

    µοποιήσουν Βάσεις ∆εδοµένων. Ακολουθεί ο ορισµός του Συστήµα-

    τος ∆ιαχείρισης Βάσεων ∆εδοµένων. �

    Ένα Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων κατά κανόνα «φιλοξε-

    νεί» πολλές Βάσεις ∆εδοµένων που έχουν κατασκευαστεί από διαφο-

    ρετικούς χρήστες. Οι δυνατότητες που παρέχει ένα Σύστηµα ∆ιαχείρι-

    σης Βάσεων ∆εδοµένων στους χρήστες συνοψίζονται στις παρακάτω:

    • Ορισµός της Βάσης ∆εδοµένων

    • Κατασκευή της Βάσης ∆εδοµένων

    • ∆ιαγραφή της Βάσης ∆εδοµένων

    • Χρήση της Βάσης ∆εδοµένων

    Στον ορισµό της Βάσης ∆εδοµένων ο χρήστης µπορεί να καθορίσει το

    � Σύστηµα ∆ιαχείρισης

    Βάσεων ∆εδοµένων είναι το

    λογισµικό το οποίο επιτρέπει

    στους χρήστες να δηµιουρ-

    γούν και να χρησιµοποιούν

    Βάσεις ∆εδοµένων.

  • µοντέλο της Βάσης ∆εδοµένων, να ορίσει τους τύπους δεδοµένων που

    θα χρησιµοποιήσει και να ελέγξει τη Βάση ∆εδοµένων χωρίς να προ-

    χωρήσει σε κατασκευή της. Στην κατασκευή της Βάσης ∆εδοµένων

    οι τύποι των δεδοµένων και τα δεδοµένα αποθηκεύονται στο υλικό

    (hardware) του ηλεκτρονικού υπολογιστή µε διαδικασίες που ελέγχο-

    νται από το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων και δεν απα-

    σχολούν τον χρήστη. Στη διαγραφή της Βάσης ∆εδοµένων ο χρήστης

    αποφασίζει τον τερµατισµό µιας Βάσης ∆εδοµένων και την αποµά-

    κρυνση των δεδοµένων από το υλικό. Τέλος, κατά τη χρήση της Βάσης

    ∆εδοµένων ο χρήστης, είτε χειρίζεται τα δεδοµένα (εισάγει νέα δεδο-

    µένα, τροποποιεί δεδοµένα, ή διαγράφει δεδοµένα), είτε υποβάλει ερω-

    τήσεις στη Βάση ∆εδοµένων µε στόχο την εξαγωγή πληροφοριών.

    1.2.1 ¢È·ÊÔÚ¿ ‚¿Û˘ ‰Â‰ÔÌ¤ÓˆÓ Ì ۇÛÙËÌ· ‰È·¯Â›ÚÈÛ˘‚¿ÛÂˆÓ ‰Â‰Ô̤ӈÓ

    Σε αυτό το σηµείο πρέπει να είναι ξεκάθαρη σε εσάς η διαφορά µετα-

    ξύ ενός Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων και µίας Βάσης

    ∆εδοµένων. Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων είναι λογι-

    σµικό το οποίο διευκολύνει τους χρήστες να υλοποιήσουν Βάσεις

    ∆εδοµένων. Αντίθετα η Βάση ∆εδοµένων υλοποιείται µε τη βοήθεια

    ενός Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων που χειρίζεται

    δεδοµένα τα οποία αποθηκεύονται στο υλικό του υπολογιστή. Η όλη

    διαδικασία χειρισµού και αποθήκευσης των δεδοµένων διευκολύνεται

    από το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων, το οποίο αναλαµ-

    βάνει τη µετατροπή των εντολών του χρήστη σε εντολές προς τον υπο-

    λογιστή και λειτουργίες που σχετίζονται µε το χειρισµό των δεδοµέ-

    νων στο υλικό του υπολογιστή.

    Ο χρήστης µιας Βάσης ∆εδοµένων επιτελεί λειτουργίες που µπορούν

    να οµαδοποιηθούν στις παρακάτω: εισαγωγή δεδοµένων, διαγραφή

    δεδοµένων, αλλαγή δεδοµένων και ανάκληση δεδοµένων. Όλες οι

    παραπάνω λειτουργίες προϋποθέτουν επικοινωνία µε το υλικό του

    υπολογιστή (π.χ. το µαγνητικό δίσκο του υπολογιστή). Αυτή η επι-

    κοινωνία γίνεται µέσω του λογισµικού του Συστήµατος ∆ιαχείρισης

    Βάσεων ∆εδοµένων. Η επικοινωνία αυτή συνήθως δεν είναι ορατή

    από τον χρήστη της Βάσης ∆εδοµένων, ο οποίος απλά βλέπει τα απο-

    τελέσµατα από τις λειτουργίες που ζήτησε να επιτελούνται. Αυτό είναι

    2 11 . 2 ™ À ™ ∆ ∏ ª ∞ ¢ π ∞ Ã ∂ π ƒ π ™ ∏ ™ µ ∞ ™ ∂ ø ¡ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡

  • 2 2 K E º A § A I O 1 : E I ™ A ° ø ° H

    και το σηµείο που κάνει αρκετούς χρήστες να συγχέουν τις έννοιες

    Βάση ∆εδοµένων και Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων.

    1.2.2 ¢ÔÌ‹ ÂÓfi˜ Û˘ÛÙ‹Ì·ÙÔ˜ ‰È·¯Â›ÚÈÛ˘ ‚¿ÛÂˆÓ ‰Â‰Ô̤ӈÓ

    Ένα Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων µπορεί να απεικονισθεί

    όπως στο σχήµα 1.1. Στο δεξιό µέρος του σχήµατος 1.1 παρουσιάζεται

    το είδος (µέσο αποθήκευσης) του υλικού (hardware) του υπολογιστή

    στον οποίο αποθηκεύονται τα δεδοµένα. Σε µικρές Βάσεις ∆εδοµένων

    το µέσο αυτό συνήθως είναι ο σκληρός δίσκος του υπολογιστή, ενώ σε

    µεγάλες Βάσεις ∆εδοµένων χρησιµοποιούνται πολλαπλά επίπεδα απο-

    θήκευσης που ποικίλουν από σκληρούς δίσκους διαφορετικής ταχύτη-

    τας και χωρητικότητας, juke boxes από CDs, µαγνητικές ταινίες κτλ.

    Σύστηµα διαχείρησης βάσεων δεδοµένων

    Bάσηδεδοµένων 1

    Λογισµικόχειρισµού

    ερωτήσεων

    Λογισµικόαποθήκευσης

    καιανάκλησηςδεδοµένωνBάση

    δεδοµένων N

    Aποθηκευµέναδεδοµένα

    ™¯‹Ì· 1.1

    Σύστηµα ∆ιαχείρισης

    Βάσεων ∆εδοµένων

    Ο χειρισµός των δεδοµένων στο υλικό του υπολογιστή γίνεται από το

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

    σχήµα 1.1 ονοµάζεται «Λογισµικό Αποθήκευσης και Ανάκλησης ∆εδο-

    µένων». Αυτό το λογισµικό αναλαµβάνει να µεταφέρει όλες τις εντολές

    του χρήστη προς το υλικό. Το λογισµικό αυτό συνεργάζεται µε το άλλο

    τµήµα του Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων που είναι το

    «Λογισµικό Χειρισµού Ερωτήσεων». Όλα τα Συστήµατα ∆ιαχείρισης

    Βάσεων ∆εδοµένων παρέχουν µία γλώσσα υποβολής ερωτήσεων προς

    τη Βάση ∆εδοµένων. Αυτές οι ερωτήσεις επεξεργάζονται από το Λογι-

    σµικό Χειρισµού Ερωτήσεων και στη συνέχεια µετατρέπονται σε εντο-

    λές για ανάκληση συγκεκριµένων δεδοµένων από το υλικό και µεταφέ-

    ρονται στο Λογισµικό Αποθήκευσης και Ανάκλησης ∆εδοµένων.

    Στο αριστερό µέρος του σχήµατος 1.1 απεικονίζονται Ν Βάσεις ∆εδο-

    µένων. (Με το σύστηµα µπορούν να υλοποιηθούν αρκετές Βάσεις

    ∆εδοµένων που ο αριθµός τους στο σχήµα 1.1 ορίζεται ως Ν.) Ο χρή-

    στης µίας Βάσης ∆εδοµένων δεν αντιλαµβάνεται τη διαδικασία, όπως

    την υλοποιεί το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων. Συνήθως

  • δεν γνωρίζει που βρίσκονται τα δεδοµένα (δηλαδή σε ποιο υλικό είναι

    αποθηκευµένα). Ο χρήστης απλά εκτελεί λειτουργίες (εισαγωγή, δια-

    γραφή, ή τροποποίηση) στα δεδοµένα και υποβάλει ερωτήσεις. Βλέ-

    πει µόνο τη Βάση ∆εδοµένων χωρίς να τον απασχολούν οι λειτουρ-

    γίες του Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων.

    Τώρα που έχετε κατανοήσει τι είναι Σύστηµα ∆ιαχείρισης Βάσεων ∆εδο-

    µένων πρέπει να σας πούµε ότι η χρήση του δεν είναι ο µόνος τρόπος για

    να δηµιουργήσουµε µία Βάση ∆εδοµένων. Θεωρητικά κάποιος µπορεί να

    ετοιµάσει µία Βάση ∆εδοµένων υλοποιώντας όλο το λογισµικό που χρη-

    σιµοποιεί το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων από την αρχή και

    κατασκευάζοντας εξειδικευµένο λογισµικό µόνο για τη συγκεκριµένη

    Βάση ∆εδοµένων. Αυτή η προσέγγιση θα είχε πολύ µεγαλύτερο κόστος

    και χρόνο υλοποίησης, αφού θα έπρεπε να υλοποιήσει από την αρχή όλο

    το λογισµικό που παρέχεται έτοιµο από ένα Σύστηµα ∆ιαχείρισης Βάσε-

    ων ∆εδοµένων. Αν και σε ορισµένες περιπτώσεις ακολουθείται αυτή η πρα-

    κτική, ο κανόνας είναι οι Βάσεις ∆εδοµένων να υλοποιούνται και να χρη-

    σιµοποιούνται µέσω ενός Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων.

    2 31 . 2 ™ À ™ ∆ ∏ ª ∞ ¢ π ∞ Ã ∂ π ƒ π ™ ∏ ™ µ ∞ ™ ∂ ø ¡ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡

    ÕÛÎËÛË ·˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4

    Ακολουθούν µερικές προτάσεις. Ποιες από αυτές είναι σωστές και

    ποιες λάθος Επιλέξτε Σωστό ή Λάθος.

    Σωστό Λάθος

    Για κάθε Βάση ∆εδοµένων χρειαζόµαστε

    διαφορετικό Σύστηµα ∆ιαχείρισης Βάσεων

    ∆εδοµένων. ❏ ❏

    Τη µεταφορά των δεδοµένων από και προς

    το υλικό αποθήκευσης την αναλαµβάνει

    το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων. ❏ ❏

    Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων

    είναι πολλές Βάσεις ∆εδοµένων µαζί. ❏ ❏

    Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων

    αποτελείται από το Λογισµικό Χειρισµού

    Ερωτήσεων, το Λογισµικό Αποθήκευσης και

    Ανάκλησης ∆εδοµένων και το Υλικό

    Αποθήκευσης των ∆εδοµένων. ❏ ❏

  • 2 4 K E º A § A I O 1 : E I ™ A ° ø ° H

    1.2.3 TÈ ·Ú¤¯ÂÈ ¤Ó· Û‡ÛÙËÌ· ‰È·¯Â›ÚÈÛ˘ ‚¿ÛÂˆÓ ‰Â‰Ô̤ӈÓ

    Όπως σας αναφέραµε στο τέλος της ενότητας 1.2.2 µία Βάση ∆εδο-

    µένων µπορεί να υλοποιηθεί και αυτόνοµα χωρίς να χρησιµοποιηθεί

    ένα Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων. Όµως κατά κανόνα οι

    παροχές ενός Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων είναι αυτές

    που τελικά ωθούν τους χρήστες να το χρησιµοποιήσουν. Στην ενότη-

    τα αυτή θα περιγράψουµε τι παρέχει ένα Σύστηµα ∆ιαχείρισης Βάσε-

    ων ∆εδοµένων.

    ∂À∫√§π∞ ™∆∏ ™Ã∂¢π∞™∏ ∫∞π À§√¶√π∏™∏

    Όπως ήδη γνωρίζετε ένας χρήστης µίας Βάσης ∆εδοµένων θέλει

    αρχικά να σχεδιάσει τη Βάση ∆εδοµένων και να ορίσει τους τύπους

    δεδοµένων (για τους οποίους θα µιλήσουµε στην ενότητα 2.2.1) που

    θα χρησιµοποιεί, µετά να δηµιουργήσει τη Βάση ∆εδοµένων και στη

    συνέχεια να χρησιµοποιεί τη Βάση ∆εδοµένων ή να επιτρέπει και σε

    άλλους χρήστες να τη χρησιµοποιούν ταυτόχρονα µε αυτόν. Η υλο-

    ποίηση του λογισµικού που πραγµατοποιεί αυτές τις διαδικασίες δε

    χρειάζεται να γίνει, µια και όλα τα παραπάνω παρέχονται από το

    Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων. Επίσης το σύστηµα παρέ-

    χει στον χρήστη ένα ενιαίο τρόπο για να ορίζει τις Βάσεις ∆εδοµέ-

    νων του και µια φιλοσοφία που τον καθοδηγεί στις ενέργειές του.

    ∂¶π¶∂¢∞ Ã∏™∆ø¡ ∫∞π ∂§∂°Ã√™ ¶ƒ√™µ∞™∏™

    Επειδή µία Βάση ∆εδοµένων µπορεί να χρησιµοποιείται από πολλούς

    χρήστες µε διαφορετικές ανάγκες και γνώσεις, το Σύστηµα ∆ιαχείρι-

    σης Βάσεων ∆εδοµένων παρέχει τη δυνατότητα ορισµού διαφορετι-

    κών κατηγοριών χρηστών. Για κάθε κατηγορία χρηστών ορίζονται τα

    όρια εξουσιοδότησης που παρέχονται σε κάθε επίπεδο. Κάποια δεδο-

    µένα είναι πιθανόν να είναι εµπιστευτικά και να µην επιτρέπεται να

    έχουν πρόσβαση σε αυτά όλοι οι χρήστες. Επίσης, κάθε κατηγορία

    χρηστών θα πρέπει να έχει το δικαίωµα να επιτελεί διαφορετικές λει-

    τουργίες από τις άλλες κατηγορίες. Κάποιοι χρήστες για παράδειγµα

    θα µπορούν µόνο να διαβάζουν δεδοµένα, ενώ άλλοι θα µπορούν να

    εισάγουν ή να κάνουν αλλαγές στα δεδοµένα. Σκεφτείτε το παράδειγ-

    µα 1.1 µε τη Μετεωρολογική Βάση ∆εδοµένων που συζητήσαµε στην

  • ενότητα 1.1.2. Εισαγωγή και τροποποίηση δεδοµένων θα µπορεί να

    κάνει καθένας που θα θέλει να χρησιµοποιήσει τη Βάση ∆εδοµένων;

    Προφανώς όχι. Η δυνατότητα αυτή θα πρέπει να δίνεται µόνο στο

    εξουσιοδοτηµένο προσωπικό (Μετεωρολόγους), ενώ οι υπόλοιποι θα

    πρέπει να µπορούν µόνο να βλέπουν τα δεδοµένα.

    Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων παρέχει διαφορετικά επί-

    πεδα χρηστών ανάλογα µε τις δυνατότητες και απαιτήσεις καθενός.

    Επίσης το σύστηµα φροντίζει για την τήρηση των κανόνων ασφαλεί-

    ας και ελέγχει την πρόσβαση σε αυτό και στις Βάσεις ∆εδοµένων και

    δεν επιτρέπει παραβάσεις των επιπέδων πρόσβασης. Τα επίπεδα πρό-

    σβασης δεν ισχύουν µόνο για τις Βάσεις ∆εδοµένων, αλλά και για το

    ίδιο το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων. Αναλυτικά για τα

    επίπεδα χρηστών θα συζητήσουµε στην ενότητα 1.4.

    ¶ƒ√™∆∞™π∞ ∞¶√ µ§∞µ∂™ À§π∫√À

    Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων παρέχει δυνατότητες για

    τήρηση αντιγράφων ασφαλείας καθώς και δυνατότητες ανάληψης της

    Βάσης ∆εδοµένων µετά από βλάβες. Έτσι εξασφαλίζει καλύτερη προ-

    στασία των δεδοµένων. Η ανάληψη (ή ανάνηψη) των δεδοµένων είναι

    η διαδικασία κατά την οποία το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδο-

    µένων είτε αυτόµατα (χωρίς τη συµβολή του διαχειριστή) είτε χειρο-

    κίνητα (µε τη συµβολή του διαχειριστή) ανακτά τα δεδοµένα που

    χάθηκαν έπειτα από µία βλάβη.

    ¢À¡∞∆√∆∏∆∞ ¶∂ƒπ°ƒ∞º∏™ ¶∂ƒπ√ƒπ™ªø¡ √ƒ£√∆∏∆∞™

    Σε µία Βάση ∆εδοµένων µπορούν να τεθούν περιορισµοί ορθότητας.

    Τέτοιοι περιορισµοί σχετίζονται µε την οργάνωση των δεδοµένων στη

    Βάση, ή τις τιµές που µπορούν να λάβουν κάποια δεδοµένα. Για παρά-

    δειγµα στη Μετεωρολογική Βάση ∆εδοµένων που αναφέραµε στο

    παράδειγµα 1.1, θα µπορούσαµε να ορίσουµε ότι η τιµή της θερµο-

    κρασίας θα κυµαίνεται από –50 έως +50 βαθµούς. Με αυτόν τον

    τρόπο αν κάποιος εισήγαγε κατά λάθος την τιµή «177» αντί για «17»

    το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων θα εντόπιζε το λάθος και

    δε θα δεχόταν την τιµή. (Θα αντιλαµβανόταν δηλαδή ότι η τιµή 177

    δεν µπορεί να είναι πραγµατική τιµή για θερµοκρασία.) Με αυτό τον

    τρόπο το σύστηµα υλοποιεί ελέγχους και προστατεύει τη Βάση ∆εδο-

    2 51 . 2 ™ À ™ ∆ ∏ ª ∞ ¢ π ∞ Ã ∂ π ƒ π ™ ∏ ™ µ ∞ ™ ∂ ø ¡ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡

  • 2 6 K E º A § A I O 1 : E I ™ A ° ø ° H

    µένων από λαθεµένες εισαγωγές δεδοµένων. Προσέξτε όµως: Ακόµα

    και µε τον παραπάνω περιορισµό, κάποιος θα µπορούσε να κάνει

    λάθος και αντί για «17» να εισάγει «27». Αυτό το λάθος δεν µπορεί

    να εντοπιστεί από το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων, αλλά

    µόνο από τους χρήστες.

    ¢À¡∞∆√∆∏∆∞ ∂§∂°Ã√À ¶§∂√¡∞™ªø¡

    Το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων πραγµατοποιεί και

    ελέγχους για πλεονασµό δεδοµένων. Υποθέστε ότι, αντί για Σύστη-

    µα ∆ιαχείρισης Βάσεων ∆εδοµένων χρησιµοποιούσαµε µία Βάση

    ∆εδοµένων µε καρτέλες όπως στο παράδειγµα 1.2 της ενότητας 1.1.3,

    και ότι για την τήρηση των αρχείων ήταν επιφορτισµένοι δύο υπάλ-

    ληλοι. Από κάποιο λάθος λοιπόν έγραψαν και οι δύο καρτέλα για την

    «Αθήνα – Ιανουάριος 1998». Εκτός από το πρόβληµα ότι θα είχαµε

    διπλά τα δεδοµένα, θα µπορούσαν να προκύψουν µεγαλύτερα προ-

    βλήµατα που σχετίζονται µε την συµβατότητα των δεδοµένων. Υπο-

    θέστε ότι εντοπίστηκε ένα λάθος στις µετρήσεις και η τιµή για την

    ηµεροµηνία 16 Ιανουαρίου πρέπει να αλλάξει και από 21 °C πρέπει

    να γίνει 18 °C. Εάν κάποιος αναλάβει να κάνει την αλλαγή θα την

    κάνει σε µία µόνο καρτέλα, ενώ η άλλη θα συνεχίζει να έχει την

    λάθος τιµή. Αυτό σηµαίνει ότι η Βάση ∆εδοµένων θα περιέχει λάθος

    δεδοµένα, παρά τις διορθώσεις. Στην περίπτωση του Συστήµατος ∆ια-

    χείρισης Βάσεων ∆εδοµένων οι πλεονασµοί ελέγχονται αυτόµατα από

    το σύστηµα και η συµβατότητα των δεδοµένων προστατεύεται από

    το ίδιο το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων απλοποιώντας

    την εργασία του χρήστη.

    Στο παράδειγµα 1.1 παρουσιάσαµε µία Μετεωρολογική Βάση ∆εδο-

    µένων. Σε αυτή τη Βάση ∆εδοµένων δεν µιλήσαµε ούτε για επίπεδα

    χρηστών, ούτε για περιορισµούς ορθότητας. Με βάση την εµπειρία

    που αποκτήσατε από τη µελέτη της παραπάνω ενότητας προτείνετε

    τουλάχιστον δύο επίπεδα χρηστών (και περιγράψτε ποιες δυνατότη-

    τες θα επιτρέπει το Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων για

    κάθε κατηγορία). Επίσης προτείνετε τουλάχιστον τρεις περιορισµούς

    ορθότητας και τεκµηριώστε γιατί τους προτείνετε.

    ¢Ú·ÛÙËÚÈfiÙËÙ· 1.2

  • 1.3 ∆È ·Ú¤¯ÂÈ Ë ‚¿ÛË ‰Â‰Ô̤ӈÓ

    ™ÎÔfi˜

    Σκοπός αυτής της ενότητας είναι να τονίσει τα πλεονεκτήµατα που

    παρέχει η χρήση µίας Βάσης ∆εδοµένων. Τώρα που έχετε µάθει τι

    σηµαίνει Βάση ∆εδοµένων, αλλά και τι είναι το Σύστηµα ∆ιαχείρισης

    Βάσεων ∆εδοµένων καθώς και τι πλεονεκτήµατα παρέχει, είστε σε θέση

    να αναγνωρίσετε τι µπορεί να παρέχει µία Βάση ∆εδοµένων στους χρή-

    στες της και να συγκρίνετε την οργάνωση ενός µοντέλου του πραγµατι-

    κού κόσµου σε Βάση ∆εδοµένων που υλοποιήθηκε µε τη χρήση ενός

    Συστήµατος ∆ιαχείρισης Βάσεων ∆εδοµένων, έναντι της παραδοσια-

    κής οργάνωσης σε αρχεία (είτε σε υπολογιστή, είτε χωρίς).

    ¶ÚÔÛ‰ÔÎÒÌÂÓ· ∞ÔÙÂϤÛÌ·Ù·

    Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να:

    • αναφέρετε τι πλεονεκτήµατα παρέχει η χρήση της Βάσης ∆εδοµένων

    • συγκρίνετε µεταξύ της χρήσης Βάσεων ∆εδοµένων και ενός παρα-

    δοσιακού µοντέλου µε αρχεία

    • αναφέρετε περιπτώσεις όπου απαιτείται η χρήση Βάσεων ∆εδοµένων

    και περιπτώσεις όπου η χρήση Βάσεων ∆εδοµένων για την οργάνω-

    ση ενός µοντέλου του πραγµατικού κόσµου, δεν είναι απαραίτητη

    ∂ÈÛ·ÁˆÁÈΤ˜ ¶·Ú·ÙËÚ‹ÛÂȘ

    Η χρήση Βάσεων ∆εδοµένων για µοντελοποίηση ενός προβλήµατος

    του πραγµατικού κόσµου παρέχει τα παρακάτω πλεονεκτήµατα, όπως

    τα αναφέρουµε επιγραµµατικά:

    1. ∆υνατότητα ταυτόχρονης προσπέλασης πολλών χρηστών στα δεδο-

    µένα και έλεγχο της προσπέλασης.

    2. ∆υνατότητα ταχύτατης εξαγωγής απαντήσεων σε απλές ερωτήσεις.

    3. Ευελιξία σε πιθανές αλλαγές και γενικότερα ευκολία παρακολού-

    θησης των αλλαγών του µοντέλου του πραγµατικού κόσµου.

    4. Υψηλή ποιότητα δεδοµένων.

    Στις ενότητες 1.3.1 έως 1.3.5 που ακολουθούν θα αναλύσουµε τα

    παρακάτω πλεονεκτήµατα.

    2 71 . 3 ∆ π ¶ ∞ ƒ ∂ Ã ∂ π ∏ µ ∞ ™ ∏ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡

  • 2 8 K E º A § A I O 1 : E I ™ A ° ø ° H

    1.3.1 T·˘Ùfi¯ÚÔÓË ÚÔۤϷÛË

    Ένα βασικό κέρδος από την χρήση Βάσης ∆εδοµένων είναι η δυνα-

    τότητα που παρέχει σε πολλούς χρήστες να έχουν ταυτόχρονη προ-

    σπέλαση στα δεδοµένα, αλλά και η αυτοµατοποίηση των ελέγχων που

    συνεπάγεται αυτή η ταυτόχρονη προσπέλαση. Για παράδειγµα, το

    Σύστηµα ∆ιαχείρισης της Bάσης ∆εδοµένων φροντίζει να αποκλείει

    περιπτώσεις ταυτόχρονης αλλαγής ενός δεδοµένου από δύο ή περισ-

    σότερους χρήστες.

    Επίσης, το Σύστηµα ∆ιαχείρισης της Bάσης ∆εδοµένων φροντίζει για

    το έλεγχο των εξουσιοδοτηµένων ή µη προσπελάσεων στα δεδοµένα,

    παρέχοντας σε κάθε χρήστη µόνο τα δεδοµένα αυτά για τα οποία έχει

    εξουσιοδότηση, και επιτρέποντάς του µόνο τις πράξεις (π.χ. διαγρα-

    φή, ή αλλαγή) αυτές για τις οποίες έχει αρµοδιότητα.

    1.3.2 ∆·¯‡Ù·ÙË ÂÍ·ÁˆÁ‹ ··ÓÙ‹ÛˆÓ

    Ένα µεγάλο πρόβληµα της οργάνωσης ενός µοντέλου του πραγµατι-

    κού κόσµου χωρίς τη χρήση Βάσης ∆εδοµένων είναι η αδυναµία απο-

    φυγής αρκετής εργασίας από τον άνθρωπο για να αντληθεί η απαι-

    τούµενη πληροφορία, προκειµένου να εξαχθούν απαντήσεις σε απλές

    ερωτήσεις. Ένα σύστηµα αρχείων οργανώνει την πληροφορία σειρια-

    κά σε αρχεία, χωρίς τη δυνατότητα αναζήτησης παρά µόνο σειριακά

    (δηλαδή ανάγνωση ενός τµήµατος του αρχείου στη µνήµη, έλεγχος

    και µετά ανάγνωση του επόµενου τµήµατος, κτλ).

    Θυµηθείτε τις ερωτήσεις που συζητήσαµε στο παράδειγµα 1.2. Σε ένα

    παραδοσιακό σύστηµα αρχείων σε ηλεκτρονικό υπολογιστή η απά-

    ντηση στην ερώτηση «∆ώσε µας την πόλη που είχε την υψηλότερη

    θερµοκρασία για κάθε ηµέρα από το 1990 µέχρι σήµερα», θα σήµαι-

    νε άνοιγµα εκατοντάδων αρχείων και ανθρώπινη εργασία για την

    καταγραφή και σύγκριση δεδοµένων. Ακριβώς επειδή τα δεδοµένα

    συνήθως συλλέγονται για την απόκτηση πληροφορίας µε την µορφή

    απαντήσεων σε τέτοιου είδους ερωτήσεις, η χρήση παραδοσιακών

    µοντέλων οργάνωσης δεν είναι εξυπηρετική, αφού η παροχή τέτοιου

    είδους πληροφορίας είναι πρακτικά ανέφικτη. Ο λόγος είναι ότι η

    οργάνωση των δεδοµένων δεν υποστηρίζει την αυτόµατη εξαγωγή

    τέτοιους είδους απαντήσεων σε ερωτήσεις.

  • Αντίθετα, µε τη χρήση Βάσης ∆εδοµένων τέτοιου είδους πληροφορίες

    µπορούν να είναι διαθέσιµες ταχύτατα στο χρήστη. Ο τρόπος οργάνω-

    σης των δεδοµένων δίνει τη δυνατότητα στις Βάσεις ∆εδοµένων να µπο-

    ρούν να δίνουν απαντήσεις αυτόµατα και ταχύτατα τόσο σε πολύπλο-

    κες ερωτήσεις, όσο και σε απλές ερωτήσεις οι οποίες όµως θα ήταν πολύ

    δύσκολο να απαντηθούν εάν είχε ακολουθηθεί οργάνωση βασισµένη σε

    ένα παραδοσιακό σύστηµα (είτε µε χειρόγραφα, είτε µε µη οργανωµέ-

    να σε Bάση ∆εδοµένων αρχεία στο ηλεκτρονικό υπολογιστή).

    1.3.3 E˘ÂÏÈÍ›·

    Πολλές φορές το µοντέλο του πραγµατικού κόσµου αλλάζει. Αυτό

    κατά κανόνα απαιτεί αλλαγές που τις περισσότερες φορές είναι πολύ

    δύσκολο να υλοποιηθούν σε ένα παραδοσιακό µοντέλο. Αντίθετα, ο

    τρόπος οργάνωσης των δεδοµένων σε µία Βάση ∆εδοµένων, κατά

    κανόνα, επιδέχεται αλλαγές και µπορεί πολύ πιο εύκολα να ακολου-

    θεί το µοντέλο του πραγµατικού κόσµου.

    Αυτό σηµαίνει ότι οι χρήστες της Βάσης ∆εδοµένων µπορούν να προ-

    σαρµόσουν την µορφή των δεδοµένων ευκολότερα και οι αλλαγές

    αυτές να εφαρµοστούν σε όλα τα δεδοµένα, σε αντίθεση µε το παρα-

    δοσιακό µοντέλο.

    1.3.4 À„ËÏ‹ ÔÈfiÙËÙ· ‰Â‰Ô̤ӈÓ

    Η Βάση ∆εδοµένων χρησιµοποιεί τις δυνατότητες που παρέχει το

    Σύστηµα ∆ιαχείρισης Βάσεων ∆εδοµένων και ελέγχει για πλεονα-

    σµούς και παραβιάσεις της ορθότητας των δεδοµένων, καθώς και για

    ταυτόχρονες προσπελάσεις και µη εξουσιοδοτ�