ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH. Θεµατική Ενότητα AΡΧΕΣ TΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ

Σχετικά έγγραφα
E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ ' MÈ Ï ÓÔ ËÌ. XÚÈÛÙÔ Ô Ï ÎË B ÛÂÈ Â ÔÌ ÓˆÓ

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

E π A π π ª π. È ÎÚÈÙ M ıëì ÙÈÎ. Î È M ıëì ÙÈÎ ÔÁÈÎ. TfiÌÔ A' È ÎÚÈÙ M ıëì ÙÈÎ ÂÒÚÁÈÔ BÔ ÚÔ

ÚÔÛÙ Û Î È AÛÊ ÏÂÈ ÛÙËÌ ÙˆÓ YappleÔÏÔÁÈÛÙÒÓ

ιαχείριση και Ποιότητα Λογισµικού

Θεωρία Πληροφορίας και Kωδικοποίησης

E π A π π ª π. Â È ÛÌfi ÔÁÈÛÌÈÎÔ. TfiÌÔ ' ÏÒÛÛÂ ÚÔÁÚ ÌÌ ÙÈÛÌÔ II. KÏÂ ÓıË Ú ÌappleÔ Ï Ë. (AÓÙÈÎÂÈÌÂÓÔÛÙÚÂÊ ÚÔÁÚ ÌÌ ÙÈÛÌfi )

E π A π π ª π TÂ ÓËÙ NÔËÌÔÛ ÓË - EÊ ÚÌÔÁ. TfiÌÔ ' ÂÓÂÙÈÎÔ AÏÁfiÚÈıÌÔÈ Î È EÊ ÚÌÔÁ. ÎÔı Ó ÛË

ÏËÚÔÊÔÚÈÎ Î È EÎapple  ÛË

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛΗΡΟΦΟΡΙΚΗ. Θεµατική Eνότητα BΑΣΙΚΑ ΖΗΤΗΜΑΤΑ ΙΚΤΥΩΝ Η/Υ

TËÏÂÌ ÙÈÎ, È ÎÙ Î È KÔÈÓˆÓ

ÚÔÛÙ Û Î È AÛÊ ÏÂÈ ÛÙËÌ ÙˆÓ YappleÔÏÔÁÈÛÙÒÓ

E π A π π ª π TÂ ÓËÙ NÔËÌÔÛ ÓË EÊ ÚÌÔÁ. TfiÌÔ B' NÂ ÚˆÓÈÎ ÎÙ Î È ÓÔ AÚÁ Ú ÎË EÊ ÚÌÔÁ

Ψηφιακή επεξεργασία εικόνων και σηµάτων

EÈ ÈÎ Ì Ù ÁÈ ÙËÓ ÔÈfiÙËÙ

ÏËÚÔÊÔÚÈÎ Î È EÎapple  ÛË

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

Σχεδιασμός και Eκτίμηση Έργων

E π A π π ª π. Ú ÌÌÈÎfi ÚÔÁÚ ÌÌ ÙÈÛÌfi. MÔÓÙÂÏÔappleÔ ËÛË. TfiÌÔ A' M ÓÔ PÔ ÌÂÏÈÒÙË Î È ÚÔÛÔÌÔ ˆÛË

ÚÔÁÚ ÌÌ ÙÈÛÌfi ÁÈ ÙËÓ ÔÈfiÙËÙ

XPI TO OY AKH (96ÛÂÏ.) 22/8/ :39 ÂÏ 1. Bάσεις εδοµένων

B ÛÈÎ EÚÁ ÏÂ Î È M ıô ÔÈ ÁÈ ÙÔÓ ŒÏÂÁ Ô ÙË ÔÈfiÙËÙ

Eισαγωγή στην Πυρηνική Φυσική

K ÓÔ.ÛÂÏÈ.(168ÛÂÏ.) :13 ÂÏ 1 (M ÚÔ ÙÛ ÁÎÔ) Eπιστήµη Eπιφανειών

OÈÎÔÓÔÌÈÎ T ÓÈÎÒÓ ŒÚÁˆÓ

E π A π π ª π º ÛÈÎÔ ËÌÂ. TfiÌÔ ' Ù ÙÈÛÙÈÎ ÂÚÌÔ Ó ÌÈÎ BÏ ÛË M Ú ÓÙ

E π A π π ª π. ÚÔÁÚ ÌÌ ÙÈÛÌfi. ÁÈ ÙËÓ ÔÈfiÙËÙ. TfiÌÔ A' Â È ÛÌfi. ÁÈ ÙËÓ ÔÈfiÙËÙ. AÁÁÂÏfiappleÔ ÏÔ

ÚÔËÁÌ Ó EÚÁ ÏÂ Î È M ıô ÔÈ ÁÈ ÙÔÓ ŒÏÂÁ Ô ÙË ÔÈfiÙËÙ

ÚÔÁÚ ÌÌ ÙÈÛÌfi ÁÈ ÙËÓ ÔÈfiÙËÙ

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

È Â ÚÈÛË YÁÚÒÓ AappleÔ Ï ÙˆÓ

E π A π π ª π OÚÁ ÓÈÎ XËÌÂ. TfiÌÔ ' º ÛÌ ÙÔÛÎÔapple OÚÁ ÓÈÎÒÓ EÓÒÛˆÓ. I.. ÂÚÔı Ó ÛË

Mηχανολογική Σχεδίαση

Aρχές Διοίκησης Επιχειρήσεων

ÔÌ Î È ÂÈÙÔ ÚÁ ÙÔ K ÙÙ ÚÔ

È Â ÚÈÛË ÙÂÚÂÒÓ AappleÔ Ï ÙˆÓ

E π A π Δ π Δ ª π. NÔÌÔıÂÛ Î È AÛÊ ÏÂÈ T ÓÈÎÒÓ ŒÚÁˆÓ. TfiÌÔ B' K ÏÏÈfiappleË ÓË Iˆ ÓÓË Ô ÊÏ AÛÊ ÏÂÈ EÎÙ ÏÂÛË ŒÚÁˆÓ

E π A π π ª π KÏ ÛÈÎ º ÛÈÎ I. TfiÌÔ ' HÏÂÎÙÚÔÌ ÁÓËÙÈÛÌfi. NÈÎfiÏ Ô. K Ï ÊË

Aισθητήρες και Mικροαισθητήρες

OÈÎÔÓÔÌÈÎ T ÓÈÎÒÓ ŒÚÁˆÓ

Eιδικά Θέµατα υναµικής των Kατασκευών και Σεισµικής Mηχανικής

Tεχνολογία Λογισµικού II

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH. Θεµατική Ενότητα ΣYΓXPONA IKTYA KAI YΠHPEΣIEΣ

K Ì ÚÈÓfi (232ÛÂÏ.) 23/3/ :03 ÂÏ 1. Mικροηλεκτρονική

Σύµµικτες Kατασκευές

È Â ÚÈÛË ÙÂÚÂÒÓ AappleÔ Ï ÙˆÓ

ÚÔÛÙ Û Î È AÛÊ ÏÂÈ ÛÙËÌ ÙˆÓ YappleÔÏÔÁÈÛÙÒÓ

E π A π π ª π OÚÁ ÓÈÎ XËÌÂ. TfiÌÔ ' BÈÔÌfiÚÈ : ÔÌ & ÂÈÙÔ ÚÁÈÎfiÙËÙ N ÎÔ K. K Ú Ì ÓÔ

TÂ ÓËÙ NÔËÌÔÛ ÓË - EÊ ÚÌÔÁ

Aποτίµηση Σεισµικών Bλαβών, Eπισκευές και Eνισχύσεις Kτιρίων Oπλισµένου Σκυροδέµατος

Aξιοπιστία και Συντήρηση

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

Eπικοινωνία Aνθρώπου Yπολογιστή

È Â ÚÈÛË YÁÚÒÓ AappleÔ Ï ÙˆÓ

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

KO MA E I O OIH H 30/5/ :32 ÂÏ 1. Eπιστήµη Πολυµερών

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH

NÔÌÔıÂÛ Î È AÛÊ ÏÂÈ T ÓÈÎÒÓ ŒÚÁˆÓ

E π A π π ª π º ÛÈÎÔ ËÌÂ. TfiÌÔ E' º ÛÌ ÙÔÛÎÔapple ºÒÙË NÙ

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

È Â ÚÈÛË ÙÂÚÂÒÓ AappleÔ Ï ÙˆÓ

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛΗΡΟΦΟΡΙΚΗ. Θεµατική Eνότητα

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

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

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

Θεµέλια Γραµµικού Προγραµµατισµού

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

H EÍ ÏÈÍË ÙˆÓ I ÂÒÓ ÛÙÈ º ÛÈÎ EappleÈÛÙ ÌÂ

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

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Eπιστήµη Yλικών: Mαγνητικά Yλικά

Certified Data Base Designer (CDBD)

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

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

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

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

Σχεδιασµός και Eκτίµηση Έργων

Στοχαστική υναµική των Kατασκευών

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

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

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

E π A π Δ π Δ ª π. NÔÌÔıÂÛ Î È AÛÊ ÏÂÈ T ÓÈÎÒÓ ŒÚÁˆÓ. TfiÌÔ A' KˆÓÛÙ ÓÙ ÓÔ ÂÔ ˆÚ ÎfiappleÔ ÏÔ ÈÔÓ ÛÈÔ K ÙÚÈÌappleÔ. NÔÌÔıÂÛ EÎÙ ÏÂÛË T ÓÈÎÒÓ ŒÚÁˆÓ

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH. Θεµατική Ενότητα ΣYΓXPONA IKTYA KAI YΠHPEΣIEΣ

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

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

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

ÚÔËÁÌ Ó EÚÁ ÏÂ Î È M ıô ÔÈ ÁÈ ÙÔÓ ŒÏÂÁ Ô ÙË ÔÈfiÙËÙ

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Επεξεργασία Ερωτήσεων

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

Transcript:

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 Σύνοψη... 35 Bιβλιογραφία για περαιτέρω µελέτη... 37 K º π 2 AÚ ÈÙÂÎÙÔÓÈÎ Î È º ÛÈÎ OÚÁ ÓˆÛË AÚ Â ˆÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις... 39

