22C901 Βάσεις Δεδομένων και Γνώσεων

Σχετικά έγγραφα
#5. Σχεσιακό Μοντέλο

22Γ901 Βάσεις Δεδομένων και Γνώσεων

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

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

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

Σχεσιακό Μοντέλο Δεδομένων

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

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

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

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

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

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

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

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

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

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

Σχεδιασμός μιας Β : Βήματα

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

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

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

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

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

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Μετατροπή Διαγράμματος Οντοτήτων Συσχετίσεων (E-R) σε σχεσιακό. Φροντιστήριο 3 ο

Το εσωτερικό ενός Σ Β

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

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

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

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

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

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

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

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

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

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

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

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

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

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

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

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

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

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

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

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

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

Το σχεσιακό μοντέλο βάσεων δεδομένων

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο

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

Μάθημα: Συστήματα Διαχείρισης Βάσεων Δεδομένων Αναλυτικό Διάγραμμα Μελέτης

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

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

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Κεφάλαιο 13. Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός

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

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

Transcript:

22C901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Ν. Αβούρης ΕΒΔΟΜΑΔΙΑΙΑ ΔΙΔΑΣΚΑΛΙΑ: 2001-2002 2 ώρες Θ + 1 ώρα Φρ + 1 ώρα Ε (Θ:Τρίτη 17-19 ΑΠ2, Φρ: Τρίτη 19-20, ΑΠ2, E: Τρίτη 10-11, 13-14) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 1

Σκοπός - Περιεχόμενο Σκοπός του μαθήματος είναι η μελέτη του θεωρητικού υποβάθρου και των εργαλείων που απαιτούνται για την ανάπτυξη συστημάτων βάσεων δεδομένων #1. Εισαγωγή- ιστορικά-παραδείγματα, Αρχιτεκτονική συστημάτων ΒΔ, Μοντελοποίηση δεδομένων #2. Μοντέλο Οντοτήτων-Συσχετήσεων (ΟΣ) #3. Εσωτερικό σχήμα βάσεων δεδομένων #5. Σχεσιακό μοντέλο A #6. Σχεσιακό μοντέλο Β. #7. SQL σχεσιακή γλώσσα χειρισμού/ορισμού δεδομένων Α #9 SQL σχεσιακή γλώσσα χειρισμού/ορισμού δεδομένων B #10 Κανονικοποίηση δεδομένων #11 Μεγάλες βάσεις δεδομένων κατανεμημένες ΒΔ, ασφάλεια #12 Ανακάλυψη γνώσης σε ΒΔ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 2

Βιβλιογραφία R. Elmasri, S.B.Navathe: Fundamentals of Database Systems, Diavlos Publ. Τομ Α,Β, Athens, 1996 ΔΙΔΑΚΤΙΚΟ ΒΟΗΘΗΜΑ. Ιωάννης Κόλλιας, Βάσεις Δεδομένων,Τόμος 1, Εκδ. Συμμετρία, Αθήνα 1991 Ιωάννης Κόλλιας, Βάσεις Δεδομένων,Τόμος 2, Εκδ. Συμμετρία, Αθήνα 1991. K. Parsaye, Intelligent Databases, John Willey, New York, 1989. C.J. Date, An Introduction to Data Base Systems, Vοlume 1, 6th Edition, Addison Wesley Publ, 1997 Χρ. Κοίλιας, Ειδικά Θέματα Βάσεων Δεδομένων, Εκδόσεις Νέων Τεχνολογιών, Αθήνα, 1992 D.M. Kroenke, Database processing (7th Edition): Fundamentals, design & implementation, Prentice Hall. 2000. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 3

#1 Βάσεις Δεδομένων (Data Bases, DB) Συλλογή καλά οργανωμένων σχετιζόμενων δεδομένων μέσα σε κοινά διαθέσιμο μέσο μαζικής αποθήκευσης, που περιέχει την αυτοπεριγραφή της η ΒΔ εξυπηρετεί μία ή περισσότερες εφαρμογές επιτρέποντας κοινή και ελεγχόμενη αντιμετώπιση της πρόσθεσης, τροποποίησης και ανάκλησης δεδομένων Σύστημα διαχείρισης βάσεως δεδομένων (ΣΔΒΔ) είναι ένα σύνολο προγραμμάτων που επιτρέπουν στους χρήστες να δημιουργούν και να συντηρούν μια βάση δεδομένων. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 4

Μιά βάση δεδομένων... Αναπαριστά κάποια άποψη του πραγματικού κόσμου (από τον ανκικειμενικό κόσμο στην υποκειμενική αναπαράσταση του). Είναι λογικά συνεκτική συλλογή δεδομένων που έχει κάποια εγγενή σημασία Υπάρχει για να εξυπηρετήσει κάποιο συγκεκριμένο σκοπό το μέγεθος της διαφέρει ανάλογα με το πρόβλημα Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 5

Εισαγωγή- Ιστορία (1) 50ς : εξελίξεις σε συσκευές μαζικής αποθήκευσης τυχαίας πρόσβασης και αύξηση υπολογιστικής ισχύος θέτουν τις προϋποθέσεις για την ανάπτυξη συστημάτων διαχείρισης δεδομένων σε αντικατάσταση των συστημάτων διαχείρισης αρχείων. 60ς: πρώτες βάσεις δεδομένων, πρώτα συστήματα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ), στηριγμένα στο δικτυωτό μοντέλο (CODASYL DBTG) αρχικά και στο ιεραρχικό μοντέλο δεδομένων στη συνέχεια (IMS της ΙΒΜ). 70ς : Ορισμός του σχεσιακού μοντέλου από τον Ted Codd της IBM. 76 : μοντέλο οντοτήτων-συσχετίσεων (Chen) Το σχεσιακό μοντέλο δεν επιτυγχάνει εμπορικά μέχρι τη δεκαετία του 80. Συστήματα: System R (IBM), INGRESS (Berkley), ADABAS (Durmstad, DE) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 6

