Βάςεισ Δεδομζνων Ι Ενότητα 1: υςτήματα Βάςεων Δεδομζνων Δρ. Τςιμπίρθσ Αλκιβιάδθσ
Άδειεσ Χρήςησ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτϊσ. Βάςεισ Δεδομζνων Ι-
Χρηματοδότηςη Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Κεντρικισ Μακεδονίασ» ζχει χρθματοδοτιςει μόνο τθ αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. Βάςεισ Δεδομζνων Ι-
Ενότητα 1 υςτήματα Βάςεων Δεδομζνων Δρ. Τςιμπίρθσ Αλκιβιάδθσ
Περιεχόμενα ενότητασ 1. υςτήματα βάςεων δεδομζνων 2. υςτατικά ςτοιχεία του ςυςτήματοσ βάςεων δεδομζνων 3. Οντότητεσ και ςυςχετίςεισ 4. Πλεονεκτήματα τησ χρήςησ βάςεων δεδομζνων 5. Μοντζλα ςυςτημάτων διαχείριςησ βάςεων δεδομζνων 6. Αρχιτεκτονική ςυςτημάτων διαχείριςησ βάςεων δεδομζνων 7. χεςιακζσ βάςεισ δεδομζνων 8. χεςιακά μοντζλα δεδομζνων-πίνακεσ 5
κοποί ενότητασ Σκοπόσ τθσ ενότθτασ αυτισ είναι θ ειςαγωγι των φοιτθτϊν ςε κζματα Βάςεων Δεδομζνων (ΒΔ) ϊςτε να μποροφν να αντιλαμβάνονται τισ ειςαγωγικζσ ζννοιεσ που αφοροφν τισ ΒΔ. Αφοφ περιθγθκοφν μζςα από μια ιςτορικι αναδρομι ςτθν πορεία και ςτθν και τθν εξζλιξθ των ΒΔ να μποροφν να ξεχωρίςουν τα γνωςτά ςυςτιματα ΒΔ και με ποια από αυτά κα αςχολθκοφν ςτθν πορεία των ςπουδϊν του. Γνωρίηουν τα πλεονεκτιματα και μειονεκτιματα τθσ χριςθσ των ΒΔ και τθν αρχιτεκτονικι client/server ςφμφωνα με τθν οποία κα αναπτφξουν τισ εφαρμογζσ τουσ. 6
υςτήματα βάςεων δεδομζνων DataBase System= Σφςτθμα τιρθςθσ εγγραφϊν με υπολογιςτι. Βάςη δεδομζνων=χϊροσ για αποκικευςθ μιασ ςυλλογισ θλεκτρονικϊν αρχείων δεδομζνων. SQL=Structured Query Language (Δομθμζνθ Γλϊςςα Ερωτθμάτων) Ειςαγωγι insert Ανάκλθςθ retrieval Ενθμζρωςθ update Διαγραφι delete 7
Data - Information Δεδομζνα = τιμζσ Πληροφορίεσ = ςθμαςία τιμϊν Γνωρίηετε κάποιο ςφςτθμα ΒΔ? Χρθςιμοποιιςατε ποτζ κάποιο ςφςτθμα ΒΔ? Χειρόγραφεσ ι θλεκτρονικζσ ΒΔ? 8
φςτημα βάςησ δεδομζνων Βάζη δεδομένων Προγράμματα Εφαρμογϊν Τελικοί χριςτεσ 9
υςτατικά ςτοιχεία του ςυςτήματοσ βάςησ δεδομζνων ΣΑ ΔΕΔΟΜΕΝΑ (DATA) Σφςτθμα ενόσ χριςτθ Σφςτθμα πολλϊν χρθςτϊν Ενοποιθμζνα integrated Μεριηόμενα shared, κοινόχρθςτα ΣΟ ΤΛΙΚΟ (HARDWARE) Μζςα αποκικευςθσ, backup ΣΟ ΛΟΓΙΜΙΚΟ (SOFTWARE) Μεταξφ δεδομζνων και χρθςτϊν υπάρχει το DBMS (Database management system ι ςφςτθμα διαχείριςθσ βάςεων δεδομζνων) ΟΙ ΧΡΗΣΕ (USERS) προγραμματιςτζσ εφαρμογϊν Τελικοί χριςτεσ Υπεφκυνοσ διαχείριςθσ βάςεων δεδομζνων (database administrator DBA) 10
Πλεονεκτήματα τησ χρήςησ βάςεων δεδομζνων Μείωςθ του πλεοναςμοφ (επανάλθψθ) των αποκθκευμζνων δεδομζνων (redundancy) Αποφυγι αςυνεπειϊν Κοινόχρθςτα δεδομζνα Επιβολι προτφπων για τθν αναπαράςταςθ δεδομζνων, που διευκολφνει τθν ανταλλαγι δεδομζνων Οικονομία τώροσ Τατύηηηα Λιγόηερος κόπος Άμεζη πληροθόρηζη Εφαρμογι περιοριςμϊν αςφαλείασ Διατιρθςθ τθσ ακεραιότθτασ 11
Μοντζλα ςυςτημάτων διαχείριςησ δεδομζνων Συςτιματα αντιςτραμμζνθσ λίςτασ Ιεραρχικά ςυςτιματα Δικτυωτά ςυςτιματα Σχεςιακά ςυςτιματα (αρχζσ του 1980) RDBMS CA-DATACOM/DB τθσ Computer Associates International Inc. IMS τθσ IBM Corporation CA-IDMS/DB τθσ Computer Associates International Inc. DB2 τθσ IBM Corporation INGRES τθσ Ingres Inc. ORACLE τθσ Oracle Corporation SYBASE τθσ Sybase Inc. SQL Server MySQL 12
Οντότητεσ και ςυςχετίςεισ ΕΝΝΟΙΑ ΑΣΤΠΟ ΟΡΙΜΟ ΠΑΡΑΔΕΙΓΜΑΣΑ ΟΝΤΟΤΗΤΑ ΙΔΙΟΤΗΤΑ Ζνα διακεκριμζνο αντικείμενο Μια πλθροφορία που περιγράφει μια οντότθτα (λζγεται και γνϊριςμα) Προμθκευτισ, εξάρτθμα, υπάλλθλοσ, τμιμα, πρόςωπο Κωδικόσ προμθκευτι, ποςότθτα αποςτολισ, τμιμα υπαλλιλου, τφποσ εξαρτιματοσ, φψοσ προςϊπου ΣΥΣΧΕΤΙΣΗ Μια οντότθτα που εξυπθρετεί για να ςυνδζει δφο ι περιςςότερεσ άλλεσ οντότθτεσ μεταξφ τουσ Αποςτολι (προμθκευτισεξάρτθμα) Πρόςλθψθ (υπάλλθλοσ-τμιμα) 13
Διάγραμμα βαςικών οντοτήτων και ςυςχετίςεων 14
Αρχιτεκτονική ςυςτημάτων διαχείριςησ βάςησ δεδομζνων Εξωτερικό επίπεδο Όλοι οι τρήζηες Προγραμμαηιζηές-Αναλσηές εθαρμογών Εννοιολογικό επίπεδο Γιατειριζηής ζσζηήμαηος βάζης δεδομένων Εςωτερικό επίπεδο 15
Αρχιτεκτονική πελάτη/διακομιςτή Τελικοί χριςτεσ Τελικοί χριςτεσ Εφαρμογζσ Πελάηες (frontends) DBMS Βάζη δεδομένων 16
Αρχιτεκτονική πελάτη/διακομιςτή Απομακρσζμένη ζύνδεζη Διακομιςτισ-ςφςτθμα εξυπθρζτθςθσ 17
χεςιακζσ βάςεισ δεδομζνων Σχεςιακό μοντζλο ( Codd 68) Εγγραφι = ςυςτοιχία ςχζςθ = πίνακασ (γραμμζσ ςτιλεσ) Τιμζσ βακμωτζσ= ςε κάκε κζςθ γραμμισ ςτιλθσ υπάρχει μια τιμι δεδομζνων όχι πολλζσ τιμζσ 18
χεςιακζσ βάςεισ δεδομζνων Βαςικά αντικείμενα δεδομζνων ςχεςιακοφ μοντζλου = πεδία οριςμοφ & ςχζςεισ Πεδίο οριςμοφ (domain) =τφποσ δεδομζνων, παρζχει ςφνολο βακμωτϊν τιμϊν από το οποίο διάφορα γνωρίςματα από διάφορεσ ςχζςεισ αντλοφν ςυγκεκριμζνεσ τιμζσ. Τα πεδία οριςμοφ κζτουν δεςμεφςεισ ςτισ ςυγκρίςεισ από τισ διάφορεσ ςχεςιακζσ πράξεισ (ζνωςθ, τομι, κά) Σχζςθ ζχει δφο μζρθ: Επικεφαλίδα και κορμό Επικεφαλίδα = ςφνολο από γνωρίςματα (ηεφγθ). Όνομα γνωρίςματοσ/ όνομα πεδίου οριςμοφ. Κορμόσ = ςφνολο από ςυςτοιχίεσ Βακμόσ = πλικοσ γνωριςμάτων Πλθκικότθτα= πλικοσ ςυςτοιχιϊν Σχζςθ = πίνακασ όπου ςτιλεσ = γνωρίςματα και γραμμζσ = ςυςτοιχίεσ 19
Ιεραρχικά μοντζλα βάςεων δεδομζνων Αναγνϊςτθσ Ένα με πολλά Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 Ζνα με πολλά Συγγραφζασ 1 Συγγραφζασ 2 Συγγραφζασ 3 Συγγραφζασ 4 20
Δικτυακά μοντζλα δεδομζνων Αναγνϊςτθσ 1 Αναγνϊςτθσ 2 πολλά με πολλά Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 πολλά με πολλά Συγγραφζασ 1 Συγγραφζασ 2 Συγγραφζασ 3 Συγγραφζασ 4 21
χεςιακά μοντζλα δεδομζνων με πίνακεσ 22