6 BA EI E OMENø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 Σύνοψη... 61 Bιβλιογραφία για περαιτέρω µελέτη... 61 K º π 3 ªÔÓÙÂÏÔappleÔ ËÛË Î È Ì Ù Â ÛË Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά 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 Σύνοψη... 91 Bιβλιογραφία για περαιτέρω µελέτη... 92 K º π 4 ÂÛÈ Î B ÛÂÈ Â ÔÌ ÓˆÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις... 93 4.1 Το σχεσιακό µοντέλο... 85

EPIEXOMENA 7 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 Σύνοψη... 112 Bιβλιογραφία για περαιτέρω µελέτη... 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 Σύνοψη... 141 Bιβλιογραφία για περαιτέρω µελέτη... 142

8 BA EI E OMENøN K º π 6 H ÏÒÛÛ EÚˆÙ ÛÂˆÓ QBE Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις... 143 6.1 Η φιλοσοφία της QBE... 145 6.2 Συνθήκες... 148 6.3 Η QBE σε συνδυασµό µε γραφικό περιβάλλον... 152 Σύνοψη... 155 Bιβλιογραφία για περαιτέρω µελέτη... 156 K º π 7 ÓÙÈÎÂÈÌÂÓÔÛÙÚ Ê B ÛÂÈ Â ÔÌ ÓˆÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις... 157 7.1 Η φιλοσοφία των αντικειµενοστραφών βάσεων δεδοµένων... 159 7.2 Η αντικειµενοστραφής γλώσσα ερωτήσεων OQL και η πρότυπη γλώσσα ερωτήσεων SQL3... 161 Σύνοψη... 164 Bιβλιογραφία για περαιτέρω µελέτη... 164 K º π 8 AÓ ÎÂÊ Ï ˆÛË Î È EapplefiÌÂÓ 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ο κεφάλαιο κάνουµε µία σύνοψη της ύλης που παρουσιάσαµε και σας

10 BA EI E OMENøN δίνουµε κατευθύνσεις για τη συνέχεια της µελέτης σας. Σε όλα τα κεφάλαια υπάρχουν δραστηριότητες και ασκήσεις αυτοαξιολόγησης που θα σας βοηθήσουν να κατανοήσετε καλύτερα την ύλη του τόµου αυτού. Mερικοί από εσάς, που έχουν ήδη κάποιες γνώσεις πληροφορικής, θα παρατηρήσουν ότι κάποιοι ορισµοί στο βιβλίο δεν είναι αυτοί που θα περίµεναν. Aυτό έχει γίνει γιατί δεν θέλουµε να δώσουµε ορισµούς που περιέχουν έννοιες που δεν έχετε διδαχθεί. Έτσι, αρκετοί ορισµοί έχουν απλοποιηθεί για να είναι κατανοητοί από όλους σας, µε βάση τις γνώσεις που έχετε αποκτήσει µέχρι τώρα. Στο τέλος του τόµου θα πρέπει να γνωρίζετε: τις βασικές αρχές των Βάσεων εδοµένων και των Συστηµάτων ιαχείρισης Βάσεων εδοµένων, τα Μοντέλα Βάσεων εδοµένων, την οργάνωση των δεδοµένων στο φυσικό επίπεδο, τις βασικές αρχές των Σχεσιακών και Αντικειµενοστραφών Βάσεων εδοµένων. Επίσης, θα πρέπει να µπορείτε να: σχεδιάζετε το διάγραµµα Σχέσεων Οντοτήτων για κάθε Βάση εδοµένων, περιγράφετε ερωτήσεις σε Σχεσιακή Άλγεβρα και Σχεσιακό Υπολογισµό, περιγράφετε ερωτήσεις και εντολές σε SQL και QBE. Oι συγγραφείς θέλουν να ευχαριστήσουν όλους εκείνους που συντέλεσαν σηµαντικά στη βελτίωση του βιβλίου αυτού και βοήθησαν στην παραγωγή του. Παρακαλούµε για την κατανόησή σας σχετικά µε µικρολάθη ή παραλήψεις που πιθανόν µας «ξέφυγαν» κατά τη συγγραφή αυτού του βιβλίου, και που ίσως εντοπίσετε θα εκτιµούσαµε πολύ την ευγενική συνεισφορά σας για τον εντοπισµό και τη διόρθωσή τους. Παρόλα αυτά, είµαστε σίγουροι ότι το βιβλίο αυτό θα αποτελέσει ένα πολύτιµο «εργαλείο µάθησης» στα χέρια σας. Mιχάλης Ξένος ηµήτρης Xριστοδουλάκης

EÈÛ ÁˆÁ ÎÔapplefi Σκοπός αυτού του κεφαλαίου είναι: α) Να σας εισάγει στις βασικές έννοιες των βάσεων δεδοµένων, β) να σας ενηµερώσει για την ύλη που καλύπτεται σε αυτό το βιβλίο και γ) να σας προτείνει εναλλακτικούς τρόπους οργάνωσης της µελέτης σας. 1 º π ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε ολοκληρώσει τη µελέτη αυτού του κεφαλαίου θα µπορείτε να: εξηγήσετε τους βασικούς όρους που σχετίζονται µε το αντικείµενο των Βάσεων εδοµένων διακρίνετε τις έννοιες δεδοµένα και πληροφορία εξηγήσετε τις διαφορές ανάµεσα σε ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων και µίας Βάσης εδοµένων διακρίνετε µεταξύ των περιπτώσεων όπου απαιτείται ή όχι η χρήση (ή κατασκευή) µίας Βάσης εδοµένων αναφέρετε τι παρέχει µία Βάση εδοµένων και τι ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων περιγράψετε τις βασικές λειτουργίες που επιτελεί ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων περιγράψετε τους χρήστες µιας Βάσης εδοµένων και τους στόχους καθενός από τη χρήση της Βάσης εδοµένων ŒÓÓÔÈ ÎÏÂÈ È Βάση εδοµένων (Database) Σύστηµα ιαχείρισης Βάσεων εδοµένων (Database Management System (DBMS)) εδοµένα (Data) Πληροφορία (Information) Οργάνωση εδοµένων (Data Organization)

12 KEºA AIO 1: EI A ø H Χρήστες Βάσης εδοµένων (Database Users) Όψεις εδοµένων (Data Views) Επίπεδα Προσπέλασης Βάσης εδοµένων (Database User Levels) ÈÛ ÁˆÁÈÎ Ú ÙËÚ ÛÂÈ Στο κεφάλαιο αυτό εισάγεται η έννοια των Βάσεων εδοµένων και των αναγκών που έρχονται να καλύψουν. Θα συζητήσουµε τις βασικές έννοιες που πρέπει να γνωρίζετε για τις Βάσεις εδοµένων, θα περιγράψουµε το Σύστηµα ιαχείρισης Βάσεων εδοµένων (DBMS) και τις διαφορές του από τη Βάση εδοµένων, θα αναλύσουµε τις δυνατότητες που σας παρέχουν οι Βάσεις εδοµένων και θα δούµε τους πιθανούς χρήστες µιας Βάσης εδοµένων και τι ζητάει κάθε ένας από αυτούς.

1.1 µ ÛÈÎÔ ÔÚÈÛÌÔ ÎÔapplefi Σκοπός της ενότητας είναι να ορίσει τις βασικές έννοιες µε τις οποίες θα ασχοληθούµε στη συνέχεια του µαθήµατος, δηλαδή τα δεδοµένα, την πληροφορία, τη Βάση εδοµένων, το σκοπό της Βάσης εδοµένων (δηλαδή το λόγο δηµιουργίας και χρήσης της) και τους χρήστες µιας Βάσης εδοµένων. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να: εξηγήσετε τους όρους Βάση εδοµένων, δεδοµένα, πληροφορία και χρήστες διακρίνετε ανάµεσα στις έννοιες «δεδοµένα» και «πληροφορία» δώσετε τουλάχιστον τρία παραδείγµατα Βάσεων εδοµένων αναγνωρίσετε Βάσεις εδοµένων που χρησιµοποιούµε στη ζωή µας αναφέρετε ένα πρόβληµα που σχετίζεται µε Βάσεις εδοµένων χρησιµοποιώντας τεχνικούς όρους ÈÛ ÁˆÁÈÎ Ú ÙËÚ ÛÂÈ Στην ενότητα αυτή θα δοθούν οι βασικοί όροι τόσο στα Ελληνικά όσο και στα Αγγλικά (σε παρενθέσεις). Αυτό γίνεται ώστε να σας δώσουµε τη δυνατότητα να γνωρίζετε και την αγγλική µετάφραση του κάθε όρου, µια και η περισσότερη βιβλιογραφία που παρατίθεται στο τέλος του κεφαλαίου είναι στα αγγλικά. 1.1.1  ÔÌ Ó Î È appleïëúôêôú Πριν προχωρήσουµε στην έννοια της Βάσης εδοµένων πρέπει να διακρίνουµε µεταξύ των εννοιών δεδοµένα (data) και πληροφορία (information). Από τα πρώτα χρόνια της χρήσης των Ηλεκτρονικών Υπολογιστών οι έννοιες δεδοµένα και πληροφορία συγχέονταν µεταξύ τους. Ως δεδοµένα ορίζονται στοιχεία, έννοιες και οδηγίες, τυποποιηµένα σε καθορισµένη µορφή, κατάλληλα για επεξεργασία από ανθρώπους ή µηχανές.