Εισαγωγή- Ιστορία (2) 80ς : ΒΔ σε προσωπικούς υπολογιστές, σχεσιακά συστήματα σε pc. : DBase II (Ashton Tate) εξελίχτηκε μέχρι τις μέρες μας ως Paradox, Microsoft ACCESS. Σχεσιακά συστήματα με μεγάλη διάδοση: Oracle, SQL Server, Sybase, Informix, DB2 90ς : Αντικειμενοστρεφείς ΒΔ, οι δομές των αντικειμενοστρεφών γλωσσών προγραμματισμού είναι πιο δύσκολο να αποθηκευτούν σε σχεσιακά συστήματα. Έτσι αναπτύχτηκαν OODBMS. Χωρίς όμως μεγάλη εμπορική επιτυχία ακόμη τέλος 90ς : σύνδεση ΒΔ στο διαδίκτυο, ευρύτατη διάδοση τεχνολογίας που επιτρέπει την επικοινωνία των χρηστών με ΒΔ μέσω διαδικτύου (HTML, XML, SGI, ASP κλπ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 7

ΣΔΒΔ ΒΔ Μηχανή ΣΔΒΔ Εργαλεία σχεδίασης Εργαλεία λειτουργίας εφαρμογή εφαρμογή προγραμματιστής ΣΔΒΔ χρήστης Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 8

Παραδείγματα ΒΔ (α) Ο μαστρο-κώστας ελαιοχρωματιστής (προσωπική επιχείριση) εισέρχεται στην κοινωνία της πληροφορίας (β) Μικρομεσαία εταιρεία ενοικίασης - πώλησης σκαφών και φουσκωτών, 2 συνεταίροι ιδιοκτήτες και 4 υπάλληλοι-πωλητές -λογιστήριο (γ) Το μηχανογραφικό σύστημα ενός μεγάλου Υπουργείου (πχ Υπ. Οικονομικών) με παραρτήματα σε όλη τη χώρα, (π.χ. Εφορίες, νομαρχίες κλπ). (δ) Δικτυακός τόπος μιας επιχείρησης/οργανισμού (πχ ενός Πανεπιστημιακού Τμήματος), ΒΔ + πρόσβαση μέσω διαδικτύου, υπηρεσίες προς συναλλασσόμενους μέσω www. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 9

Άσκηση Για τις προηγούμενες 4 περιπτώσεις να δώσετε τα παρακάτω στοιχεία, (σχολιάστε ) : δομή ΒΔ, πληροφοριακού συστήματος τυπικός αριθμός χρηστών που απαιτούν σύγχρονη πρόσβαση στο σύστημα τυπικό μέγεθος δεδομένων σε ΜΒ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 10

Πίνακες δεδομένων ΜαστροΚώστα Κωδικός-πελάτη ][ Όνομα ][ αριθμός-τηλεφώνου ][ διεύθυνση ][ κωδικός-συστήσαντος Κωδικός-εργασίας ][ ημερομηνία ][ περιγραφή ][ ποσό ][ ποσό πληρωμής ][ κωδικ-πελάτη Κωδικός-συστήσαντος ][ όνομα ][ τηλέφωνο Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 11

Πανεπιστημιακή βάση δεδομένων ΦΟΙΤΗΤΗΣ Όνομα ΑΜ Ετος Τομέας Γ. Γεωργίου 4040 5 ΗΥ Α. Ανδρέου 4045 5 ΤΤΠ Β. Παπαδόπουλος 4050 4 ΣΑΕ ΜΑΘΗΜΑ Όνομα_Μαθήματος Κωδ_μαθ ΔΜ Τομέας Τεχνητή Νοημοσύνη 401 3 ΤΤΠ Βάσεις Δεδομένων 501 4 ΗΥ Σχεδιασμός Λογισμικού 405 4 ΗΥ ΔΙΔΑΣΚΑΛΙΑ Κωδ_διδασκ Κωδ_μαθ έτος Διδάσκων 10 401 2000 Φτεράκης 11 501 2000 Βαβούτης 12 405 2000 Θρυαλιδης 56 501 2001 Αρναούτης 57 405 2001 Θρυαλίδης Πώς περιγράφεται ένας πίνακας με τη βαθμολογία των φοιτητών; Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 12

Πανεπιστημιακή ΒΔ... ΒΑΘΜΟΛΟΓΙΑ ΑΜ Κωδ_διδασκ βαθμός 4040 10 6,5 4045 10 5 4045 12 4 4045 56 2 4050 57 4 Πώς θα προκύψει ένας πίνακας βαθμολογίας ενός συγκεκριμένου μαθήματος; χειρισμός δεδομένων= ερωτήσεις και ενημερώσεις Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 13

ΒΔ αντί για αρχεία.. Αυτοπεριγραφική φύση της βάσης δεδομένων (μετάδεδομένα που περιέχονται στον κατάλογο (catalog) Απομόνωση μεταξύ προγραμμάτων και δεδομένων (αν άλλαζε ο πίνακας ΦΟΙΤΗΤΗΣ με προσθήκη του έτους γέννησης θα ήταν αδύνατη η προσπέλαση μέσω αρχείου) -αφαίρεση δεδομένων υποστήριξη πολλαπλών όψεων (εικονικές βάσεις δεδομένων που δεν αποθηκεύονται) επεξεργασία δοσοληψιών από πολλούς χρήστεςταυτόχρονη προσπέλαση - εξουσιοδότηση προσπέλασης Περιορισμοί και έλεγχος ορθότητας Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 14

Μοντέλα δεδομένων Μοντέλα δεδομένων είναι σύνολα από έννοιες που χρησιμοποιούντια για τη δομή της βάσης δεδομένων, υπαρχουν διάφορες κατηγορίες Εννοιολογικά μοντέλα δεδομένων: περιέχουν έννοιες κοντά στον τρόπο που οι χρήστες αντιλαμβάνονται τα δεδομένα, περιέχουν έννοιες όπως οντότητες (αντικείμενα ή έννοιες του πραγματικού κόσμου), χαρακτηριστικά γνωρίσματα (Ενδιαφέρουσες ιδιότητες των οντοτήτων), σχέσεις μεταξύ των ιδιοτήτων (κύρια ρήματα) Φυσικά μοντέλα δεδομένων : Τρόπος αποθήκευσης των δεδομένων στον υπολογιστή Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 15

Σχήμα (schema) Από ένα μοντέλο δεδομένων προκύπτει η περιγραφή της βάσης δεδομένων που ονομάζεται σχήμα ΒΔ. Το σχήμα αφορά τη δομή της βάσης δεδομένων χωρίς τα στιγμιότυπα των δεδομένων (εγγραφές). Κάθε αντικείμενο του σχήματος ονομάζεται δομικό στοιχείο του σχήματος (schema construct) κατάσταση ΒΔ ονομάζεται το σύνολο των δεδομένων που ευρίσκονται στη βάση δεδομένων σε κάποια συγκεκριμένη χρονική στιγμή Το ΣΔΒΔ μεριμνά κάθε κατάσταση να είναι έγκυρη (valid state) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 16

Σχήμα της Πανεπ_ΒΔ ΦΟΙΤΗΤΗΣ Όνομα ΑΜ Ετος Τομέας ΜΑΘΗΜΑ Όνομα_Μαθήματος Κωδ_μαθ ΔΜ Τομέας ΔΙΔΑΣΚΑΛΙΑ Κωδ_διδασκ Κωδ_μαθ έτος Διδάσκων ΒΑΘΜΟΛΟΓΙΑ ΑΜ Κωδ_διδασκ βαθμός Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 17

Στιγμιότυπο της Παν_ΒΔ ΦΟΙΤΗΤΗΣ Όνομα ΑΜ Ετος Τομέας Γ. Γεωργίου 4040 5 ΗΥ Α. Ανδρέου 4045 5 ΤΤΠ Β. Παπαδόπουλος 4050 4 ΣΑΕ ΜΑΘΗΜΑ Όνομα_Μαθήματος Κωδ_μαθ ΔΜ Τομέας Τεχνητή Νοημοσύνη 401 3 ΤΤΠ Βάσεις Δεδομένων 501 4 ΗΥ Σχεδιασμός Λογισμικού 405 4 ΗΥ ΔΙΔΑΣΚΑΛΙΑ Κωδ_διδασκ Κωδ_μαθ έτος Διδάσκων 10 401 2000 Φτεράκης 11 501 2000 Βαβούτης 12 405 2000 Θρυαλιδης 56 501 2001 Αρναούτης 57 405 2001 Θρυαλίδης ΒΑΘΜΟΛΟΓΙΑ ΑΜ Κωδ_διδασκ βαθμός 4040 10 6,5 4045 10 5 4045 12 4 4045 56 2 4050 57 4 Έγκυρο στιγμιότυπο, ορίσατε ένα μη-έγκυρο στιγμιότυπο Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 18

Αρχιτεκτονική ΣΔΒΔ Εφαρμογή και εμφωλευμένη ΓΧΔ Εξωτερική όψη Α Εξωτερική όψη Β Εξωτερική όψη Γ Εννοιολογικό σχήμα Εσωτερικό σχήμα Γλώσσες ορισμού δεδομένων (ΓΟΔ) Γλώσσες χειρισμού δεδομένων (ΓΧΔ) ανάκτηση εισαγωγή διαγραφή τροποποίηση δεδομένων Αποθηκευμένη ΒΔ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 19

#2 Εννοιολογικός σχεδιασμός (conceptual design) μοντέλο οντοτήτων-συσχετίσεων (entity relationship ER model) εκτεταμένο μοντέλο οντοτήτων-συσχετίσεων (extended entity relationship EER model) γλώσσες μοντελοποίησης αντικειμένων (UML) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 20

Σχεδιασμός ΒΔ Ανάλυση απαιτήσεων (π.χ. Διαγράμματα ροής δεδομένων) δημιουργία εννοιολογικού σχήματος (που εκφράζεται σε κάποιο μοντέλο δεδομένων ) Μεταφορά του εννοιολογικού σχήματος σε λογικό σχήμα (που εξαρτάται από το συγκεκριμένο μοντέλο δεδομένων), πχ. Σχήμα του σχεσιακού μοντέλου Καταγραφή βασικών πράξεων(δοσοληψιών) επί των δεδομένων που προσδιορίζονται κατά τη λειτουργική ανάλυση Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 21

Φάσεις σχεδιασμού ΒΔ Μικρόκοσμος Ανάλυση λειτουργικών απαιτήσεων Προδιαγραφές πράξεων (δοσοληψιών) Συλλογή και ανάλυση απαιτήσεων Απαιτήσεις δεδομένων Εννοιολογικός σχεδιασμός Εννοιολογικό σχήμα ΒΔ Σχεδιασμός εφαρμογών Λογικός σχεδιασμός Λογικό σχήμα σε συγκεκριμένο ΣΔΒΔ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 22

Ενοιολογικό μοντέλο δεδομένων: Μοντέλο οντοτήτων-συσχετίσεων ΟΝΤΟΤΗΤΕΣ (entity): αντικείμενα / έννοιες του φυσικού κόσμου με ανεξάρτητη ύπαρξη ΤΥΠΟΣ ΟΝΤΟΤΗΤΩΝ (entity type) : ένα σύνολο από οντότητες που έχουν τα ίδια γνωρίσματα ΓΝΩΡΙΣΜΑΤΑ (attribute): ιδιότητες μιας οντότητας του φυσικού κόσμου, που παίρνουν τιμές για συγκεκριμένα στιγμιότυπα της οντότητας ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ, απλά, σύνθετα, μονότιμα/πλειότιμα, αποθηκευμένα, παραγόμενα ΓΝΩΡΙΣΜΑΤΑ ΚΛΕΙΔΙΑ γνωρίματα με διακεκριμένες τιμές ΠΕΔΙΑ ΟΡΙΣΜΟΥ ΓΝΩΡΙΣΜΑΤΩΝ το σύνολο των τιμών που μπορεί να πάρει το γνώρισμα Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 23

Ένα παράδειγμα: η βδ ΕΤΑΙΡΕΙΑ Περιγραφή μικρόκοσμου: η εταιρεία είναι οργανωμένη σε τμήματα, κάθε τμήμα έχει μοναδικό όνομα, κωδικό και διευθυντή, κρατάμε την ημερομηνία ανάθεσης της διεύθυνσης στον διευθυντή. Κάθε τμήμα μπορεί να είναι σε πολλές τοποθεσίες Κάθε τμήμα ελέγχει πολλά έργα, κάθε έργο έχει όνομα, κωδικό και γίνεται σε συγκεκριμένο μέρος Για κάθε εργαζόμενο, αποθηκεύουμε το όνομα, αρ.ταυτότητας, διευθυνση, φύλο, ημερ. γέννησης. Κάθε εργαζόμενος τοποθετείται σε ένα τμήμα άλλα δουλεύει σε πολλά έργα Για κάθε εργαζόμενο καταγράφουμε τον αριθμό ωρών / βδομάδα που απασχολείται σε ένα έργο καταγράφεται ο άμεσος προϊστάμενος κάθε εργαζόμενου Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 24

Συσχετίσεις Συσχετίσεις μεταξύ στιγμιοτύπων ε1 ε2 ε3 ε4 εργαζόμενος Α1 Α2 Α3 έργο Απασχολείται σε... Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 25

Συμβολισμός συσχέτισης σε διάγραμμα ΟΣ οντότητες ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΕΙΤΑΙ ΕΡΓΟ όνομα Αρ_ταυτ κωδικός τοποθεσία Σχέση γνωρίσματα Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 26

Αναδρομική συσχέτιση: ΕΠΙΒΛΕΨΗ ε1 ε2 ε3 ε4 εργαζόμενος 1 1 1 2 2 2 Επιβλέπει... Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 27

Συμβολισμός συσχέτισης ΕΠΙΒΛΕΨΗ ΕΡΓΑΖΟΜΕΝΟΣ Προϊστάμενος Υφιστάμενος ΕΠΙΒΛΕΨΗ ρόλοι Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 28

Λόγος πληθικότητας Ο λόγοςπληθικότηταςμιαςσχέσης προσδιορίζει τον αριθμό στιγμιοτύπων μιας συσχέτισης στα οποία μπορεί να συμμετέχει μια οντότητα. Π.χ. ΤΜΗΜΑ - ΕΡΓΑΖΟΜΕΝΟΣ (συσχέτιση ΕΡΓΑΖΕΤΑΙ έχει λόγο πληθικότητας 1:Ν ποιός ο λόγος για τη σχέση ΔΙΕΥΘΥΝΕΙ και για τη σχέση ΑΠΑΣΧΟΛΗΣΗ ; Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 29

Ολική εξάρτιση (εξάρτηση ύπαρξης) Η συμμετοχή μιας οντότητας σε μια συσχέτιση λέγεται ολική όταν κάθε στιγμιότυπο της οντότητας πρέπει να σχετίζεται μέσω της σχέσης αυτής Γενικά ονομάζονται δομικοί περιορισμοί (strucutral constraints) του τύπου συσχέτισης οι περιορισμοί που επιβάλλονται στους όρους του λόγου πληθικότητας Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 30

Μη ισχυροί τύποι οντοτήτων ΕΡΓΑΖΟΜΕΝΟΣ 1 ΠΡΟΣΤΑΤΕΥΕΤΑΙ ΑΠΟ Ν ΕΞΑΡΤΩΜΕΝΟΣ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 31

Εκτεταμένο μοντέλο ΟΣ Υποκλάση τύπου οντοτήτων (περιορισμός μη επικάλυψης disjoint constraint) ΕΡΓΑΖΟΜΕΝΟΣ d Είδος εργασίας ΓΡΑΜΜΑΤΕΑΣ ΤΕΧΝΙΚΟΣ ΜΗΧΑΝΙΚΟΣ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 32

Ασκήσεις ΟΣ (1η ομάδα) Άσκηση 3.23, σελ 104 Χρησιμοποιήστε το ηλεκτρονικό βιβλιοπωλείο www.amazon.com για να βρείτε τα τρία πιο κατάλληλα βιβλία για την εισαγωγή στις Βάσεις Δεδομένων. Προσπαθήστε να σκεφτείτε το σχήμα της ΒΔ που βρίσκεται πίσω από αυτό, σκεφτείτε τις βασικές έννοιες (books, authors, publishers, subjects, related topics). Δημιουργείστε ένα διάγραμμα ΟΣ για τη ΒΔ του δικτυακού αυτού τόπου. Χρησιμοποιήστε ιεραρχίες οντοτήτων όπου είναι απαραίτητο. Αγνοείστε τις λειτουργίες αγοράς, παραγγελίας κλπ και περιοριστείτε στα απαραίτητα για την αναζήτηση βιβλίων. (παράδοση την επόμενη βδομάδα) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 33

#4. Μετασχηματισμός εννοιολογικού μοντέλου σε σχεσιακό σχήμα Οντότητα -> πίνακας Ο πίνακας με διαδικασία κανονικοποίησης μπορεί να μετασχηματιστεί σε πολλούς συσχετισμένους πίνακες Αδύνατες οντότητες ενσωματώνονται στον πίνακα της ισχυρής οντότητας Συσχετίσεις τύπου «έχει σχέση» 1:1 -> δύο πίνακες με το πρωτεύον κλειδί του ενός, ξένο κλειδί του άλλου Συσχετίσεις τύπου «έχει σχέση» 1:Ν -> το ίδιο, το ξένο κλειδί εμφανίζεται στην πλευρά του Ν Συσχετίσεις τύπου «έχει σχέση» Μ:Ν -> δύο πίνακες συσχετίζονται μέσω πίνακα συσχέτισης Συσχετίσεις τύπου «είναι» -> πίνακες με κοινό πρωτεύον κλειδί Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 34

#3 - Εσωτερική Όψη Στο κεφάλαιο αυτό μελετάται η φυσική αποθήκευση της ΒΔ στις δευτερεύουσες μονάδες (μαγνητικούς δίσκους) Ερώτηση: γιατί η ΒΔ φυλάσσεται σε δευτερεύουσες μονάδες αποθήκευσης και όχι πρωτεύουσα αποθήκευση (Κύρια μνήμη) ; Τριτεύουσα αποθήκευση: οπτικά μέσα και μαγνητικές ταινίες. Περιγράψτε τη χρήση τους Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 35

Απόθηκευση δεδομένων σε αρχεία Πρωτεύουσες οργανώσεις αρχείων μη ταξινομημένες εγγραφές ταξινομημένες εγγραφές κατακερματισμός β δένδρα κλπ ευρετήρια (index files) ευρετήρια ενός επιπέδου πολυεπίπεδα ευρετήρια(β+ δένδρα, κατακερματισμός) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 36

Μονάδες αποθήκευσης: μαγνητικοί δίσκοι Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 37

Μονάδες δευτερεύουσας αποθήκευσης Μονάδες μαγνητικών δίσκων κύλινδρος (cylinder) - άτρακτος (track)- τομέας (sector) δίσκοι σταθερής κεφαλής - δίσκοι κινούμενης κεφαλής χρόνος μεταφοράς = χρόνος εντοπισμού (s) + καθυστέρηση περιστροφής (rd) + χρόνος μεταφοράς μπλόκ (bbt) rotation delay (rd)= ½*1/ρ min block transfer time (bbt) = B/tr msec Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 38

Εγγραφές (records) Εγγραφή = σύνολο σχετιζόμενων τιμών δεδομένων, όπου κάθε τιμή σχηματίζεται από ένα ή περισσότερα bytes και αντιστοιχεί σε ένα πεδίο της εγγραφής τύποι : το μέγεθος τους πολλές φορές εξαρτάται από το λειτουργικό σύστημα (μέγεθος ενός double integer) BLOB (binary large objects) = εικόνες, βίντεο κλπ. Αρχείο = ακολουθία από εγγραφές (σταθερού ή μεταβλητού μήκους) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 39

Ομαδοποίηση εγγραφών Οι εγγραφές τοποθετούνται σε μπλοκ του δίσκου. Όταν το μέγεθος του μπλοκ Β είναι μεγαλύτερο από το μέγεθος εγγραφής R, κάθε μπλοκ περιέχει πολλές εγγραφές Ο αριθμός εγγραφών / μπλοκ λέγεται παράγων ομαδοποίησης (blocking factor bfr) bfr= (B/R) Εκτεινόμενη οργάνωση εγγραφών Ο αριθμός μπλόκ που απαιτούνται για αρχείο r εγγραφών είναι : b= (r/bfr) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 40

Πράξεις σε εγγραφές αρχείων RAM buffer Βρές εγγραφή σύμφωνα με συνθήκη αναζήτησης και τοποθέτησe την σε ενδιάμεση μνήμη Διάβασε τρέχουσα εγγραφή από ενδιάμεση μνήμη σε περιοχή χρήστη Βρές επόμενη εγγραφή και τοποθέτησε την στην ενδιάμεση μνήμη (αν δεν βρίσκεται ήδη εκεί) Διάγραψε τρέχουσα εγγραφή- ενημέρωσε σχετικά το δίσκο Να εισάγεις νέα εγγραφή (μεταφορά του αντίστοιχου μπλόκ στην ενδιάμεση μνήμη, εισαγωγή εγγραφής και τελικά ενημέρωση δίσκου) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 41

Αρχεία εγγραφών (records) File (αρχείο)-> records (εγγραφές) -> items (στοιχεία) τύποι εγγραφών : char int string BLOB κλπ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 42

Αρχεία 1-Μη διατεταγμένα αρχεία Αρχεία σωρού (heap file) Συνήθως χρησιμοποιούνται σε συνδυασμό με δευτερεύοντα ευρετήρια Η αναζήτηση απαιτεί ανάγνωση b/2 μπλοκ Η ταξινόμηση είναι ακριβή πράξη (συνήθως εξωτερικη ταξινόμηση) Για αρχείο εγγραφών σταθερού μεγέθους και μη εκτεινόμενες εγγραφές μπορεί να γίνει άμεση προσπέλαση της εγγραφής i με βάση τη θέση της : Η εγγραφή βρίσκεται στο μπλοκ (i/bfr) και είναι η (i mod bfr) εγγραφή στο μπλοκ. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 43

Αρχεία 2-Ταξινομημένα αρχεία Η διάταξη των εγγραφών γίνεται με βάση τις τιμές ενός πεδίου (πεδίο διάταξης), συνήθως το πρωτεύον κλειδί, που ονομάζεται κλειδί διάταξης (odrering key) Εύρεση επόμενης εγγραφής ως προς το κλειδί διάταξης δεν απαιτεί ανάγνωση νέου μπλοκ συνήθως Δυαδική αναζήτηση (binary search) σε μπλοκ δίσκου (log 2 (b) αντί b/2 αναζητήσεις) Εισαγωγή και διαγραφή εγγραφών είναι ακριβές πράξεις (Αρχεία υπερχείλισης ή χρήση αρχείου δοσοληψιών (transaction file) για την αντιμετώπιση του προβλήματος αυτού) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 44

Ταξινομημένο αρχείο εγγραφή μπλοκ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 45

Κατακερματισμός Η τεχνική αυτή παρέχει υπό ορισμένες συνθήκες ταχύτατη πρόσβαση στις εγγραφές Η συνθήκη αναζήτησης πρέπει να είναι μια συνθήκη ισότητας στο πεδίο κατακερματισμού Η συνάρτηση κατακερματισμού (hash function) είναι η συνάρτηση η οποία για μια τιμή του πεδίου κατακερματισμού, επιστρέφει τη διεύθυνση του μπλοκ του δίσκου στο οποίο βρίσκεται η αντίστοιχη εγγραφή. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 46

Εσωτερικός κατακερματισμός (αρχεία προσωρινά στη μνήμη) Πίνακας Μ θέσεων εσωτερικού κατακερματισμού συνάρτηση κατακερματισμού h(key)= Key mod M Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 47

Κατακερματισμός: αλυσιδωτή υπερχείλιση Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 48

Εξωτερικός κατακερματισμός (αρχεία του δίσκου Αριθμός κάδου 0 1 2 3 4. Μ Διεύθυνση μπλοκ δίσκου Κάδος (bucket) : χώρος διευθύνσεων που χωρούν πολλές εγγραφές ο καθένας. Ένας κάδος αντιστοιχεί σε ένα μπλόκ στο δίσκο ή συστάδα συνεχόμενων μπλοκ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 49

Υπερχείλιση κάδων Κάδοι υπερχείλισης Κύριοι κάδοι Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 50

Ευρετήρια : Index files Όνομα Ανδρέου Α. Βασιλείου Β. Γεωργίου Γ. Ξένος Μ. Παναγιώτου Π. Παπαδόπουλος Β. Ράλης Ι. Ράπτη Μ. Σωτηρίου Α. ΦΟΙΤΗΤΗΣ ΑΜ Όνομα Ετος Τομέας 4040 Γεωργίου Γ. 4 ΗΥ 4041 Ανδρέου Α. 4 ΤΤΠ δείκτης 4042 Παπαδόπουλος Β. 4 ΣΑΕ 4043 Σωτηρίου Α. 4 ΤΤΠ 4044 Βασιλείου Β. 4 ΣΑΕ 4061 Παναγιώτου Π. 5 ΤΤΠ 4062 Ράλης Ι. 5 ΣΑΕ 4063 Ξένος Μ. 5 ΤΤΠ 4064 Ράπτη Μ. 5 ΣΑΕ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 51

Ευρετήρια (index files) Δευτερεύοντες δρόμοι αναζήτησης σε αρχεία εγγραφών Ευρετήρια ενός επιπέδου και πολλών επιπέδων (δένδρα), ευρετήρια κατακερματισμού Πεδίο ευρετηριοποίησης (indexing field) Το ευρετήριο περιέχει το πεδίο ευρετηριοποίησης και λίστα δεικτών προς τα μπλοκ που περιέχουν εγγραφές με την τιμή αυτή στο αντίστοιχο πεδίο Πρωτεύον ευρετήριο σχετίζεται με το πρωτεύον κλειδί, ευρετήρια συστάδων για πεδία μη κλειδιά προς τα οποία το αρχείο είναι ταξινομημένο ενώ δευτερεύοντα ευρετήρια με πεδία μη ταξινομημένα. Πυκνά και μη-πυκνά ευρετήρια (μία εγγραφή ανά μπλοκ- όχι ανά εγγραφή του αρχείου) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 52

Ευρετήριο πρωτεύοντος κλειδιού ΑΜ Όνομα Ετος Τομέας ΑΜ 4040 4043 4062 Δείκτης μπλόκ 4040 Γεωργίου Γ. 4 ΗΥ 4041 Ανδρέου Α. 4 ΤΤΠ 4042 Παπαδόπουλος Β. 4 ΣΑΕ 4043 Σωτηρίου Α. 4 ΤΤΠ 4044 Βασιλείου Β. 4 ΣΑΕ 4061 Παναγιώτου Π. 5 ΤΤΠ 4062 Ράλης Ι. 5 ΣΑΕ 4063 Ξένος Μ. 5 ΤΤΠ 4064 Ράπτη Μ. 5 ΣΑΕ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 53

Ευρετήριο συστάδων Ευρετήριο για πεδία που είναι φυσικά διαταγμένα, δεν έχουν διαφορετική τιμή για κάθε εγγραφή και δεν είναι κλειδιά (μη πυκνό ευρετήριο) ΑΜ Όνομα Ετος Τομέας Ετος 4 5 Δείκτης μπλοκ 4040 Γεωργίου Γ. 4 ΗΥ 4041 Ανδρέου Α. 4 ΤΤΠ 4042 Παπαδόπουλος Β. 4 ΣΑΕ 4043 Σωτηρίου Α. 4 ΤΤΠ 4044 Βασιλείου Β. 4 ΣΑΕ 4061 Παναγιώτου Π. 5 ΤΤΠ 4062 Ράλης Ι. 5 ΣΑΕ 4063 Ξένος Μ. 5 ΤΤΠ 4064 Ράπτη Μ. 5 ΣΑΕ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 54

Δευτερεύοντα Ευρετήρια Ευρετήρια σε άλλα πεδία εκτός του πρωτεύοντος κλειδιού αν το πεδίο έχει διαφορετικές τιμές σε κάθε εγγραφή, λέγεται δευτερεύον κλειδί. Πυκνό ευρετήριο (μιά εγγραφή στο ευρετήριο ανά εγγραφή στο κυρίως αρχείο) Αν το πεδίο έχει επαναλαμβανόμενες τιμές, τότε χρησιμοποιούμε ευρετήριο δύο επιπέδων (αραιό ευρετήριο με μια εγγραφή ανά διακριτή τιμή του κλειδιού και ενδιάμεσο επίπεδο με διευθύνσεις όλων των εγγραφών ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 55

Ευρετήριο δευτερεύοντος κλειδιού (πυκνό ευρετήριο) ΑΡ ΠΛΑΙΣΙΟΥ ΑΡ_ΠΛΑΙΣΙΟΥ 123000 200234 300123 500112 506222 511237 789000 888100 999102 δείκτης 123000 200234 506222 789000 888100 300123 500112 511237 999102 Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 56

Δευτερεύον ευρετήριο σε πεδίο μη-κλειδί Αρχείο ευρετήριο Τομέας ΗΥ ΤΤΠ ΣΑΕ ΣΗΕ Δείκτης μπλόκ Μπλοκ δεικτών εγγραφών Αρχείο δεδομένων ΑΜ Όνομα Ετος Τομέας 4040 Γεωργίου Γ. 4 ΗΥ 4041 Ανδρέου Α. 4 ΤΤΠ 4042 Παπαδόπουλος Β. 4 ΣΑΕ 4043 Σωτηρίου Α. 4 ΤΤΠ 4044 Βασιλείου Β. 4 ΣΑΕ 4061 Παναγιώτου Π. 5 ΤΤΠ 4062 Ράλης Ι. 5 ΣΑΕ 4063 Ξένος Μ. 5 ΤΤΠ 4064 Ράπτη Μ. 5 ΣΗΕ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 57

Βελτίωση αναζήτησης με ευρετήρια Άσκηση Έστω διατεταγμένο αρχείο με r=30000 εγγραφές, αποθηκευμένες σε δίσκο με μέγεθος μπλοκ Β=1024 bytes. Αν το μήκος εγγραφής είναι R=100 bytes (μη εκτεινόμενες εγγραφές σταθερού μήκους) και πρωτεύον ευρετήριο με πεδίο κλειδιού διάταξης του αρχείου μήκους 9 bytes και δείκτη μπλοκ 6bytes, να βρεθεί: Η βελτίωση του αριθμού προσπελάσεων μπλοκ με χρήση του ευρετηρίου (υποθέστε ότι η διαδική αναζήτηση σε χ μπλοκ απαιτεί logx προσπελάσεις μπλοκ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 58

Άσκηση.. Δευτερεύον ευρετήριο Άσκηση (συνέχεια) Έστω ότι το αρχείο του προηγούμενου παραδείγματος. Υποθέτουμε ότι κατασκευάζουμε ένα δευτερεύον ευρετήριο ως προς πεδίο-κλειδί του αρχείου που δεν είναι πεδίο διάταξης και έχει μήκος 9 Bytes. Ζητείται να βρεθεί η βελτίωση του αριθμού προσπελάσεων μπλοκ με χρήση του ευρετηρίου αυτού Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 59

#5. Σχεσιακό Μοντέλο Codd (1970) Βάση δεδομένων= συλλογή από σχέσεις Κάθε σχέση R(A1,A2, An) αποτελείται από το όνομα της σχέσης R και μία λίστα από γνωρίσματα Αi Κάθε γνώρισμα έχει ένα πεδίο ορισμού dom(ai), ένα σύνολο από ατομικές τιμές σε κάθε πεδίο ορισμού δίδεται ένα όνομα, τύπος δεδομένων και μια μορφοποίηση Ένα στιγμιότυπο r(r) είναι ένα σύνολο από n-πλειάδες {t1, t2, tm}. Κάθε n-πλειάδα είναι μια διατεταγμένη λίστα από n τιμές t=<v1,v2,..vn> όπου κάθε vi είναι μια τιμή του dom(ai) ή τιμή null Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 60

Σχέση (Relation) dom(αμ) dom(όνομα) dom(έτος) dom(τομέας) ΦΟΙΤΗΤΗΣ ΑΜ Όνομα Ετος Τομέας 4040 Γεωργίου Γ. 4 ΗΥ 4041 Ανδρέου Α. 4 ΤΤΠ 4042 Παπαδόπουλος Β. 4 ΣΑΕ Attributes (γνωρίσματα) 4043 Σωτηρίου Α. 4 ΤΤΠ 4044 Βασιλείου Β. 4 ΣΑΕ 4061 Παναγιώτου Π. 5 ΤΤΠ 4062 Ράλης Ι. 5 ΣΑΕ 4063 Ξένος Μ. 5 ΤΤΠ 4064 Ράπτη Μ. 5 ΣΑΕ degree (βαθμός) cardinality (πληθάριθμος) Πλειάδα (tuple) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 61

Σχέσεις - ορισμοί R ( A 1, A 2, A 3,.. A n ) r(r) (dom(a 1 ) X dom(a 2 )...X dom(a n ) ) από θεωρία συνόλων: όχι διπλές πλειάδες οι πλειάδες δεν είναι διατεταγμένες τα πεδία δεν είναι διατεταγμένα οι τιμές των πεδίων είναι ατομικές (όχι σύνολα τιμών) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 62

Πεδία ορισμού : dom (A) Όνομα Τύπος δεδομένων Μορφοποίηση δεδομένων Επιπλέον πληροφορίες: μονάδες μέτρησης πχ ΑΡ_ΤΗΛΕΦΩΝΟΥ οι ελληνικοί_αριθμοί_τηλεφώνου ορίζονται ως συμβολοσειρές (τύπος string) με μορφή: (dddd) ddd dddd, όπου τα ψηφία στην παρένθεση αναπαριστούν έναν αποδεκτό κωδικό περιοχής που αρχίζει με μηδέν και έχει 2 έως 4 ψηφία και οι αριθμοί είναι 5ψήφιοι έως 7ψηφιοι Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 63

Η τιμή null Η σημασιολογία της δεν είναι μονοσήμαντη: «άγνωστη τιμή» «το γνώρισμα δεν υφίσταται για την πλειάδα αυτή» «η πλειάδα αυτή δεν έχει τιμή για το γνώρισμα αυτό» Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 64

κλειδιά Ένα υποσύνολο γνωρισμάτων SK για το οποίο έχουμε για κάθε δύο διαφορετικές πλειάδες ενός στιμιότυπου ότι : t 1 [SK] Èt 2 [SK] ονομάζεται Superkey (υπερκλειδί) Κλειδί (K) ονομάζεται κάθε υπερκλειδί για το οποίο αν αφαιρεθεί ένα οποιοδήποτε γνώρισμα παύει να είναι υπερκλειδί. Η τιμή του χρησιμεύει για μονοσήμαντο ορισμό της πλειάδας Υποψήφια κλειδιά, όλα τα κλειδιά μιας σχέσης Πρωτεύον κλειδί (PK): το υποψήφιο κλειδί που χρησιμεύει για τον προδιορισμό της πλειάδας Ξένο κλειδί (FK) : γνώρισμα με το ίδιο πεδίο ορισμού με το πρωτεύον κλειδί μιας άλλης σχέσης Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 65

Περιορισμοί που προκύπτουν Περιορισμοί πεδίου ορισμού: η τιμή κάθε γνωρίσματος Αi πρέπει να είναι ατομική από το dom(ai) Περιορισμοί κλειδιού : μοναδικότητα τιμών πρωτεύοντος κλειδιού Περιορισμός ακεραιότητας οντοτήτων : πρωτεύον κλειδί Ènull Περιορισμός αναφορικής ακεραιότητας μεταξύ δύο σχέσεων: αναφορά σε υπαρκτή πλειάδα Περιορισμοί σημασιολογικής ακεραιότητας (κανόνες μικρόκοσμου) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 66

Η ΒΔ «Εταιρεία» Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 67

Άσκηση περιορισμών Στο σχήμα της ΒΔ «Εταιρεία» να ελεγχθεί αν παραβιάζονται οι περιορισμοί από τις παρακάτω πράξεις: INSERT < Nikos,, Avouris, null, 05-10-60,,,,,> INTO ERGAZOMENOS INSERT < Nikos,, Avouris, 677678989, 05-10-60,,,,,> INTO ERGAZOMENOS DELETE tuple AR_TAYT= 999887777 FROM ERGAZOMENOS MODIFY tuple AR_TAYT= 999887777 to ARITH_T=1 IN ERGAZOMENOS MODIFY tuple AR_TAYT= 999887777 to ARITH_T=7 IN ERGAZOMENOS Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 68

Πράξεις ενημέρωσης σχέσεων Εισαγωγή (insert) insert <... > into ERGAZOMENOS διαγραφή (delete) delete <συνθήκη> from ERGAZOMENOS τροποποίηση (modify) modify <πεδίο = τιμή > in ERGAZOMENOS Ορισμός σχέσεων declare schema ETAIREIA declare domain ONOMA type FIXED_CHAR (9) declare relation ERGAZOMENOS for Schema... attributes... X domain DOMX,...,..., constraints primary key (..), foreign key (..) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 69

Σχεσιακή άλγεβρα Σύνολο πράξεων για το χειρισμό σχέσεων. Οι πράξεις αυτές χρησιμοποιούνται για το μετασχηματισμό μιας ή περισσότερων σχέσεων σε νέες σχέσεις δύο κατηγορίες πράξεων: πράξεις από τη θεωρία συνόλων (εφαρμόζονται επειδή κάθε σχέση ορίζεται ως σύνολο πλειάδων) : UNION, INTERSECTION, DIFFERENCE, PRODUCT, DIVISION πράξεις ειδικά σχεσιακών βάσεων δεδομένων: ΕΠΙΛΟΓΗ (SELECT), ΠΡΟΒΟΛΗ (PROJECT), ΣΥΝΕΝΩΣΗ (JOIN) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 70

Πράξη επιλογής (selection): τελεστής σ σ <συνθήκη επιλογής> (<όνομα σχέσης>) σ ΩΡΕΣ>30 (ΑΠΑΣΧΟΛΗΣΗ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 71

επιλογή σ Αντιμεταθετικότητα επιλογής : σ <συνθ1> (σ <συνθ2> R) = σ <συνθ2> (σ <συνθ1> R) Σύζευξη επιλογών : σ <συνθ1> (σ <συνθ2> R) = σ <συνθ1> AND <συνθ2> (R) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 72

προβολή (project): τελεστής π π <λίστα γνωρισμάτων> (<όνομα σχέσης>) π Ε_ΑΡΤΑΥΤ, ΩΡΕΣ (ΑΠΑΣΧΟΛΗΣΗ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 73

Προβολή π π <λίστα γνωρισμάτων> (<όνομα σχέσης>) Ισχύει η Αντιμεταθετικότητα ; π <λίστα1> (π <λίστα2> R) Èπ <λίστα2> (π <λίστα1> R) : ΟΧΙ Πότε ισχύει η : π < λίστα1 > (π < λίστα2> R) = π < λίστα1 > (R) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 74

Άσκηση Να ανακτήσετε το όνομα, επίθετο και μισθό των εργαζομένων που δουλεύουν στο Τμήμα 5. Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 75

#6 Συνολοθεωρητικές πράξεις Ένωση (UNION) R S Τομή (INTERSECTION) R S Διαφορά (DIFFERENCE) R-S Καρτεσιανό γινόμενο R X S Διαίρεση R S Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 76

Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 77 Πράξεις συνόλων R S R S R S R - S a b c x y a a b b c c x y x y x y R S R X S a x z a a a b c x y z x y R S R S R S R S

Η πράξη της συνένωσης J S <συνθήκη συνένωσης> R Συνθήκη συνένωσης: Αi θ Bj όπου θ τελεστής σύγκρισης Αν S(A1,A2,.. An) και R(B1, B2,.. Bm) τότε το αποτέλεσμα είναι μια σχέση: J(A1,A2,.. An, B1, B2,.. Bm) για όλες τις πλειάδες που ικανοποιούν τη συνθήκη συνένωσης Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 78

Φυσική συνένωση Η συνένωση ισότητας με απαλειφή του δεύτερου γνωρίσματος λέγεται φυσική συνένωση: J S * [<λίστα1, λίστα2>] R Όπου λίστα1, λίστα2 λίστες γνωρισμάτων των S, R για τις οποίες σχηματίζονται συνθήκες σύγκρισης ισότητας Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 79

Φυσική Συνένωση (Natural Join) R S R * S Α Β Β C A B C a1 b1 b1 c1 a1 b1 c1 a2 b1 b2 c2 a2 b1 c1 a3 b2 b3 c3 a3 b2 c2 Πεδίo συνένωσης (σχέση συνένωσης θ ) όπου θ αναπαριστά ισότητα = και απαλοιφή κοινών γνωρισμάτων) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 80

Παράδειγμα Να βρείτε τα ονόματα των διευθυντών των τμημάτων ΔΙΕΥΘ_ΤΜΗΜ ΤΜΗΜΑ ΔΙΕΥΘΥΝΤΗΣ=ΑΡ_ΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΟΤΕΛΕΣΜΑ π Τ_ΟΝΟΜΑ, ΟΝΟΜΑ, ΕΠΙΘΕΤΟ ΔΙΕΥΘ_ΤΜΗΜ Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 81

Συναθροιστικές συναρτήσεις (aggregate functions) R ΕΡΓΟ ΜΕΣΗ_ΑΠΑΣΧ 1 26,25 2 12,50 AVERAGE 3 25,00 10 18,50 20 12,50 30 18,33 R (ΕΡΓΟ, ΜΕΣΗ_ΑΠΑΣΧ) K_ΕΡΓΟ F AVERAGE ΩΡΕΣ (ΑΠΑΣΧΟΛΗΣΗ) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 82

Συναθροιστικές συναρτήσεις R <ΑΑ> F<AF Α> (R) Όπου ΑΑ: γνώρισμα ομαδοποίησης με βάση το οποίο δημιουργούνται οι ομάδες στις οποίες εφαρμόζεται η συνάρτηση ομαδοποίησης AF συνάρτηση ομαδοποίησης (SUM, AVERAGE, MAX, MIN, COUNT) A: γνώρισμα της σχέσης R Π.χ. S (TOTQTY) FSUM QTY (S) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 83

Μια βάση δεδομένων: Προμηθευτές-Προϊόντα S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens P P# PNAME COLOR WEIGHT CITY P1 Nut Red 12 London P2 Bolt Green 17 Paris P3 Screw Blue 17 Rome P4 Screw Red 14 London P5 Cam Blue 12 Paris P6 Cog Red 19 London SP S# P# QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 200 S4 P4 300 S4 P5 400 Προμηθευτές (Suppliers) Κωδικός, Όνομα, Κατάσταση, Πόλη Προϊόντα (Products), Κωδικός, Όνομα προϊόντος, χρώμα βάρος- πόλη Αποστολές (κωδικός προμηθευτή, κωδικός προϊόντος, ποσότητα προϊόντος) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 84

Ερωτήσεις (σχεσιακή άλγεβρα) Τα ονόματα των πόλεων των προμηθευτών Το χρώμα και την πόλη παραγωγής προιόντων τους κωδικούς των προμηθευτών του Παρισιού τα προιόντα με βάρος < 14 ποιό το αποτέλεσμα της πράξης S*P Ποιό το αποτέλεσμα της πράξης (σχολιάστε) : S1 S(S#, SNAME, STATUS, SCITY) P1 P(P#, PNAME, COLOR, WEIGHT, PCITY) S2 S1 SCITY > PCITY P1 Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων 85