14 KEºA AIO 1: EI A ø H Έτσι τα δεδοµένα µπορούν να είναι λέξεις π.χ. { Νίκος, Μιχάλης, Μαρία, Θάλασσα, Αυτοκίνητο }, αριθµοί, π.χ. {1, 2, 3, 5, 78}, συµβολοσειρές (strings) π.χ. { Κώστας, 5621, ΤΡ 882, 6&5 #1, <>+ /* }, ή σύµβολα που έχουν νόηµα σε συγκεκριµένο πλαίσιο αναφοράς. Ένα τέτοιο παράδειγµα, δεδοµένων είναι ψηφιοποιη- µένες εικόνες µε κάποια καθορισµένη τυποποίηση. Aυτές οι εικόνες θα έχουν νόηµα µόνο µε τη χρήση ενός συγκεκριµένου προγράµµατος απεικόνισης, δηλαδή µέσα στο πλαίσιο το προγράµµατος απεικόνισης, ενώ έξω από αυτό είναι ακατανόητες συλλογές συµβόλων. Η πληροφορία εξάγεται από τα δεδοµένα και χρησιµοποιείται στην επίλυση προβληµάτων. Έτσι όπως ορίσαµε τα δεδοµένα είναι φανερό ότι είναι κατάλληλα για αποθήκευση σε ηλεκτρονικό υπολογιστή. Οι άνθρωποι, όµως, χρησι- µοποιούσαν δεδοµένα πολύ πριν από την ανακάλυψη των ηλεκτρονικών υπολογιστών στα πλαίσια ενός πεδίου αναφοράς για την εξαγωγή συµπερασµάτων ή την λήψη αποφάσεων. Για παράδειγµα, από τα δεδοµένα {85, 210, 515} και τα δεδοµένα { Κόρινθος, Πάτρα, Θεσσαλονίκη }, αλλά και από τη γνώση (πεδίο αναφοράς) ότι τα πρώτα δεδοµένα περιγράφουν αποστάσεις από την Αθήνα για τις πόλεις που ορίζονται στα δεύτερα δεδοµένα, κάποιος µπορεί να καταλάβει ότι «η Πάτρα είναι πιο µακριά από την Αθήνα από ότι η Κόρινθος, αλλά πολύ κοντύτερα στην Aθήνα από ότι η Θεσσαλονίκη». Αυτό το συµπέρασµα είναι πληροφορία. Συνοψίζοντας µπορούµε να πούµε ότι τα δεδοµένα είναι κωδικοποιη- µένη αναπαράσταση πληροφορίας, ενώ η πληροφορία εξάγεται από τα δεδοµένα µε βάση το πεδίο αναφοράς των δεδοµένων ή συγκεκρι- µένη γνώση για αυτά. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.1 Ακολουθούν µερικές προτάσεις. Ποιες από αυτές είναι σωστές και ποιες λάθος; Σωστό Λάθος Τα {1, 2, 4, 5, 7, 9} είναι δεδοµένα. Τα {1, Νίκος, 4, 5, Ποδήλατο } είναι δεδοµένα. Τα { Αθήνα, 34, Παρίσι, 28, Μόσχα, 11, Μαδρίτη, 37, Ρώµη, 33} είναι πληροφορία.

1.1 µ π π ƒπ ª π 15 Τα { Αθήνα, 34, Παρίσι, 28, Μόσχα, 11, Μαδρίτη, 37, Ρώµη, 33} είναι δεδοµένα. Τα δεδοµένα γίνονται πληροφορία µόλις αποθηκευτούν στον ηλεκτρονικό υπολογιστή. 1.1.2 µ ÛË Â ÔÌ ÓˆÓ Ένα βασικό χαρακτηριστικό των δεδοµένων, έτσι όπως τα παρουσιάσαµε είναι ότι είναι κατάλληλα για να αποθηκευτούν σε ηλεκτρονικό υπολογιστή. Αυτό οδηγεί στο επόµενο βήµα που είναι η δηµιουργία και χρήση Βάσεων εδοµένων (databases). Η σχετικότητα των δεδοµένων είναι σηµαντική για τον ορισµό µιας Βάσης εδοµένων. εδοµένα που δε σχετίζονται µεταξύ τους και απλά έχουν αποθηκευτεί σε έναν ηλεκτρονικό υπολογιστή δεν αποτελούν µια Βάση εδοµένων. Μια Βάση εδοµένων πρέπει να αντικατοπτρίζει ένα περιβάλλον του πραγµατικού κόσµου. Τα δεδοµένα που αποθηκεύονται στη Βάση εδοµένων πρέπει να έχουν λογική συνέχεια και νόηµα. Επίσης οι λειτουργίες που παρέχει η Βάση εδοµένων είναι σηµαντικές για τον ορισµό µιας Βάσης εδοµένων. Συλλογές δεδοµένων χωρίς τη δυνατότητα ενός αυτόµατου, κοινού και κεντρικού τρόπου χειρισµού των δεδοµένων αυτών, δεν αποτελούν Βάση εδοµένων. Απλά είναι δεδοµένα αποθηκευµένα στον ηλεκτρονικό υπολογιστή. Η Βάση εδοµένων είναι µια αυστηρά τυποποιηµένη συλλογή από σχετικά µεταξύ τους δεδοµένα, που παρέχει έναν αυτόµατο, κεντρικό και κοινό τρόπο χειρισµού τους. Η Βάση εδοµένων έχει ένα σκοπό. Υλοποιείται για να απεικονίσει στον υπολογιστή ένα πρόβληµα και να διευκολύνει τη λύση του. Αυτό συνήθως σηµαίνει ότι τα δεδοµένα που χειρίζεται δεν είναι στατικά αλλά δυναµικά, δηλαδή αλλάζουν συνεχώς. Η Βάση εδοµένων περιέχει τα δεδοµένα που περιγράφουν τη συγκεκριµένη χρονική στιγµή το «πρόβληµα», µπορεί όµως να περιέχει και δεδοµένα από την ιστορία του προβλήµατος.

16 KEºA AIO 1: EI A ø H Ú ÂÈÁÌ 1.1 Ας δούµε µία αρκετά απλή Βάση εδοµένων: Έστω ότι θέλουµε να έχουµε στον ηλεκτρονικό υπολογιστή τη θερµοκρασία 5 µεγάλων ευρωπαϊκών πόλεων κάθε µέρα στις 12 το µεσηµέρι. Θα πρέπει λοιπόν να αποθηκεύσουµε στον υπολογιστή δεδοµένα που θα είναι (για λόγους απλότητας) της µορφής { Αθήνα, 24, 15 1 98 }, { Ρώµη, 29, 12 1 98 } κτλ. Προσέξτε ότι χρειαζόµαστε και την πληροφορία για την ηµεροµηνία. Επίσης, όπως ορίσαµε παραπάνω, θα πρέπει για να έχουµε Βάση εδοµένων να έχουµε και τη δυνατότητα χειρισµού αυτών των δεδοµένων. Έτσι θα πρέπει να µπορούµε να αντλήσουµε πληροφορίες όπως «ποια είναι η θερµοκρασία που είχε η Αθήνα στις 25 Μαρτίου του 1998;» ή «που έκανε πιο πολύ ζέστη, στην Αθήνα ή στην Ρώµη στις 31 Αυγούστου 1997;». Τέλος θα πρέπει να µπορούµε να χειριστούµε τα δεδοµένα, δηλαδή να εισάγουµε νέα δεδοµένα στη Βάση εδοµένων (όπως είναι οι σηµερινές θερµοκρασίες), ή να σβήσουµε κάποια παλαιά δεδοµένα, που πιθανόν δεν χρειαζόµαστε άλλο. Βέβαια για να µπορεί η Βάση εδοµένων να µας παρέχει σωστά δεδο- µένα (που θα µας οδηγούν σε σωστές πληροφορίες) πρέπει να αναλάβουµε την καθηµερινή εισαγωγή δεδοµένων σε αυτή, αλλά και να ελέγχουµε την ορθότητα των δεδοµένων που εισάγουµε. Χρήστες µιας Βάσης εδοµένων είναι όσοι χρησι- µοποιούν τη Βάση εδοµένων είτε για απόκτηση πληροφορίας είτε για συντήρηση της Βάσης εδοµένων. Η Βάση εδοµένων που περιγράφουµε στο παράδειγµα 1.1 έχει όλα τα στοιχεία που καθορίζουν µια Βάση εδοµένων. Είναι µια πολύ απλή Βάση εδοµένων µε µετεωρολογικές πληροφορίες. Για να µπορεί όµως να αναπαριστά δυναµικά τον πραγµατικό κόσµο θα πρέπει κάποιοι άνθρωποι να είναι επιφορτισµένοι µε το καθήκον να εισάγουν δεδοµένα σε αυτή. Οι άνθρωποι αυτοί χρησιµοποιούν τη Βάση εδο- µένων και καλούνται χρήστες (users). Οι λειτουργίες που επιτελούν σχετίζονται όχι µόνο µε την εισαγωγή δεδοµένων, αλλά γενικότερα φροντίζουν για την εύρυθµη λειτουργία της Βάσης εδοµένων. Αυτή η διαδικασία ονοµάζεται συντήρηση της Βάσης εδοµένων. Χρήστες είναι επίσης και όσοι ανατρέχουν στη Βάση εδοµένων για πληροφορίες, π.χ. για να µάθουν τι θερµοκρασία είχε η Αθήνα σήµερα. Σε επόµενη ενότητα (στην ενότητα 1.4) θα µιλήσουµε αναλυτικά για τους χρήστες και τα επίπεδα χρηστών µιας Βάσης εδοµένων.

1.1 µ π π ƒπ ª π 17 Θα προσπαθήσουµε να επεκτείνουµε τη µετεωρολογική Βάση εδο- µένων που αναφέραµε ως παράδειγµα, επαυξάνοντας την και µε άλλες πληροφορίες. Ποια από τα δεδοµένα που ακολουθούν πιστεύετε πως µπορούν να ενταχθούν στη Βάση εδοµένων του παραδείγµατος ώστε αυτή να παραµείνει µία µετεωρολογική Βάση εδοµένων; ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.2 Σωστό Λάθος εδοµένα για την υγρασία των πόλεων. Π.χ. υγρασία 87%. εδοµένα και για άλλες ώρες τις ηµέρας, όπως η θερµοκρασία των πόλεων ανά ώρα. εδοµένα για τον αέρα και την έντασή του σε κάθε πόλη κάθε µεσηµέρι. Eπιλέξτε την πιο σωστή από τις παρακάτω προτάσεις. Μια συλλογή από δεδοµένα για να αποτελεί µία Βάση εδοµένων πρέπει να: ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.3 α) Αποτελείται από δεδοµένα σχετικά µεταξύ τους. β) Παρέχει ένα τρόπο χειρισµού των δεδοµένων έτσι ώστε να µπορούν να εξαχθούν πληροφορίες από αυτά. γ) Σχετίζεται µε κάποιο υπαρκτό πρόβληµα το οποίο να αναπαριστά µε δεδοµένα για κάποιο συγκεκριµένο σκοπό. δ) Όλα τα παραπάνω. 1.1.3 πûùôúèî Ó ÚÔÌ Οι Βάσεις εδοµένων δεν προϋποθέτουν την ύπαρξη ηλεκτρονικού υπολογιστή. Οι πρώτες Βάσεις εδοµένων δεν βασίζονταν σε ηλεκτρονικό υπολογιστή, αλλά σε χαρτί και οργανώνονταν µε φακέλους ή καρτέλες. Αρκετές υπηρεσίες δυστυχώς λειτουργούν µε παρόµοιο τρόπο ακόµα και σήµερα. Η Βάση εδοµένων του παραδείγµατος θα µπορούσε κάλλιστα να χρησιµοποιεί καρτέλες της µορφής του παραδείγµατος 1.2.

18 KEºA AIO 1: EI A ø H Ú ÂÈÁÌ 1.2 ΑΘΗΝΑ Ιανουάριος 1998 1 17 o C 2 21 o C 3 20 o C 4 18 o C 5 16 o C 6 12 o 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 Μια Βάση εδοµένων που θα βασιζόταν σε τέτοιες καρτέλες θα µπορούσε να παρέχει τις ίδιες πληροφορίες µε µια Βάση εδοµένων σε ηλεκτρονικό υπολογιστή, όµως ο χειρισµός της θα ήταν πολύ πιο δύσκολος. Έτσι για παράδειγµα θα µπορούσαµε εύκολα να ανακτήσουµε την πληροφορία «θερµοκρασία στην Αθήνα στις 12 το µεση- µέρι στις 16 Ιανουαρίου 1998» τόσο από τον ηλεκτρονικό υπολογιστή, όσο και από τη Βάση εδοµένων µε τις καρτέλες. Στον υπολογιστή όµως, πληροφορίες όπως «ποιες ηµέρες στην Αθήνα έκανε περισσότερη ζέστη από τη Ρώµη;» ή «ποια πόλη ήταν η πιο ζεστή για κάθε ηµέρα του χρόνου;» µπορούν να υλοποιηθούν εύκολα σε αντίθεση µε τις καρτέλες. Σκεφτείτε πόσοι άνθρωποι θα έπρεπε να δουλέψουν µε τις καρτέλες για να ετοιµασθούν οι απαντήσεις για τις δύο παραπάνω ερωτήσεις εάν είχαµε δεδοµένα για τα δέκα προηγούµενα έτη! Αυτή η ανάγκη για αξιοποίηση των δυνατοτήτων του ηλεκτρονικού υπολογιστή οδήγησε στην δηµιουργία των πρώτων Βάσεων εδοµένων. Οι βάσεις αυτές απλά υλοποιούσαν στον ηλεκτρονικό υπολογιστή σχή- µατα όπως το παραπάνω µε τις καρτέλες και εκµεταλλεύονταν τις δυνατότητες του υπολογιστή για ταχύτατη και µαζική επεξεργασία δεδοµένων και εξαγωγή απαντήσεων σε ερωτήσεις, δηλαδή εξαγωγή πληροφορίας. Οι Βάσεις εδοµένων εξελίχτηκαν πολύ τα χρόνια που πέρασαν. Από

1.1 µ π π ƒπ ª π / 1.2 À ª π Ã πƒπ µ ø ª ø 19 µικρές Βάσεις εδοµένων που χειρίζονταν µικρούς αριθµούς δεδοµένων παρουσιάστηκαν Βάσεις εδοµένων που χειρίζονται τεράστιο όγκο πολύπλοκων δεδοµένων. Σήµερα µιλάµε για Βάσεις εδοµένων της τάξης των terabytes* µε δεδοµένα τα οποία περιέχουν εικόνες, ή βίντεο και Συστήµατα ιαχείρισης Βάσεων εδοµένων µε δυνατότητες ενσωµάτωσης λειτουργιών για καλύτερο χειρισµό των δεδοµένων, καθώς και για τρόπους εναλλακτικής οργάνωσης των δεδοµένων, όπως οι αντικειµενοστραφείς Βάσεις εδοµένων που θα εξετάσουµε στο κεφάλαιο 7. Σκεφτείτε και περιγράψτε τουλάχιστον άλλα τρία παραδείγµατα Βάσεων εδοµένων. Σε κάθε παράδειγµα αναφέρατε µια σύντοµη περιγραφή της Βάσης εδοµένων, του σκοπού της και του µοντέλου του πραγµατικού κόσµου για το οποίο συγκεντρώνει δεδοµένα. Επίσης αναφέρατε τη µορφή των δεδοµένων που θα εισαχθούν στην κάθε Βάση εδοµένων. Καταγράψτε τις απόψεις σας προσπαθώντας να µην υπερβείτε τη µισή σελίδα ανά Βάση εδοµένων. Στις τελευταίες σελίδες του βιβλίου θα βρείτε κατευθύνσεις για το τι θα µπορούσατε να περιγράψετε. Ú ÛÙËÚÈfiÙËÙ 1.1 * 1terabyte = 10 12 bytes ή 1.000.000.000.000 bytes

20 KEºA AIO 1: EI A ø H 1.2 ÛÙËÌ È Â ÚÈÛË ÛÂˆÓ Â ÔÌ ÓˆÓ ÎÔapplefi Σκοπός της ενότητας είναι η περιγραφή του Συστήµατος ιαχείρισης Βάσεων εδοµένων και των δυνατοτήτων που παρέχει, καθώς και η περιγραφή του υλικού και του λογισµικού που συνεργάζονται σε ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να: εξηγήσετε τη δοµή και τη λειτουργικότητα ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων διακρίνετε ανάµεσα σε Βάσεις εδοµένων και Συστήµατα ιαχείρισης Βάσεων εδοµένων εξηγήσετε τη σχέση υλικού και λογισµικού σε ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων περιγράψετε τι µας παρέχει ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων Σύστηµα ιαχείρισης Βάσεων εδοµένων είναι το λογισµικό το οποίο επιτρέπει στους χρήστες να δηµιουργούν και να χρησιµοποιούν Βάσεις εδοµένων. Η εξέλιξη των Βάσεων εδοµένων και οι ανάγκες για δηµιουργία όλο και περισσότερων Βάσεων εδοµένων, οδήγησαν στη δηµιουργία των Συστηµάτων ιαχείρισης Βάσεων εδοµένων (Database Management Systems ή DBMS). Το Σύστηµα ιαχείρισης Βάσεων εδοµένων είναι ένα εργαλείο το οποίο διευκολύνει τους χρήστες να εργάζονται µε Βάσεις εδοµένων. Με τη χρήση του Συστήµατος ιαχείρισης Βάσεων εδοµένων οι χρήστες µπορούν να κατασκευάσουν και να χρησι- µοποιήσουν Βάσεις εδοµένων. Ακολουθεί ο ορισµός του Συστήµατος ιαχείρισης Βάσεων εδοµένων. Ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων κατά κανόνα «φιλοξενεί» πολλές Βάσεις εδοµένων που έχουν κατασκευαστεί από διαφορετικούς χρήστες. Οι δυνατότητες που παρέχει ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων στους χρήστες συνοψίζονται στις παρακάτω: Ορισµός της Βάσης εδοµένων Κατασκευή της Βάσης εδοµένων ιαγραφή της Βάσης εδοµένων Χρήση της Βάσης εδοµένων Στον ορισµό της Βάσης εδοµένων ο χρήστης µπορεί να καθορίσει το

1.2 À ª π à πƒπ µ ø ª ø 21 µοντέλο της Βάσης εδοµένων, να ορίσει τους τύπους δεδοµένων που θα χρησιµοποιήσει και να ελέγξει τη Βάση εδοµένων χωρίς να προχωρήσει σε κατασκευή της. Στην κατασκευή της Βάσης εδοµένων οι τύποι των δεδοµένων και τα δεδοµένα αποθηκεύονται στο υλικό (hardware) του ηλεκτρονικού υπολογιστή µε διαδικασίες που ελέγχονται από το Σύστηµα ιαχείρισης Βάσεων εδοµένων και δεν απασχολούν τον χρήστη. Στη διαγραφή της Βάσης εδοµένων ο χρήστης αποφασίζει τον τερµατισµό µιας Βάσης εδοµένων και την αποµάκρυνση των δεδοµένων από το υλικό. Τέλος, κατά τη χρήση της Βάσης εδοµένων ο χρήστης, είτε χειρίζεται τα δεδοµένα (εισάγει νέα δεδο- µένα, τροποποιεί δεδοµένα, ή διαγράφει δεδοµένα), είτε υποβάλει ερωτήσεις στη Βάση εδοµένων µε στόχο την εξαγωγή πληροφοριών. 1.2.1 È ÊÔÚ ÛË Â ÔÌ ÓˆÓ ÌÂ Û ÛÙËÌ È Â ÚÈÛË ÛÂˆÓ Â ÔÌ ÓˆÓ Σε αυτό το σηµείο πρέπει να είναι ξεκάθαρη σε εσάς η διαφορά µεταξύ ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων και µίας Βάσης εδοµένων. Το Σύστηµα ιαχείρισης Βάσεων εδοµένων είναι λογισµικό το οποίο διευκολύνει τους χρήστες να υλοποιήσουν Βάσεις εδοµένων. Αντίθετα η Βάση εδοµένων υλοποιείται µε τη βοήθεια ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων που χειρίζεται δεδοµένα τα οποία αποθηκεύονται στο υλικό του υπολογιστή. Η όλη διαδικασία χειρισµού και αποθήκευσης των δεδοµένων διευκολύνεται από το Σύστηµα ιαχείρισης Βάσεων εδοµένων, το οποίο αναλαµβάνει τη µετατροπή των εντολών του χρήστη σε εντολές προς τον υπολογιστή και λειτουργίες που σχετίζονται µε το χειρισµό των δεδοµένων στο υλικό του υπολογιστή. Ο χρήστης µιας Βάσης εδοµένων επιτελεί λειτουργίες που µπορούν να οµαδοποιηθούν στις παρακάτω: εισαγωγή δεδοµένων, διαγραφή δεδοµένων, αλλαγή δεδοµένων και ανάκληση δεδοµένων. Όλες οι παραπάνω λειτουργίες προϋποθέτουν επικοινωνία µε το υλικό του υπολογιστή (π.χ. το µαγνητικό δίσκο του υπολογιστή). Αυτή η επικοινωνία γίνεται µέσω του λογισµικού του Συστήµατος ιαχείρισης Βάσεων εδοµένων. Η επικοινωνία αυτή συνήθως δεν είναι ορατή από τον χρήστη της Βάσης εδοµένων, ο οποίος απλά βλέπει τα αποτελέσµατα από τις λειτουργίες που ζήτησε να επιτελούνται. Αυτό είναι

22 KEºA AIO 1: EI A ø H και το σηµείο που κάνει αρκετούς χρήστες να συγχέουν τις έννοιες Βάση εδοµένων και Σύστηµα ιαχείρισης Βάσεων εδοµένων. 1.2.2 ÔÌ ÂÓfi Û ÛÙ Ì ÙÔ È Â ÚÈÛË ÛÂˆÓ Â ÔÌ ÓˆÓ Ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων µπορεί να απεικονισθεί όπως στο σχήµα 1.1. Στο δεξιό µέρος του σχήµατος 1.1 παρουσιάζεται το είδος (µέσο αποθήκευσης) του υλικού (hardware) του υπολογιστή στον οποίο αποθηκεύονται τα δεδοµένα. Σε µικρές Βάσεις εδοµένων το µέσο αυτό συνήθως είναι ο σκληρός δίσκος του υπολογιστή, ενώ σε µεγάλες Βάσεις εδοµένων χρησιµοποιούνται πολλαπλά επίπεδα αποθήκευσης που ποικίλουν από σκληρούς δίσκους διαφορετικής ταχύτητας και χωρητικότητας, juke boxes από CDs, µαγνητικές ταινίες κτλ. Σύστηµα διαχείρησης βάσεων δεδοµένων Ì 1.1 Σύστηµα ιαχείρισης Βάσεων εδοµένων Bάση δεδοµένων 1 Bάση δεδοµένων N Λογισµικό χειρισµού ερωτήσεων Λογισµικό αποθήκευσης και ανάκλησης δεδοµένων Aποθηκευµένα δεδοµένα Ο χειρισµός των δεδοµένων στο υλικό του υπολογιστή γίνεται από το λογισµικό του Συστήµατος ιαχείρισης Βάσεων εδοµένων που στο σχήµα 1.1 ονοµάζεται «Λογισµικό Αποθήκευσης και Ανάκλησης εδο- µένων». Αυτό το λογισµικό αναλαµβάνει να µεταφέρει όλες τις εντολές του χρήστη προς το υλικό. Το λογισµικό αυτό συνεργάζεται µε το άλλο τµήµα του Συστήµατος ιαχείρισης Βάσεων εδοµένων που είναι το «Λογισµικό Χειρισµού Ερωτήσεων». Όλα τα Συστήµατα ιαχείρισης Βάσεων εδοµένων παρέχουν µία γλώσσα υποβολής ερωτήσεων προς τη Βάση εδοµένων. Αυτές οι ερωτήσεις επεξεργάζονται από το Λογισµικό Χειρισµού Ερωτήσεων και στη συνέχεια µετατρέπονται σε εντολές για ανάκληση συγκεκριµένων δεδοµένων από το υλικό και µεταφέρονται στο Λογισµικό Αποθήκευσης και Ανάκλησης εδοµένων. Στο αριστερό µέρος του σχήµατος 1.1 απεικονίζονται Ν Βάσεις εδο- µένων. (Με το σύστηµα µπορούν να υλοποιηθούν αρκετές Βάσεις εδοµένων που ο αριθµός τους στο σχήµα 1.1 ορίζεται ως Ν.) Ο χρήστης µίας Βάσης εδοµένων δεν αντιλαµβάνεται τη διαδικασία, όπως την υλοποιεί το Σύστηµα ιαχείρισης Βάσεων εδοµένων. Συνήθως

1.2 À ª π Ã πƒπ µ ø ª ø 23 δεν γνωρίζει που βρίσκονται τα δεδοµένα (δηλαδή σε ποιο υλικό είναι αποθηκευµένα). Ο χρήστης απλά εκτελεί λειτουργίες (εισαγωγή, διαγραφή, ή τροποποίηση) στα δεδοµένα και υποβάλει ερωτήσεις. Βλέπει µόνο τη Βάση εδοµένων χωρίς να τον απασχολούν οι λειτουργίες του Συστήµατος ιαχείρισης Βάσεων εδοµένων. Τώρα που έχετε κατανοήσει τι είναι Σύστηµα ιαχείρισης Βάσεων εδο- µένων πρέπει να σας πούµε ότι η χρήση του δεν είναι ο µόνος τρόπος για να δηµιουργήσουµε µία Βάση εδοµένων. Θεωρητικά κάποιος µπορεί να ετοιµάσει µία Βάση εδοµένων υλοποιώντας όλο το λογισµικό που χρησιµοποιεί το Σύστηµα ιαχείρισης Βάσεων εδοµένων από την αρχή και κατασκευάζοντας εξειδικευµένο λογισµικό µόνο για τη συγκεκριµένη Βάση εδοµένων. Αυτή η προσέγγιση θα είχε πολύ µεγαλύτερο κόστος και χρόνο υλοποίησης, αφού θα έπρεπε να υλοποιήσει από την αρχή όλο το λογισµικό που παρέχεται έτοιµο από ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων. Αν και σε ορισµένες περιπτώσεις ακολουθείται αυτή η πρακτική, ο κανόνας είναι οι Βάσεις εδοµένων να υλοποιούνται και να χρησιµοποιούνται µέσω ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων. Ακολουθούν µερικές προτάσεις. Ποιες από αυτές είναι σωστές και ποιες λάθος Επιλέξτε Σωστό ή Λάθος. Σωστό Λάθος ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.4 Για κάθε Βάση εδοµένων χρειαζόµαστε διαφορετικό Σύστηµα ιαχείρισης Βάσεων εδοµένων. Τη µεταφορά των δεδοµένων από και προς το υλικό αποθήκευσης την αναλαµβάνει το Σύστηµα ιαχείρισης Βάσεων εδοµένων. Σύστηµα ιαχείρισης Βάσεων εδοµένων είναι πολλές Βάσεις εδοµένων µαζί. Το Σύστηµα ιαχείρισης Βάσεων εδοµένων αποτελείται από το Λογισµικό Χειρισµού Ερωτήσεων, το Λογισµικό Αποθήκευσης και Ανάκλησης εδοµένων και το Υλικό Αποθήκευσης των εδοµένων.

24 KEºA AIO 1: EI A ø H 1.2.3 TÈ apple Ú ÂÈ Ó Û ÛÙËÌ È Â ÚÈÛË ÛÂˆÓ Â ÔÌ ÓˆÓ Όπως σας αναφέραµε στο τέλος της ενότητας 1.2.2 µία Βάση εδο- µένων µπορεί να υλοποιηθεί και αυτόνοµα χωρίς να χρησιµοποιηθεί ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων. Όµως κατά κανόνα οι παροχές ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων είναι αυτές που τελικά ωθούν τους χρήστες να το χρησιµοποιήσουν. Στην ενότητα αυτή θα περιγράψουµε τι παρέχει ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων. À π à π π À π Όπως ήδη γνωρίζετε ένας χρήστης µίας Βάσης εδοµένων θέλει αρχικά να σχεδιάσει τη Βάση εδοµένων και να ορίσει τους τύπους δεδοµένων (για τους οποίους θα µιλήσουµε στην ενότητα 2.2.1) που θα χρησιµοποιεί, µετά να δηµιουργήσει τη Βάση εδοµένων και στη συνέχεια να χρησιµοποιεί τη Βάση εδοµένων ή να επιτρέπει και σε άλλους χρήστες να τη χρησιµοποιούν ταυτόχρονα µε αυτόν. Η υλοποίηση του λογισµικού που πραγµατοποιεί αυτές τις διαδικασίες δε χρειάζεται να γίνει, µια και όλα τα παραπάνω παρέχονται από το Σύστηµα ιαχείρισης Βάσεων εδοµένων. Επίσης το σύστηµα παρέχει στον χρήστη ένα ενιαίο τρόπο για να ορίζει τις Βάσεις εδοµένων του και µια φιλοσοφία που τον καθοδηγεί στις ενέργειές του. π à ø π à ƒ µ Επειδή µία Βάση εδοµένων µπορεί να χρησιµοποιείται από πολλούς χρήστες µε διαφορετικές ανάγκες και γνώσεις, το Σύστηµα ιαχείρισης Βάσεων εδοµένων παρέχει τη δυνατότητα ορισµού διαφορετικών κατηγοριών χρηστών. Για κάθε κατηγορία χρηστών ορίζονται τα όρια εξουσιοδότησης που παρέχονται σε κάθε επίπεδο. Κάποια δεδο- µένα είναι πιθανόν να είναι εµπιστευτικά και να µην επιτρέπεται να έχουν πρόσβαση σε αυτά όλοι οι χρήστες. Επίσης, κάθε κατηγορία χρηστών θα πρέπει να έχει το δικαίωµα να επιτελεί διαφορετικές λειτουργίες από τις άλλες κατηγορίες. Κάποιοι χρήστες για παράδειγµα θα µπορούν µόνο να διαβάζουν δεδοµένα, ενώ άλλοι θα µπορούν να εισάγουν ή να κάνουν αλλαγές στα δεδοµένα. Σκεφτείτε το παράδειγ- µα 1.1 µε τη Μετεωρολογική Βάση εδοµένων που συζητήσαµε στην

1.2 À ª π Ã πƒπ µ ø ª ø 25 ενότητα 1.1.2. Εισαγωγή και τροποποίηση δεδοµένων θα µπορεί να κάνει καθένας που θα θέλει να χρησιµοποιήσει τη Βάση εδοµένων; Προφανώς όχι. Η δυνατότητα αυτή θα πρέπει να δίνεται µόνο στο εξουσιοδοτηµένο προσωπικό (Μετεωρολόγους), ενώ οι υπόλοιποι θα πρέπει να µπορούν µόνο να βλέπουν τα δεδοµένα. Το Σύστηµα ιαχείρισης Βάσεων εδοµένων παρέχει διαφορετικά επίπεδα χρηστών ανάλογα µε τις δυνατότητες και απαιτήσεις καθενός. Επίσης το σύστηµα φροντίζει για την τήρηση των κανόνων ασφαλείας και ελέγχει την πρόσβαση σε αυτό και στις Βάσεις εδοµένων και δεν επιτρέπει παραβάσεις των επιπέδων πρόσβασης. Τα επίπεδα πρόσβασης δεν ισχύουν µόνο για τις Βάσεις εδοµένων, αλλά και για το ίδιο το Σύστηµα ιαχείρισης Βάσεων εδοµένων. Αναλυτικά για τα επίπεδα χρηστών θα συζητήσουµε στην ενότητα 1.4. ƒ π µ µ À π À Το Σύστηµα ιαχείρισης Βάσεων εδοµένων παρέχει δυνατότητες για τήρηση αντιγράφων ασφαλείας καθώς και δυνατότητες ανάληψης της Βάσης εδοµένων µετά από βλάβες. Έτσι εξασφαλίζει καλύτερη προστασία των δεδοµένων. Η ανάληψη (ή ανάνηψη) των δεδοµένων είναι η διαδικασία κατά την οποία το Σύστηµα ιαχείρισης Βάσεων εδο- µένων είτε αυτόµατα (χωρίς τη συµβολή του διαχειριστή) είτε χειροκίνητα (µε τη συµβολή του διαχειριστή) ανακτά τα δεδοµένα που χάθηκαν έπειτα από µία βλάβη. À ƒπ ƒ º ƒπ ƒπ ªø ƒ Σε µία Βάση εδοµένων µπορούν να τεθούν περιορισµοί ορθότητας. Τέτοιοι περιορισµοί σχετίζονται µε την οργάνωση των δεδοµένων στη Βάση, ή τις τιµές που µπορούν να λάβουν κάποια δεδοµένα. Για παράδειγµα στη Μετεωρολογική Βάση εδοµένων που αναφέραµε στο παράδειγµα 1.1, θα µπορούσαµε να ορίσουµε ότι η τιµή της θερµοκρασίας θα κυµαίνεται από 50 έως +50 βαθµούς. Με αυτόν τον τρόπο αν κάποιος εισήγαγε κατά λάθος την τιµή «177» αντί για «17» το Σύστηµα ιαχείρισης Βάσεων εδοµένων θα εντόπιζε το λάθος και δε θα δεχόταν την τιµή. (Θα αντιλαµβανόταν δηλαδή ότι η τιµή 177 δεν µπορεί να είναι πραγµατική τιµή για θερµοκρασία.) Με αυτό τον τρόπο το σύστηµα υλοποιεί ελέγχους και προστατεύει τη Βάση εδο-

26 KEºA AIO 1: EI A ø H µένων από λαθεµένες εισαγωγές δεδοµένων. Προσέξτε όµως: Ακόµα και µε τον παραπάνω περιορισµό, κάποιος θα µπορούσε να κάνει λάθος και αντί για «17» να εισάγει «27». Αυτό το λάθος δεν µπορεί να εντοπιστεί από το Σύστηµα ιαχείρισης Βάσεων εδοµένων, αλλά µόνο από τους χρήστες. À Ã À ªø Το Σύστηµα ιαχείρισης Βάσεων εδοµένων πραγµατοποιεί και ελέγχους για πλεονασµό δεδοµένων. Υποθέστε ότι, αντί για Σύστη- µα ιαχείρισης Βάσεων εδοµένων χρησιµοποιούσαµε µία Βάση εδοµένων µε καρτέλες όπως στο παράδειγµα 1.2 της ενότητας 1.1.3, και ότι για την τήρηση των αρχείων ήταν επιφορτισµένοι δύο υπάλληλοι. Από κάποιο λάθος λοιπόν έγραψαν και οι δύο καρτέλα για την «Αθήνα Ιανουάριος 1998». Εκτός από το πρόβληµα ότι θα είχαµε διπλά τα δεδοµένα, θα µπορούσαν να προκύψουν µεγαλύτερα προβλήµατα που σχετίζονται µε την συµβατότητα των δεδοµένων. Υποθέστε ότι εντοπίστηκε ένα λάθος στις µετρήσεις και η τιµή για την ηµεροµηνία 16 Ιανουαρίου πρέπει να αλλάξει και από 21 C πρέπει να γίνει 18 C. Εάν κάποιος αναλάβει να κάνει την αλλαγή θα την κάνει σε µία µόνο καρτέλα, ενώ η άλλη θα συνεχίζει να έχει την λάθος τιµή. Αυτό σηµαίνει ότι η Βάση εδοµένων θα περιέχει λάθος δεδοµένα, παρά τις διορθώσεις. Στην περίπτωση του Συστήµατος ιαχείρισης Βάσεων εδοµένων οι πλεονασµοί ελέγχονται αυτόµατα από το σύστηµα και η συµβατότητα των δεδοµένων προστατεύεται από το ίδιο το Σύστηµα ιαχείρισης Βάσεων εδοµένων απλοποιώντας την εργασία του χρήστη. Ú ÛÙËÚÈfiÙËÙ 1.2 Στο παράδειγµα 1.1 παρουσιάσαµε µία Μετεωρολογική Βάση εδο- µένων. Σε αυτή τη Βάση εδοµένων δεν µιλήσαµε ούτε για επίπεδα χρηστών, ούτε για περιορισµούς ορθότητας. Με βάση την εµπειρία που αποκτήσατε από τη µελέτη της παραπάνω ενότητας προτείνετε τουλάχιστον δύο επίπεδα χρηστών (και περιγράψτε ποιες δυνατότητες θα επιτρέπει το Σύστηµα ιαχείρισης Βάσεων εδοµένων για κάθε κατηγορία). Επίσης προτείνετε τουλάχιστον τρεις περιορισµούς ορθότητας και τεκµηριώστε γιατί τους προτείνετε.

1.3 π ƒ Ã π µ ª ø 27 1.3 È apple Ú ÂÈ Ë ÛË Â ÔÌ ÓˆÓ ÎÔapplefi Σκοπός αυτής της ενότητας είναι να τονίσει τα πλεονεκτήµατα που παρέχει η χρήση µίας Βάσης εδοµένων. Τώρα που έχετε µάθει τι σηµαίνει Βάση εδοµένων, αλλά και τι είναι το Σύστηµα ιαχείρισης Βάσεων εδοµένων καθώς και τι πλεονεκτήµατα παρέχει, είστε σε θέση να αναγνωρίσετε τι µπορεί να παρέχει µία Βάση εδοµένων στους χρήστες της και να συγκρίνετε την οργάνωση ενός µοντέλου του πραγµατικού κόσµου σε Βάση εδοµένων που υλοποιήθηκε µε τη χρήση ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων, έναντι της παραδοσιακής οργάνωσης σε αρχεία (είτε σε υπολογιστή, είτε χωρίς). ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να: αναφέρετε τι πλεονεκτήµατα παρέχει η χρήση της Βάσης εδοµένων συγκρίνετε µεταξύ της χρήσης Βάσεων εδοµένων και ενός παραδοσιακού µοντέλου µε αρχεία αναφέρετε περιπτώσεις όπου απαιτείται η χρήση Βάσεων εδοµένων και περιπτώσεις όπου η χρήση Βάσεων εδοµένων για την οργάνωση ενός µοντέλου του πραγµατικού κόσµου, δεν είναι απαραίτητη ÈÛ ÁˆÁÈÎ Ú ÙËÚ ÛÂÈ Η χρήση Βάσεων εδοµένων για µοντελοποίηση ενός προβλήµατος του πραγµατικού κόσµου παρέχει τα παρακάτω πλεονεκτήµατα, όπως τα αναφέρουµε επιγραµµατικά: 1. υνατότητα ταυτόχρονης προσπέλασης πολλών χρηστών στα δεδο- µένα και έλεγχο της προσπέλασης. 2. υνατότητα ταχύτατης εξαγωγής απαντήσεων σε απλές ερωτήσεις. 3. Ευελιξία σε πιθανές αλλαγές και γενικότερα ευκολία παρακολούθησης των αλλαγών του µοντέλου του πραγµατικού κόσµου. 4. Υψηλή ποιότητα δεδοµένων. Στις ενότητες 1.3.1 έως 1.3.5 που ακολουθούν θα αναλύσουµε τα παρακάτω πλεονεκτήµατα.

28 KEºA AIO 1: EI A ø H 1.3.1 T Ùfi ÚÔÓË appleúôûapple Ï ÛË Ένα βασικό κέρδος από την χρήση Βάσης εδοµένων είναι η δυνατότητα που παρέχει σε πολλούς χρήστες να έχουν ταυτόχρονη προσπέλαση στα δεδοµένα, αλλά και η αυτοµατοποίηση των ελέγχων που συνεπάγεται αυτή η ταυτόχρονη προσπέλαση. Για παράδειγµα, το Σύστηµα ιαχείρισης της Bάσης εδοµένων φροντίζει να αποκλείει περιπτώσεις ταυτόχρονης αλλαγής ενός δεδοµένου από δύο ή περισσότερους χρήστες. Επίσης, το Σύστηµα ιαχείρισης της Bάσης εδοµένων φροντίζει για το έλεγχο των εξουσιοδοτηµένων ή µη προσπελάσεων στα δεδοµένα, παρέχοντας σε κάθε χρήστη µόνο τα δεδοµένα αυτά για τα οποία έχει εξουσιοδότηση, και επιτρέποντάς του µόνο τις πράξεις (π.χ. διαγραφή, ή αλλαγή) αυτές για τις οποίες έχει αρµοδιότητα. 1.3.2 Ù ÙË ÂÍ ÁˆÁ apple ÓÙ ÛÂˆÓ Ένα µεγάλο πρόβληµα της οργάνωσης ενός µοντέλου του πραγµατικού κόσµου χωρίς τη χρήση Βάσης εδοµένων είναι η αδυναµία αποφυγής αρκετής εργασίας από τον άνθρωπο για να αντληθεί η απαιτούµενη πληροφορία, προκειµένου να εξαχθούν απαντήσεις σε απλές ερωτήσεις. Ένα σύστηµα αρχείων οργανώνει την πληροφορία σειριακά σε αρχεία, χωρίς τη δυνατότητα αναζήτησης παρά µόνο σειριακά (δηλαδή ανάγνωση ενός τµήµατος του αρχείου στη µνήµη, έλεγχος και µετά ανάγνωση του επόµενου τµήµατος, κτλ). Θυµηθείτε τις ερωτήσεις που συζητήσαµε στο παράδειγµα 1.2. Σε ένα παραδοσιακό σύστηµα αρχείων σε ηλεκτρονικό υπολογιστή η απάντηση στην ερώτηση «ώσε µας την πόλη που είχε την υψηλότερη θερµοκρασία για κάθε ηµέρα από το 1990 µέχρι σήµερα», θα σήµαινε άνοιγµα εκατοντάδων αρχείων και ανθρώπινη εργασία για την καταγραφή και σύγκριση δεδοµένων. Ακριβώς επειδή τα δεδοµένα συνήθως συλλέγονται για την απόκτηση πληροφορίας µε την µορφή απαντήσεων σε τέτοιου είδους ερωτήσεις, η χρήση παραδοσιακών µοντέλων οργάνωσης δεν είναι εξυπηρετική, αφού η παροχή τέτοιου είδους πληροφορίας είναι πρακτικά ανέφικτη. Ο λόγος είναι ότι η οργάνωση των δεδοµένων δεν υποστηρίζει την αυτόµατη εξαγωγή τέτοιους είδους απαντήσεων σε ερωτήσεις.

1.3 π ƒ Ã π µ ª ø 29 Αντίθετα, µε τη χρήση Βάσης εδοµένων τέτοιου είδους πληροφορίες µπορούν να είναι διαθέσιµες ταχύτατα στο χρήστη. Ο τρόπος οργάνωσης των δεδοµένων δίνει τη δυνατότητα στις Βάσεις εδοµένων να µπορούν να δίνουν απαντήσεις αυτόµατα και ταχύτατα τόσο σε πολύπλοκες ερωτήσεις, όσο και σε απλές ερωτήσεις οι οποίες όµως θα ήταν πολύ δύσκολο να απαντηθούν εάν είχε ακολουθηθεί οργάνωση βασισµένη σε ένα παραδοσιακό σύστηµα (είτε µε χειρόγραφα, είτε µε µη οργανωµένα σε Bάση εδοµένων αρχεία στο ηλεκτρονικό υπολογιστή). 1.3.3 E ÂÏÈÍ Πολλές φορές το µοντέλο του πραγµατικού κόσµου αλλάζει. Αυτό κατά κανόνα απαιτεί αλλαγές που τις περισσότερες φορές είναι πολύ δύσκολο να υλοποιηθούν σε ένα παραδοσιακό µοντέλο. Αντίθετα, ο τρόπος οργάνωσης των δεδοµένων σε µία Βάση εδοµένων, κατά κανόνα, επιδέχεται αλλαγές και µπορεί πολύ πιο εύκολα να ακολουθεί το µοντέλο του πραγµατικού κόσµου. Αυτό σηµαίνει ότι οι χρήστες της Βάσης εδοµένων µπορούν να προσαρµόσουν την µορφή των δεδοµένων ευκολότερα και οι αλλαγές αυτές να εφαρµοστούν σε όλα τα δεδοµένα, σε αντίθεση µε το παραδοσιακό µοντέλο. 1.3.4 À ËÏ appleôèfiùëù Â ÔÌ ÓˆÓ Η Βάση εδοµένων χρησιµοποιεί τις δυνατότητες που παρέχει το Σύστηµα ιαχείρισης Βάσεων εδοµένων και ελέγχει για πλεονασµούς και παραβιάσεις της ορθότητας των δεδοµένων, καθώς και για ταυτόχρονες προσπελάσεις και µη εξουσιοδοτηµένες εγγραφές. Έτσι τα δεδοµένα προστατεύονται από ένα µηχανισµό που δεν θα µπορούσε να υπάρξει σε ένα παραδοσιακό σύστηµα οργάνωσης. Με αυτό τον τρόπο διασφαλίζεται η ποιότητα των δεδοµένων, δηλαδή ο χρήστης έχει µεγαλύτερη ασφάλεια ότι τα δεδοµένα που παίρνει ως απάντηση στις ερωτήσεις του είναι σωστά.

30 KEºA AIO 1: EI A ø H ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.5 Ακολουθούν µερικές προτάσεις. Ποιες από αυτές είναι σωστές και ποιες λάθος; Σωστό Λάθος Η χρήση της Βάσης εδοµένων µας εξασφαλίζει ότι δύο χρήστες δεν θα µπορέσουν να διαβάσουν ταυτόχρονα τα ίδια δεδοµένα. Η Βάση εδοµένων παρέχει ένα µηχανισµό που παρέχει ταχύτατα απαντήσεις σε ερωτήσεις του χρήστη. Η Βάση εδοµένων δεν επιτρέπει αλλαγές στη µορφή των δεδοµένων. Η ποιότητα των δεδοµένων είναι καλύτερη, εάν χρησιµοποιήσουµε αρχεία αντί για Βάση εδοµένων. 1.3.5 ÈÙ Â ÁÈ ÌË Ú ÛË ÛÂˆÓ Â ÔÌ ÓˆÓ Όπως είπαµε, η Βάση εδοµένων παρέχει πολλά πλεονεκτήµατα έναντι του παραδοσιακού µοντέλου µε αρχεία στο υπολογιστή ή µε χειρόγραφες εγγραφές σε καρτέλες και αρχεία. Παρόλα αυτά η χρήση Βάσης εδοµένων δεν είναι πάντα επιβεβληµένη. Σίγουρα θα χρησι- µοποιήσουµε Βάση εδοµένων όταν έχουµε µεγάλο όγκο οµοειδών δεδοµένων ή δεδοµένων που µπορούν να κατηγοριοποιηθούν, συνεχή εισροή δεδοµένων (δυναµικότητα) και ανάγκη για απάντηση σε ερωτήσεις. Ωστόσο υπάρχουν λόγοι που πολλές φορές µας αναγκάζουν να µην χρησιµοποιήσουµε Βάση εδοµένων. Ένας συνηθισµένος λόγος παλαιότερα ήταν το κόστος. Η υλοποίηση µίας Βάσης εδοµένων συνεπάγεται το κόστος αγοράς ενός Συστή- µατος ιαχείρισης Βάσεων εδοµένων που παλαιότερα ήταν σηµαντικός παράγοντας και φυσικά το κόστος της ανάπτυξης και συντήρησης της Βάσης εδοµένων. Σήµερα όµως, που το κόστος των Συστηµάτων ιαχείρισης Βάσεων εδοµένων έχει µειωθεί σηµαντικά και που υπάρχουν Συστήµατα που λειτουργούν σε προσωπικό υπο-

1.3 π ƒ Ã π µ ª ø / 1.4 π Ã ø 31 λογιστή ο λόγος αυτός τείνει να εκλείψει. Όταν τα δεδοµένα είναι στατικά τότε κατά κανόνα δεν απαιτείται η υλοποίηση Βάσης εδοµένων. Για δεδοµένα που είναι «παγωµένα», δηλαδή δεν πρόκειται να αλλάξουν, η Βάση εδοµένων πιθανότητα θα ήταν περιττή. Προσέξτε όµως: Ακόµα και σε στατικά δεδοµένα όταν απαιτείται η συχνή ανάκτηση πληροφοριών οι οποίες δεν είναι εφικτό να ανακτηθούν λόγω της δοµής του µοντέλου τους, ίσως και πάλι να πρέπει να ακολουθηθεί η λύση της Βάσης εδοµένων. Τέλος, για µικρό όγκο δεδοµένων, ή για δεδοµένα που προσπελαύνονται µόνο από ένα χρήστη συνήθως δεν είναι απαραίτητη η υλοποίηση Βάσης εδοµένων. Αναφέρατε τουλάχιστον δύο περιπτώσεις από παραδείγµατα µοντέλων του πραγµατικού κόσµου για το οποία δεν απαιτείται η υλοποίηση Βάσης εδοµένων. Για κάθε περίπτωση αναφέρατε τα δεδοµένα του µοντέλου και αιτιολογήστε τους λόγους που σας κάνουν να πιστεύεται ότι η υλοποίηση µίας Βάσης εδοµένων δεν θα ήταν επιβεβληµένη. Καταγράψτε τις απόψεις σας προσπαθώντας να µην υπερβείτε την µία σελίδα ανά παράδειγµα. Ú ÛÙËÚÈfiÙËÙ 1.3

32 KEºA AIO 1: EI A ø H 1.4 apple appleâ ÚËÛÙÒÓ ÎÔapplefi Έχοντας ολοκληρώσει τις ενότητες 1.1 έως 1.3 έχετε µάθει τη χρησι- µότητα των Βάσεων εδοµένων και γνωρίζετε τις λειτουργίες που παρέχει ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων. Ο σκοπός αυτής της ενότητας είναι να µελετήσετε τους χρήστες ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων, καθώς και τους χρήστες των Βάσεων εδοµένων που δηµιουργούνται µε αυτό και να εξετάσετε τις αρµοδιότητες και τα δικαιώµατα καθενός από αυτούς. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε ολοκληρώσει τη µελέτη αυτής της ενότητας θα µπορείτε να: περιγράψετε τους χρήστες ενός Συστήµατος ιαχείρισης Βάσεων εδοµένων επιλέξετε τις κατηγορίες χρηστών που θα έχουν πρόσβαση στη Bάση εδοµένων, όταν σας δίνεται ένα πρόβληµα του πραγµατικού κόσµου που θα υλοποιηθεί µε Βάση εδοµένων αναφέρετε τα δικαιώµατα και τους περιορισµούς για κάθε χρήστη ÈÛ ÁˆÁÈÎ Ú ÙËÚ ÛÂÈ Στην ενότητα αυτή θα εξετάσουµε τέσσερα επίπεδα χρηστών. Αν και σε µερικά βιβλία θα δείτε διάκριση ανάµεσα σε χρήστες ενός Συστή- µατος ιαχείρισης Βάσεων εδοµένων και σε χρήστες των Βάσεων εδοµένων, δεν θα κάνουµε τέτοια διάκριση και θα αναφέρουµε τις κατηγορίες των χρηστών συνολικά. Αρχίζοντας µε την κατηγορία µε τις περισσότερες εξουσίες (άρα και ευθύνες και αρµοδιότητες) και προχωρώντας στις κατηγορίες µε τις λιγότερες εξουσίες έχουµε: Τον ιαχειριστή του Συστήµατος ιαχείρισης Βάσεων εδοµένων, τους Ιδιοκτήτες των Βάσεων εδοµένων, τους Χρήστες Υψηλής ιαβάθµισης µιας Βάσης εδοµένων, και τους Χρήστες Κατώτερης ιαβάθ- µισης µίας Βάσης εδοµένων. 1.4.1 È ÂÈÚÈÛÙ Û ÛÙ Ì ÙÔ Ο ιαχειριστής του Συστήµατος ιαχείρισης Βάσεων εδοµένων είναι

1.4 π Ã ø 33 κατά κανόνα τεχνικός µε υψηλό επίπεδο κατάρτισης. Αρµοδιότητά του είναι η συντήρηση του συστήµατος, ο έλεγχος των πόρων του συστή- µατος, η δηµιουργία ή εγκατάσταση εφαρµογών που χρησιµοποιούνται για τη δηµιουργία ή τη σχεδίαση Βάσεων εδοµένων, η επίβλεψη της δηµιουργίας ή της διαγραφής Βάσης εδοµένων και η ανάθεση πόρων του συστήµατος για την καλή λειτουργία των Βάσεων εδοµένων. Με απλά λόγια, ο ιαχειριστής έχει ως βασική του αρµοδιότητα να διευκολύνει όσους χρησιµοποιούν το Σύστηµα ιαχείρισης Βάσεων εδοµένων παρέχοντας τους τη δυνατότητα να δηµιουργούν και να χειρίζονται Βάσεις εδοµένων, καθώς και τα απαραίτητα εργαλεία για τη σχεδίαση και την υλοποίηση των εφαρµογών τους. Κατά κανόνα συνεργάζεται µε τους Ιδιοκτήτες των Βάσεων εδοµένων για την εξυπηρέτηση των αναγκών τους. 1.4.2 π ÈÔÎÙ ÙË ÛË Â ÔÌ ÓˆÓ Ο Ιδιοκτήτης µιας Βάσης εδοµένων ονοµάζεται συχνά και ιαχειριστής Βάσης εδοµένων. Θα προτιµήσουµε την πρώτη ονοµασία για να µη συγχέεται µε τον ιαχειριστή του Συστήµατος. Ο Ιδιοκτήτης µιας Βάσης εδοµένων έχει δηµιουργήσει µία Βάση εδοµένων και τις απαραίτητες εφαρµογές για την προσπέλασή της. Έχει σαν αρµοδιότητα να φροντίζει για τους πόρους υλικού και λογισµικού σε συνεργασία µε τον ιαχειριστή του Συστήµατος. Επίσης, φροντίζει να ορίζει τους χρήστες της Βάσης εδοµένων του, να καθορίζει τα επίπεδα διαβάθµισης κάθε χρήστη, να παρέχει δικαιώµατα σε χρήστες και να διαγράφει χρήστες οι οποίοι ολοκλήρωσαν τις δραστηριότητές τους στη Βάση εδοµένων. Συνήθως ο Ιδιοκτήτης µιας Βάσης εδοµένων συνεργάζεται µε ένα επιτελείο τεχνικών και αναλαµβάνουν την υλοποίηση των εφαρµογών προσπέλασης της Βάσης εδοµένων, δηλαδή των προγραµµάτων λογισµικού µέσω των οποίων οι υπόλοιποι χρήστες θα προσπελαύνουν τα δεδοµένα της Βάσης εδοµένων. 1.4.3 XÚ ÛÙ ËÏ È ıìèûë Χρήστες Υψηλής ιαβάθµισης µιας Βάσης εδοµένων είναι χρήστες της συγκεκριµένης Βάσης εδοµένων στους οποίους ο Ιδιοκτήτης της Βάσης εδοµένων έχει δώσει αυξηµένες αρµοδιότητες. Όπως µελετήσατε στις προηγούµενες ενότητες, οι δυνατότητες ενός χρήστη µιας Βάσης εδο-

34 KEºA AIO 1: EI A ø H µένων συνοπτικά περιγράφονται ως εισαγωγή δεδοµένων, διαγραφή δεδοµένων, αλλαγή σε δεδοµένο και ανάγνωση δεδοµένων. Από αυτές τις δραστηριότητες µόνο η ανάγνωση δεδοµένων είναι µη καταστροφική δραστηριότητα, δηλαδή δεν προκαλεί αλλαγές στα δεδοµένα. Οι Χρήστες Υψηλής ιαβάθµισης έχουν δικαιοδοσία να εκτελούν εντολές προς τη Βάση εδοµένων που επιφέρουν αλλαγές στα δεδοµένα. Αυτή είναι και η βασική τους διαφορά από τους Χρήστες Κατώτερης ιαβάθµισης. Πολλές φορές ο Ιδιοκτήτης µίας Βάσης εδοµένων εκχωρεί περισσότερα δικαιώµατα σε µερικούς Χρήστες Υψηλής ιαβάθµισης για να τον διευκολύνουν στο έργο του. Για παράδειγµα, εκχωρεί το δικαίωµα χειρισµού χρηστών σε κάποιον επιλεγµένο Χρήστη Υψηλής ιαβάθµισης, έτσι ώστε να τον διευκολύνει στη δηµιουργία και διαγραφή χρηστών. 1.4.4 XÚ ÛÙÂ Î ÙÒÙÂÚË È ıìèûë Οι Χρήστες Κατώτερης ιαβάθµισης είναι χρήστες που χρησιµοποιούν τη Βάση εδοµένων χωρίς να έχουν δικαίωµα να επιτελέσουν αλλαγές στα δεδοµένα. Συνήθως είναι χρήστες που λαβαίνουν πληροφορίες από τη Βάση εδοµένων τις οποίες έχουν εισάγει οι Χρήστες Υψηλής ιαβάθµισης. Πολλές φορές υπάρχουν επίπεδα διαβάθ- µισης και σε αυτούς τους χρήστες, επίπεδα που καθορίζει συνήθως ο Ιδιοκτήτης της Βάσης εδοµένων. Συνήθως αυτοί οι χρήστες είναι χρήστες χωρίς πολλές τεχνικές γνώσεις που χρησιµοποιούν τη Βάση εδοµένων απλά για ενηµέρωση. Ú ÛÙËÚÈfiÙËÙ 1.4 Α. Στη δραστηριότητα 1.2 σας ζητήθηκε να αναφέρετε δύο κατηγορίες χρηστών για τη Μετεωρολογική Βάση εδοµένων του παραδείγµατος 1.1. Τώρα µε την εµπειρία που έχετε αποκτήσει από τη µελέτη αυτής της ενότητας, αναφέρετε όλες τις κατηγορίες χρηστών για αυτή τη Βάση εδοµένων και περιγράψτε αναλυτικά τις αρµοδιότητες καθενός. Β. Στα πλαίσια της δραστηριότητας 1.1 σας ζητήθηκε να αναφέρατε και να περιγράψετε τρία ακόµα παραδείγµατα Βάσεων εδο- µένων. Για αυτά τα παραδείγµατα αναφέρετε όλες τις κατηγορίες χρηστών για κάθε µία Βάση εδοµένων που έχετε ήδη αναφέρει και περιγράψτε αναλυτικά τις αρµοδιότητες καθενός.

BA EI E OMENøN 35 ÓÔ Ë Στο κεφάλαιο αυτό σας εισάγαµε στις βασικές έννοιες των Βάσεων εδοµένων. Με την εµπειρία που έχετε αποκτήσει από τη µελέτη αυτού του κεφαλαίου µπορείτε να διακρίνετε ανάµεσα σε έννοιες που σχετίζονται µε τις Βάσεις εδοµένων και που πολλοί σπουδαστές τις συγχέουν, όπως δεδοµένα και πληροφορία, Βάση εδοµένων και Σύστηµα ιαχείρισης Βάσεων εδοµένων. Γνωρίζετε τι είναι Βάση εδοµένων, τι παρέχει στους χρήστες της, πότε πρέπει να χρησιµοποιείται και πότε όχι. Επίσης γνωρίζετε τι είναι Σύστηµα ιαχείρισης Βάσεων εδοµένων, ποια είναι η δοµή του, τι παρέχει στους χρήστες, ποιοι είναι οι χρήστες ενός τέτοιου συστήµατος και σε τι κατηγορίες χωρίζονται. Είναι σαφές ότι µε τη µελέτη αυτού του κεφαλαίου έχετε αποκτήσει εµπειρία σε βασικές έννοιες Βάσεων εδοµένων. Αυτή την εµπειρία πρέπει να την καλλιεργήσετε, είτε µε περισσότερες δραστηριότητες, είτε µε παραπάνω µελέτη. Ακολουθούν µία συγκεντρωτική άσκηση αυτοαξιολόγησης και µία δραστηριότητα που θα σας βοηθήσουν στην επανάληψη της ύλης και στον έλεγχο των γνώσεων που αποκτήσατε. Σας προτείνουµε πριν προχωρήσετε στην επίλυση των ασκήσεων να ολοκληρώσετε µία επανάληψη του κεφαλαίου και επίσης να συµβουλευτείτε και τη βιβλιογραφία προαιρετικής ανάγνωσης που έπεται.