ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Ι 1
ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Ι Σκοπός - Περιεχόµενο µαθήµατος Η µελέτη του θεωρητικού υποβάθρου και των εργαλείων που απαιτούνται για τα συστήµατα βάσεων δεδοµένων Εισαγωγή- ιστορία-παραδείγµατα, Αρχιτεκτονική συστηµάτων Β Μοντέλο Οντοτήτων-Συσχετίσεων (ΟΣ) Σχεσιακό µοντέλο και σχήµα βάσεων δεδοµένων Κανονικοποίηση δεδοµένων Σχεσιακή Άλγεβρα SQL σχεσιακή γλώσσα χειρισµού δεδοµένων SQL σχεσιακή γλώσσα ορισµού δεδοµένων 2
ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Ι Ενδεικτική Βιβλιογραφία C.J. Date, An Introduction to Data Base Systems, Vοlume 1, 6th Edition, 1997 R. Elmasri, S.B.Navathe: Fundamentals of Database Systems, Τοµ Α,Β, Athens, 1996 H. Korth, A. Silberschatz, and S. Sudarshan, Database System Concepts, 3rd Edition, McGraw- Hill, 1998. J. Ullman and J. Widom, A First Course in Database Systems, Prentice Hall, 1997. R. Ramakrishnan, Database Management Systems, 1998. D.M. Kroenke, Database processing (7th Edition):Fundamentals, design & implementation, Prentice Hall. 2000. Ξένος Μ. και Χριστοδουλάκης., Εισαγωγή στις Βάσεις εδοµένων, Αναπτυξιακή Προσέγγιση, 2002 Βασιλακόπουλος Γ., Σχεδιασµός Βάσεων εδοµένων & dbase IV/SQL, 1993 3
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Τι είναι µια βάση δεδοµένων (Database-DB); Βάση εδοµένων-db: συλλογή από σχετιζόµενα δεδοµένα Σύστηµα ιαχείρισης Βάσεων εδοµένων (Σ Β -DBMS): λογισµικό για δηµιουργία και χρήση µιας βάσης δεδοµένων Σύστηµα Βάσης εδοµένων (ΣΒ -DBS): η βάση και το αντίστοιχο λογισµικό µαζί Σ Β Β Σύστηµα Βάσεων εδοµένων 4
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ- Σκοπός των Β Τα συστήµατα διαχείρισης βάσεων δεδοµένων αναπτύχθηκαν για να χειρίζονται και ελέγχουν τις παρακάτω δυσκολίες των τυπικών συστηµάτων διαχείρισης αρχείων που υποστηρίζονταν από τα συµβατικά λειτουργικά συστήµατα Προβλήµατα Ασυνέπειας και πλεονασµού δεδοµένων Προβλήµατα Ακεραιότητας εδοµένων υσκολίες προσπέλασης εδοµένων Προβλήµατα Ασφάλειας Προβλήµατα Ανεξαρτησίας εδοµένων (πολλαπλά αρχεία και formats) υσκολίες ενηµέρωσης πολλών αρχείων Προβλήµατα ταυτόχρονης προσπέλασης από πολλούς χρήστες 5
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ιαχειρίζονται τεράστια ποσότητα δεδοµένων Εύκολη Επεξεργασία δεδοµένων - - εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση η Β εξυπηρετεί µία ή περισσότερες εφαρµογές επιτρέποντας κοινή και ελεγχόµενη αντιµετώπιση της πρόσθεσης, τροποποίησης και ανάκλησης δεδοµένων 6
ΙΣΤΟΡΙΑ Εισαγωγή- Ιστορία εκαετία του 1950 Κάρτες και ταινίες (σειριακή επεξεργασία) : Εξελίξεις σε συσκευές µαζικής αποθήκευσης τυχαίας πρόσβασης και αύξηση υπολογιστικής ισχύος θέτουν τις προϋποθέσεις για την ανάπτυξη συστηµάτων διαχείρισης δεδοµένων σε αντικατάσταση των συστηµάτων διαχείρισης αρχείων. Αρχή του 1960 Πρώτες βάσεις δεδοµένων, πρώτα συστήµατα διαχείρισης βάσεων δεδοµένων (Σ Β ), στηριγµένα στο δικτυωτό µοντέλο network data model του Charles Bachman (1st Turing Award, 1973) 7
ΙΣΤΟΡΙΑ Εισαγωγή- Ιστορία Τέλη του 1960 Βάσεις δεδοµένων και συστήµατα διαχείρισης βάσεων δεδοµένων (Σ Β ), στηριγµένα στο ιεραρχικό µοντέλο δεδοµένων -Information Management System (IMS της ΙΒΜ)- 1970 Ορισµός του σχεσιακού µοντέλου από τον Codd της IBM. Edgar Codd (IBM, San Jose) relational data model (Turing Award, 1981) Ερευνητικά Προγράµµατα: SystemR, INGRES - Γλώσσες: SEQUEL, QBE, QUEL 8
ΙΣΤΟΡΙΑ Εισαγωγή- Ιστορία 1976 Το µοντέλο οντοτήτων-συσχετίσεων (Chen) Το σχεσιακό µοντέλο δεν επιτυγχάνει εµπορικά µέχρι τη δεκαετία του 80. Συστήµατα: SystemR (IBM), INGRESS (Berkley) Αρχές του 1980 SQL (µέρος του System R) αντικατέστησε την QUEL στο σύστηµα INGRES Η έννοια του transaction management (Jim Gray, Turing Award, 1999) Τάσεις: αντικειµενοστραφή, αρχιτεκτονική πελάτη-εξυπηρέτη, κατανεµηµένες βάσεις δεδοµένων 9
ΙΣΤΟΡΙΑ Εισαγωγή- Ιστορία εκαετία του 1980 Β σε προσωπικούς υπολογιστές, σχεσιακά συστήµατα σε pc. : DBase II (Ashton Tate) εξελίχτηκε µέχρι τις µέρες µας ως Paradox, Microsoft ACCESS. Σχεσιακά συστήµατα µε µεγάλη διάδοση: Oracle, SQL Server,Sybase, Informix, DB2 εκαετία του 1990 µέχρι σήµερα αντικειµενοστραφή συστήµατα Β σύνδεση Β στο διαδίκτυο, ευρύτατη διάδοση τεχνολογίας που επιτρέπει την επικοινωνία των χρηστών µε Β µέσω διαδικτύου (HTML, XML, ASP κλπ) 10
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μια Β αναπαριστά ένα µικρόκοσµο. Παραδείγµατα τέτοιων µικρόκοσµων είναι ένα πανεπιστήµιο (καθηγητές - φοιτητές - µαθήµατα - αίθουσες κλπ.), µια εταιρία (υπάλληλοι -τµήµατα - κτίρια κλπ.), ένα κατάστηµα λιανικής (προϊόντα - ράφια - πελάτες - προµηθευτές κλπ.), µια βιβλιοθήκη (βιβλία - θέσεις αποθήκευσης - δανειζόµενοι κλπ.). 11
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Σηµαντικό χαρακτηριστικό των πληροφοριών που περιέχονται σε µια Β είναι ότι αυτές είναι συσχετιζόµενες. Για παράδειγµα, στο µικρόκοσµο του πανεπιστήµιου, οι καθηγητές διδάσκουν µαθήµατα, τα οποία παρακολουθούνται από φοιτητές κοκ. Αν µια πληροφορία δεν σχετίζεται µε άλλες µέσα στον µικρόκοσµο, τότε δεν ανήκει στη συγκεκριµένη Β 12
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Αρχιτεκτονική τριών επιπέδων Ένα σύστηµα βάσεων δεδοµένων παρέχει στους χρήστες µια αφαιρετική άποψη. Το σύστηµα κρύβει (από τους χρήστες) ορισµένες λεπτοµέρειες για το πώς τα δεδοµένα αποθηκεύονται και διατηρούνται. Γι' αυτό υπάρχουν τρία επίπεδα αφαίρεσης: (α) φυσικό επίπεδο: είναι το χαµηλότερο επίπεδο αφαίρεσης και περιγράφει πώς αποθηκεύονται τα δεδοµένα. (β) εννοιολογικό επίπεδο: το αµέσως υψηλότερο επίπεδο αφαίρεσης. περιγράφει τι είδους δεδοµένα αποθηκεύονται και τις συσχετίσεις µεταξύ αυτών των δεδοµένων. (γ) Επίπεδο άποψης: το πιο υψηλό επίπεδο και περιγράφει τµήµατα της βάσης δεδοµένων για κάθε συγκεκριµένη οµάδα χρηστών. µπορεί να υπάρχουν πολλές διαφορετικές απόψεις Π.χ. οι ταµίες σε µια τράπεζα παίρνουν µια άποψη των απολογισµών πελατών, αλλά όχι των δεδοµένων µισθοδοτικών καταστάσεων. 13
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Αρχιτεκτονική τριών επιπέδων Άποψη 1 Άποψη 2 Άποψη N Εννοιολογικό επίπεδο Φυσικό επίπεδο 14
ΕΝΝΟΙΕΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ Η γενική ιδέα της Βάσης εδοµένων ΣΥΣΤΗΜΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΠΡΟΓΡΑΜΜΑ ΠΕΛΑΤΩΝ ΠΕΛΑΤΕΣ ΠΡΟΓΡΑΜΜΑ ΓΕΝΙΚΗΣ ΛΟΓΙΣΤΙΚΗΣ ΓΕΝΙΚΗ ΛΟΓΙΣΤΙΚΗ ΠΡΟΓΡΑΜΜΑ ΠΡΟΜΗΘΕΥΤ ΩΝ ΠΡΟΜΗΘΕΥΤΕΣ ΑΠΟΘΗΚΗ ΠΡΟΓΡΑΜΜΑ ΑΠΟΘΗΚΗΣ 15
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Αρχιτεκτονική τριών επιπέδων Ανεξαρτησία εδοµένων: η αλλαγή του σχήµατος ενός επιπέδου δεν επηρεάζει το σχήµα του αµέσως υψηλότερου επιπέδου Λογική Ανεξαρτησία εδοµένων αλλαγή του εννοιολογικού δεν επηρεάζει τα εξωτερικά σχήµατα ή τα προγράµµατα εφαρµογών Φυσική Ανεξαρτησία εδοµένων αλλαγή του εσωτερικού σχήµατος χωρίς να χρειάζεται αλλαγή του εννοιολογικού 16
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντελοποίηση - υλοποίηση ΜΕΡΟΣ 1 Μοντελοποίηση µε µοντέλο δεδοµένων ΜΕΡΟΣ 2 Υλοποίηση µε Σ Β ηµιουργία/κατασκευή Εισαγωγή εδοµένων Επεξεργασία εδοµένων 17
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντέλα δεδοµένων Μοντέλο εδοµένων: ένα σύνολο από έννοιες που µπορούν να χρησιµοποιηθούν για την περιγραφή της δοµής της Β Υψηλού επιπέδου (εννοιολογικά) µοντέλα Μοντέλο Οντοτήτων/Συσχετίσεων Παραστατικά µοντέλα ή µοντέλα υλοποίησης Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, ικτυωτό Μοντέλο 18
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Υψηλού επιπέδου (εννοιολογικά) µοντέλα - Μοντέλο Οντοτήτων/Συσχετίσεων (Entity- Relationship) επιτρέπει τη δηµιουργία ενός διαγράµµατος Ο/Σ (E-R diagram) που αναπαριστά µε γραφικό τρόπο όλες τις πληροφορίες της Β 19
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντέλα δεδοµένων Παραστατικά µοντέλα ή µοντέλα υλοποίησης Σχεσιακό Μοντέλο, Ιεραρχικό Μοντέλο, ικτυωτό Μοντέλο Τα παραστατικά µοντέλα δεδοµένων παριστάνουν δεδοµένα χρησιµοποιώντας δοµές εγγραφών και γι' αυτό µερικές φορές ονοµάζονται βασισµένα σε εγγραφές (recordbased) µοντέλα δεδοµένων 20
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντέλα δεδοµένων Από ένα σχεσιακό µοντέλο δεδοµένων προκύπτει η περιγραφή της βάσης δεδοµένων που ονοµάζεται σχήµα Β. Το σχήµα αφορά τη δοµή της βάσης δεδοµένων χωρίς τα στιγµιότυπα των δεδοµένων (εγγραφές). Τα πραγµατικά δεδοµένα σε µια βάση δεδοµένων µπορεί να αλλάζουν συχνά. κατάσταση Β ή σύνολο στιγµιότυπων ονοµάζεται το σύνολο των δεδοµένων που ευρίσκονται στη βάση δεδοµένων σε κάποια συγκεκριµένη χρονική στιγµή Το Σ Β µεριµνά κάθε κατάσταση να είναι έγκυρη 21
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντέλα δεδοµένων- σχεσιακό µοντέλο Σχήµα µίας Πανεπιστηµιακής Β 22
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μοντελοποίηση - υλοποίηση ΒΗΜΑ 1: Μοντελοποίηση -µε µοντέλο δεδοµένων Εννοιολογικό Μοντέλο (µοντέλο Οντοτήτων/Συσχετίσεων) Μοντέλο Υλοποίησης (σχεσιακό µοντέλο) ΒΗΜΑ 2: Υλοποίηση -µε κάποια γλώσσα Σ Β Ορισµός Σχέσεων (σχήµα) Εισαγωγή Στοιχείων (δηµιουργία αρχικού στιγµιότυπου) ιατύπωση Ερωτήσεων 23
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Γλώσσες Σ Β Γλώσσα Ορισµού εδοµένων (data definition language) Γλώσσα Αποθήκευσης εδοµένων Γλώσσα Ορισµού εδοµένων Γλώσσα Ορισµού Όψεων Γλώσσα Χειρισµού εδοµένων (data manipulation language) (εισαγωγή, διαγραφή, τροποποίηση και ανάκτηση δεδοµένων) δυνατότητα εµφύτευσης σε µια γλώσσα υψηλού επιπέδου µίας εγγραφής τη φορά ή συνόλου τη φορά διαδικαστικές και µη διαδικαστικές (δηλωτικές) 24
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Γλώσσες Σ Β -SQL (Data definition/ Data manipulation) DDL-SQL: επιτρέπει τον ορισµό, τροποποίηση ή διαγραφή πινάκων. CREATE DROP ALTER TABLE (base table) CREATE DROP ALTER VIEW (virtual table) CREATE DROP ALTER INDEX (index table) DML-SQL: επιτρέπει τη διαχείριση των στοιχείων πινάκων του συστήµατος SELECT αναζήτηση INSERT εισαγωγή εγγραφής DELETE διαγραφή εγγραφής UPDATE τροποποίηση εγγραφής 25
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Γλώσσες Σ Β ΒΗΜΑ 2: Υλοποίηση σε σχεσιακό Σ Β Ορισµός Σχέσεων (πρόθεση/σχήµα) Εισαγωγή Στοιχείων (δηµιουργία του αρχικού στιγµιότυπου) ιατύπωση Ερωτήσεων create table R(A1 T1, A2, T2, ) insert/delete select from where 26
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ιατύπωση Ερωτήσεων µε SQL-DML Γλώσσες Σ Β select [ distinct ] target_list from tuple_variable_list [ where qualification ] [ group by grouping_attributes ] [ having group_condition ] [ order by target_list_subset ] Μια επερώτηση αποτιµάται πρώτα µε την εφαρµογή της WHERE πρότασης, µετά των GROUP-BY και HAVING (προαιρετικά), και τέλος της SELECT πρότασης (στόχος λίστα γνωρισµάτων) µε ταξινόµηση των πλειάδων στην απάντηση ή διαγραφή διπλών τιµών, αν απαιτείται από την ORDER BY πρόταση ή το DISTINCT (επίσης προαιρετικά). 27
ΕΝΝΟΙΕΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ιεπαφές Σ Β Βασιζόµενες σε µενού (κατάλογο από επιλογές) Γραφικών Βασιζόµενες σε φόρµες Φυσικής γλώσσας Για παραµετρικούς χρήστες Για το Β 28
ΕΝΝΟΙΕΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ (DataBase DB) Βάση δεδοµένων είναι µία συλλογή καλά οργανωµένων σχετιζόµενων δεδοµένων µέσα σε κοινά διαθέσιµο µέσο µαζικής αποθήκευσης Αρχεία ευρετηρίου Κατάλογος συστήµατος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδοµένων Αν µια πληροφορία δεν σχετίζεται µε άλλες µέσα στη βάση, τότε δεν ανήκει στη συγκεκριµένη Β 29
ΕΝΝΟΙΕΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ DataBase Management System - DBMS Σύστηµα διαχείρισης βάσεως δεδοµένων (Σ Β ) είναι ένα σύνολο προγραµµάτων που επιτρέπουν στους χρήστες να δηµιουργούν και να συντηρούν µια βάση δεδοµένων. 30
ΕΝΝΟΙΕΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ Σύστηµα Βάσης δεδοµένων Είναι η βάση δεδοµένων µαζί µε το λογισµικό (Σ Β ) Σ Β Β ΣΒ 31
ΕΝΝΟΙΕΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ naive application sophisticated database users programmers users administrator users Application interfaces application program query database scheme Application programs object code Embedded DML precompiler DML compiler DDL interpret er Query processor Query Evaluation engine Transacti on manager Buffer manager File manag er storage manager Data files Indices Data dictionary Data base 32
ΣΥΣΤΗΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ Απλοποιηµένη εικόνα ενός συστήµατος βάσης δεδοµένων Σύστηµα Βάσεων εδοµένων (Database System) είναι το λογισµικό DBMS µαζί µε τη Βάση δεδοµένων 33
ΣΥΣΤΑΤΙΚΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΤΑ Ε ΟΜΕΝΑ (DATA) ενοποιηµένα integrated µεριζόµενα shared, κοινόχρηστα ΤΟ ΥΛΙΚΟ (HARDWARE) µέσα αποθήκευσης, backup.. ΤΟ ΛΟΓΙΣΜΙΚΟ (SOFTWARE) µεταξύ δεδοµένων και χρηστών υπάρχει το DBMS (Database management system ή σύστηµα διαχείρισης βάσεων δεδοµένων) ΟΙ ΧΡΗΣΤΕΣ (USERS) προγραµµατιστές εφαρµογών τελικοί χρήστες υπεύθυνος διαχείρισης βάσεων δεδοµένων (database administrator) 34
Ε ΟΜΕΝΑ - εδοµένα εισόδου - εδοµένα εξόδου Ενοποίηση δεδοµένων (data integration) εννοούµε, µια βάση δεδοµένων που µπορεί να περιλαµβάνει ένα αρχείο ΥΠΑΛΛΗΛΟΙ, που περιέχει τα ονόµατα, τις διευθύνσεις, τα τµήµατα, τους µισθούς κ.λπ. των υπαλλήλων, και ένα αρχείο ΣΥΜΜΕΤΟΧΕΣ, που αντιπροσωπεύει τις συµµετοχές υπαλλήλων σε κάποια σεµινάρια Μερισµός δεδοµένων (data sharing) εννοούµε ότι τα µεµονωµένα στοιχεία δεδοµένων της βάσης δεδοµένων µπορούν να τα µοιράζονται πολλοί διαφορετικοί χρήστες 35
ΠΑΡΑ ΕΙΓΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Αντιπροσωπεία Αυτοκινήτων (Αγορές-Πωλήσεις- Ενοικιάσεις) Βάση Εφαρµογών Λογισµικού (Εταιρείες, Κατηγορίες, Λογισµικά) Βιβλίο Εσόδων-Εξόδων (Κατηγορίες, Κινήσεις, Πελάτες, Προµηθευτές) ιαχείριση εστιατορίου (Υπάλληλοι, Κινήσεις- Παραγγελίες, Τραπέζια) Εµπορικό κύκλωµα (Πελάτες, Προµηθευτές, Κινήσεις, Αποθήκη) Εταιρεία εύρεσης προσωπικού επιχειρήσεων (Επιχειρήσεις, Άνεργοι, Ειδικότητες, Κινήσεις) Πολιτικό γραφείο (Ραντεβού, Ψηφοφόροι, Επαγγέλµατα, Πόλεις) Σχολείο (Μαθητές, Καθηγητές, Τµήµατα, Μαθήµατα, Αίθουσες) Ταµείο Επιχείρησης (Εσοδα, Εξοδα, Αξιόγραφα, Πελάτες, Προµηθευτές) Τεχνική Εταιρεία (Έργα, Υλικά, Πελάτες, Προµηθευτές, Υπεργολάβοι, Εργάτες) 36
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Μείωση του πλεονασµού (επανάληψη) των αποθηκευµένων δεδοµένων (redundancy) ταχύτητα Αποφυγή ασυνεπειών λιγότερος κόπος Κοινόχρηστα δεδοµένα άµεση Επιβολή προτύπων για την πληροφόρηση αναπαράσταση δεδοµένων, που διευκολύνει την ανταλλαγή δεδοµένων Εφαρµογή περιορισµών ασφαλείας ιατήρηση της ακεραιότητας Ταυτόχρονη προσπέλαση και ανάρρωση από σφάλµατα Πολλαπλές ιεπαφές και Όψεις Οικονοµία χώρου 37
ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Ορισµένα µειονεκτήµατα είναι τα εξής: 1. Η ασφάλεια µπορεί να είναι µειωµένη (αν δεν υπάρχουν καλοί έλεγχοι) 2. Η ακεραιότητα µπορεί να είναι µειωµένη (αν δεν υπάρχουν καλοί έλεγχοι) 3. Μπορεί να απαιτείται πρόσθετο υλικό 4. Μπορεί να υπάρχει σηµαντική επιβάρυνση στην απόδοση 5. Η επιτυχηµένη λειτουργία έχει κρίσιµη σηµασία (η επιχείρηση µπορεί να γίνει εξαιρετικά ευάλωτη σε σφάλµατα) 6. Το σύστηµα µπορεί να είναι πολύπλοκο (αν και αυτή η πολυπλοκότητα θα πρέπει να µένει κρυφή από το χρήστη 38
ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Συστήµατα αντιστραµµένης λίστας Ιεραρχικά συστήµατα ικτυωτά συστήµατα Σχεσιακά συστήµατα που εµφανίζονται στις αρχές του 1980 CA-DATACOM/DB της Computer Associates International Inc. IMS της IBM Corporation CA-IDMS/DB της Computer Associates International Inc. DB2 της IBM Corporation INGRES της Ingres Inc. ORACLE της Oracle Corporation SYBASE της Sybase Inc. 39
ΙΕΡΑΡΧΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ (hierarchic system): εδώ τα δεδοµένα παρουσιάζονται µε τη µορφή ενός συνόλου δενδροειδών δοµών (ιεραρχιών), και στους τελεστές για το χειρισµό αυτών των δοµών περιλαµβάνονται τελεστές για να διατρέχονται οι ιεραρχικές διαδροµές προς την κορυφή ή προς τη βάση των δένδρων Ένα µε πολλά Αναγνώστης Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 Ένα µε πολλά Συγγραφέας 1 Συγγραφέας 2 Συγγραφέας 3 Συγγραφέας 4 40
ΙΚΤΥΩΤΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ τα δικτυωτά συστήµατα (network system) έχουν πια ιστορική αξία πολλά µε πολλά Αναγνώστης 1 Αναγνώστης 2 Βιβλίο 1 Βιβλίο 2 Βιβλίο 3 πολλά µε πολλά Συγγραφέας 1 Συγγραφέας 2 Συγγραφέας 3 Συγγραφέας 4 41
ΣΧΕΣΙΑΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ - ΠΙΝΑΚΕΣ Κωδικός αναγνώστη Όνοµα ιεύθυνση Τηλ. Τµήµα 053 Ματθέου Κ. Βηλαρά 28 45893 ΠΛΗΡΟΦΟ ΡΙΚΗ 109 Παππάς Ι. Λαµπρίδη 45 97155 ΜΑΘΗΜΑΤ ΙΚΟ 027 Αλεξίου Μ. Τσακάλωφ 9 66202 ΙΑΤΡΙΚΗ 212 Μπέης Γ. Σµύρνης 12 70359 ΦΥΣΙΚΟ 310 Χατζής Ν. Σαράφη 6 32078 ΙΑΤΡΙΚΗ ένα µε πολλά Βιβλία πολλά µε πολλά Πολλά µε ένα Θεµατικές ενότητες Αναγνώστες Παραγγελίες 42
ΣΧΕΣΙΑΚΗ ΟΜΗ -ΠΛΕΟΝΕΚΤΗΜΑΤΑ Η σχεσιακή δοµή έχει πολλά πλεονεκτήµατα σε σχέση µε την ιεραρχική και τη δικτυωτή, όπως: Η σχεσιακή δοµή παρέχει διαφάνεια και σαφήνεια Είναι εύκολη η µετατροπή κάθε άλλης δοµής σε σχεσιακή. Είναι εύκολη η αναπαραγωγή και υλοποίηση νέων σχέσεων, από τις υπάρχουσες, για ειδικές εφαρµογές. Η αναζήτηση δεδοµένων είναι πολύ ταχύτερη από κάποια άλλη δοµή που απαιτεί µία σειρά από δείκτες. Η σχεσιακή δοµή µπορεί να τροποποιηθεί πολύ ευκολότερα από την ιεραρχική ή τη δικτυωτή και αυτό προσδίνει ευελιξία στο σύστηµα. 43
ΣΧΕΣΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Με δύο λόγια, σχεσιακό είναι ένα σύστηµα που: 1. Ο χρήστης αντιλαµβάνεται τα δεδοµένα ως σχέσεις (κανονικοποιηµένους πίνακες). 2. Οι σχεσιακοί τελεστές πράξεων που έχει στη διάθεση του ο χρήστης (για παράδειγµα, για την ανάκληση δεδοµένων) είναι τελεστές που δηµιουργούν νέες σχέσεις (πίνακες). Για παράδειγµα, υπάρχει ένας τελεστής για την εξαγωγή ενός υποσυνόλου των γραµµών ενός πίνακα, και ένας άλλος τελεστής για την εξαγωγή ενός υποσυνόλου των στηλών του και φυσικά, ένα υποσύνολο των γραµµών και ένα υποσύνολο των στηλών ενός πίνακα µπορούν και τα δύο να θεωρηθούν επίσης πίνακες. 44
ΣΧΕΣΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σχεσιακή βάση δεδοµένων που αποθηκεύει φοιτητές και βαθµούς 45
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3- επιπέδων. ιακρίνονται 3 επίπεδα -"σχήµατα": το εξωτερικό, το εννοιολογικό και το εσωτερικό/φυσικό, καθώς και οι αντίστοιχες διαπαφές από το ένα σχήµα στο άλλο και προς τη Β 46
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. ANSI - American National Standards Institute SPARC - Standards Planning and Requirements Committee Εξωτερικό επίπεδο Όλοι οι χρήστες Προγραµµατιστέ ς-αναλυτές εφαρµογών Εννοιολογικό επίπεδο ιαχειριστής συστήµατος βάσης δεδοµένων Εσωτερικό επίπεδο 47
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. Εξωτερικό επίπεδο Αποτελέσµατα σχεσιακών πράξεων Εννοιολογικό επίπεδο Σχεσιακοί πίνακες, σχεσιακοί τελεστές πράξεων Εσωτερικό επίπεδο Μη σχεσιακό (αποθηκευµένες εγγραφές, δείκτες, ευρετήρια, κ.λπ.) 48
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. Το εξωτερικό επίπεδο (external level) είναι αυτό που βρίσκεται πιο κοντά στους χρήστες (απόψεις µεµονωµένων χρηστών). Π.χ. ένας χρήστης από το Τµήµα Προσωπικού µιας εταιρείας µπορεί να θεωρεί τη βάση δεδοµένων ως µια συλλογή από παρουσίες εγγραφών τµηµάτων συν µια συλλογή από παρουσίες εγγραφών υπαλλήλων, και µπορεί να αγνοεί εντελώς τις παρουσίες εγγραφών προµηθευτών και εξαρτηµάτων που βλέπουν οι χρήστες από το Τµήµα Προµηθειών της εταιρείας 49
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. Το εσωτερικό επίπεδο (internal level) είναι αυτό που βρίσκεται πιο κοντά στη φυσική αποθήκευση (άποψη αποθήκευσης). Ορίζει τους διαφόρους τύπους αποθηκευµένων εγγραφών αλλά καθορίζει επίσης ποια ευρετήρια υπάρχουν, πώς αναπαριστώνται τα αποθηκευµένα πεδία, µε ποια φυσική σειρά είναι τοποθετηµένες οι αποθηκευµένες εγγραφές, κ.ο.κ. 50
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. Το εννοιολογικό επίπεδο (conceptual level) είναι ένα "ενδιάµεσο επίπεδο" που συνδέει τα δύο προηγούµενα, και περιγράφει τον µικρόκοσµο, τη Βάση εδοµένων που θέλουµε να υλοποιήσουµε Για να επιτευχθεί η ανεξαρτησία των δεδοµένων, οι ορισµοί της εννοιολογικής άποψης δεν ασχολούνται καθόλου µε την αποθηκευτική δοµή ή µε την τεχνική προσπέλασης πρέπει να είναι µόνο ορισµοί πληροφοριακού περιεχοµένου. εν υπάρχει στο εννοιολογικό σχήµα καµία αναφορά σε αποθηκευµένες αναπαραστάσεις πεδίων, στη σειρά των αποθηκευµένων εγγραφών, σε ευρετήρια, σε δείκτες, ή σε οποιεσδήποτε άλλες λεπτοµέρειες της αποθήκευσης και της προσπέλασης 51
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ Η τυποποιηµένη (ANSI/SPARC) αρχιτεκτονική 3-επιπέδων. Εστω για παράδειγµα µια Βάση εδοµένων για ένα Πανεπιστήµιο. α) Εξωτερικό σχήµα (View) µπορεί να είναι µία οποιαδήποτε όψη: Φοιτητές που έχουν περάσει ένα µάθηµα ΠΛΗΡΟΦΟΡΙΕΣΜΑΘΗΜΑΤΟΣ (ΚωδΜαθ:string, count(αμ):integer) β) Εννοιολογικό σχήµα θα µπορούσε να είναι: ΦΟΙΤΗΤΕΣ (ΑΜ:string, Όνοµα:string, Επώνυµο:string, ΗµΓεν:date) ΜΑΘΗΜΑΤΑ (ΚωδΜαθ:string, Περιγραφή:string, ιδμονάδ:integer) ΚΑΤΩΧΗΡΩΣΕΙΣΜΑΘΗΜΑΤΩΝ (ΑΜ:string, ΚωδΜαθ:string, Βαθµός:string) γ) Φυσικό σχήµα θα µπορούσε να είναι: Σχέσεις αποθηκευµένες σε αρχεία είκτης στην 1η στήλη του ΦΟΙΤΗΤΕΣ 52
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΣΥΣΤΗΜΑΤΩΝ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 53
ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ 54
ΣΧΕ ΙΑΣΜΟΣ Σχεδιασµός µιας Β η ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της η περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα όπως το Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό µοντέλο (εννοιολογικό) η Μετατροπή σε σχεσιακό µοντέλο 55
ΣΧΕ ΙΑΣΜΟΣ - ΒΗΜΑΤΑ 1. Ανάλυση απαιτήσεων 2. Εννοιολογικός Σχεδιασµός (υψηλού επιπέδου περιγραφή των δοµών δεδοµένων και των περιορισµών) 3. Λογικός Σχεδιασµός (επιλογή Σ Β και µετατροπή του εννοιολογικού σχεδιασµού σε ένα σχήµα στο µοντέλο που υποστηρίζει το Σ Β που επιλέξαµε) Ανεξάρτητα του DBMS. Μικρόκοσµος Εξαρτώµενο του επιλεγµένου DBMS (π.χ., µε Σχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήµατα / Όψεις Απαιτήσεις Β Εννοιολογικό Μοντέλο (Σχήµα) Συλλογή Απαιτήσεων και Ανάλυση Εννοιολογικός Σχεδιασµός Βάσης (π.χ., µε E-R Model) E-R ιάγραµµα Λογικός Σχεδιασµός Βάσης Βάση εδοµένων Φυσικός Σχεδιασµός Βάσης Φυσικό Μοντέλο Εσωτερικό Σχήµα Πλήρωση Βάσης 56
Μοντέλο Οντοτήτων-Συσχετίσεων Το µοντέλο οντοτήτων-συσχετίσεων (entityrelationship model) προτάθηκε από τον P.P. Chen το 1976 για να περιγράψει µε γραφικά σύµβολα τα δεδοµένα ως οντότητες, συσχετίσεις και γνωρίσµατα αυτών. Χρησιµοποιείται κατά το στάδιο του εννοιολογικού σχεδιασµού (conceptual design) της βάσης δεδοµένων. 57
Μοντέλο Οντοτήτων-Συσχετίσεων ιάγραµµα ΟΝΤΟΤΗΤΩΝ-ΣΥΣΧΕΤΙΣΕΩΝ για µία Β τράπεζας 58
Οντότητα ΟΝΤΟΤΗΤΕΣ -ΣΥΣΧΕΤΙΣΕΙΣ (ένα αντικείµενο µε φυσική ύπαρξη) Κάθε οντότητα έχει συγκεκριµέναγνωρίσµατα Μια συγκεκριµένη οντότητα θα έχει µια τιµή για καθένα από τα γνωρίσµατα Τύπος οντοτήτων Oρίζει ένα σύνολο από οντότητες που έχουν τα ίδια γνωρίσµαταό πως προϊόντα, αυτοκίνητα, σπίτια, τµήµατα, φοιτητές ή εργαζόµενοι Περιγράφεται από ένα όνοµα και µια λίστα γνωρισµάτων Συσχετίσεις Τύπος συσχέτισης R ορίζει µια σύνδεση (σχέση) µεταξύ n τύπων οντοτήτων 59
ΟΝΤΟΤΗΤΕΣ -ΣΥΣΧΕΤΙΣΕΙΣ ΣΥΜΒΟΛΙΣΜΟΣ Τύπος Οντοτήτων Γνώρισµα τύποι οντοτήτων ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΕΙΤΑΙ ΕΡΓΟ Όνοµα Αρ Ταυτ κωδικός Τοποθεσία τύπος Συσχέτισης γνωρίσµατα Χρόνος Είδος Ταινίες Τίτλος ιάρκεια 60
ΟΝΤΟΤΗΤΕΣ -ΣΥΣΧΕΤΙΣΕΙΣ Πίνακας βασικών εννοιολογικών εννοιών (οι δοµές) Έννοια Άτυπος Ορισµός Παραδείγµατα ΤΥΠΟΣ ΟΝΤΟΤΗΤΑΣ ΓΝΩΡΙΣΜΑ/Ι Ι ΟΤΗΤΑ ΤΥΠΟΣ ΣΥΣΧΕΤΙΣΗΣ Ένα σύνολο διακεκριµένων αντικειµένων Μια πληροφορία που περιγράφει έναν τύπο οντότητας Ορίζει ένα σύνολο συνδέσεων δύο ή περισσότερων τύπων οντοτήτων Προµηθευτής, Εξάρτηµα, Αποστολή Υπάλληλος, Τµήµα, Πρόσωπο Σύνδεση, Κονσέρτο Ορχήστρα, Μαέστρος Παραγγελία. Γραµµή παραγγελίας Κωδικός Προµηθευτή Ποσότητα Αποστολής Όνοµα υπαλλήλου ιεύθυνση υπαλλήλου Ηµεροµηνία παραγγελίας Αποστέλλει (προµηθευτής-εξάρτηµα) ιευθύνει (Υπάλληλοςτµήµα) Ηχογράφηση (σύνδεσηορχήστρα µαέστρος) 61
απλά ή ατοµικά σύνθετα ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ -ΣΥΜΒΟΛΙΣΜΟΣ- τιµή: συνένωση των τιµών των απλών γνωρισµάτων που το αποτελούν ΕΡΓΑΖΟΜΕΝΟΣ Σύνθετο Αρ Ταυτ ιεύθυνση Οδός Αριθµός Νοµός Τ.Κ. Απλό Πόλη 62
µονότιµα ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ -ΣΥΜΒΟΛΙΣΜΟΣ- πλειότιµα σύνολο από τιµές (κάτωπάνω όριο) ΕΡΓΑΖΟΜΕΝΟΣ ΑΥΤΟΚΙΝΗΤΑ Αρ Ταυτ Πτυχία Αρ πλαισίου Χρώµατα Μονότιµα Πλειότιµα τηλέφωνα 63
ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ -ΣΥΜΒΟΛΙΣΜΟΣ- Τύποι Γνωρισµάτων απλά ή ατοµικά σύνθετα τιµή: συνένωση των τιµών των απλών γνωρισµάτων που το αποτελούν ΕΡΓΑΖΟΜΕΝΟΣ Σύνθετο Αρ Ταυτ ιεύθυνση Οδός Αριθµός Νοµός Τ.Κ. Απλό Πόλη 64
ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ -ΣΥΜΒΟΛΙΣΜΟΣπαραγόµενα: µπορεί να υπολογιστεί από οντότητες ή γνωρίσµατα σχετιζόµενες ΕΡΓΑΖΟΜΕΝΟΣ ΕΡΓΑΖΕΤΑΙ ΤΜΗΜΑ Ηλικία Ηµ_Γεν Αριθ_Εργαζοµένων Όνοµα Παραγόµενα γνωρίσµατα Ηθοποιός Ηµερ. Γέννησης Ηλικία 65
ΤΥΠΟΙ ΓΝΩΡΙΣΜΑΤΩΝ -ΣΥΜΒΟΛΙΣΜΟΣ- Τύποι Γνωρισµάτων απλά ή ατοµικά σύνθετα τιµή: συνένωση των τιµών των απλών γνωρισµάτων που το αποτελούν ΕΡΓΑΖΟΜΕΝΟΣ Σύνθετο Αρ Ταυτ ιεύθυνση Οδός Αριθµός Νοµός Τ.Κ. Απλό Πόλη 66
Η ΕΝΝΟΙΑ ΤΟΥ ΚΛΕΙ ΙΟΥ Γνωρίσµατα-Κλειδιά ενός Τύπου Οντοτήτων. Η έννοια του κλειδιού [περιορισµός κλειδιού ή µοναδικότητας] Οι τιµές κάποιου γνωρίσµατος (ή γνωρισµάτων) προσδιορίζουν µία οντότητα µοναδικά (δηλαδή, δεν µπορεί να υπάρχουν δυο οντότητες µε τις ίδιες τιµές στα γνωρίσµατα κλειδιά) το κλειδί µπορεί να είναι σύνολο γνωρισµάτων ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΕΙΤΑΙ ΕΡΓΟ Όνοµα Αρ Ταυτ κωδικός Τοποθεσία γνωρίσµατα κλειδιά 67
Η ΕΝΝΟΙΑ ΤΟΥ ΚΛΕΙ ΙΟΥ Υπερκλειδί: σύνολο από ένα η περισσότερα γνωρίσµατα που προσδιορίζουν µοναδικά µια οντότητα (superkey) Υποψήφιο κλειδί: ελάχιστο (µικρότερο αριθµό γνωρισµάτων) υπερκλειδί (candidate key) Πρωτεύον κλειδί: το υποψήφιο κλειδί που επιλέγουµε (primary key) Ισχύει: υπερκλειδί κάθε υποψήφιο κλειδί 68
Η ΕΝΝΟΙΑ ΤΟΥ ΚΛΕΙ ΙΟΥ Π.χ. Στον τύπο οντοτήτων ΕΡΓΑΖΟΜΕΝΟΣ ο Αριθµός ταυτότητας του εργαζόµενου είναι υπέρ- κλειδί αφού χαρακτηρίζει µοναδικά την κάθε οντότητα Αλλά και τα {Αρ_Ταυτ, Όνοµα} και {Αρ_Ταυτ, ΑΦΜ, Αρ_Ασφάλισης} είναι υπερ-κλειδιά Μεταξύ των υπερ-κλειδιών, τα ελάχιστα κλειδιά (αυτά δηλαδή που κανένα υποσύνολο των γνωρισµάτων τους δεν είναι και αυτό υπερκλειδί) είναι υποψήφια κλειδιά Για παράδειγµα, το Αρ_Ταυτ είναι υποψήφιο κλειδί αλλά το {Αρ Ταυτ, Όνοµα} δεν είναι. Μεταξύ των υποψηφίων κλειδιών, ορίζουµε ένα να είναι το πρωτεύον κλειδί 69
ΣΥΣΧΕΤΙΣΕΙΣ Ηθοποιός Συσχετίσεις Τύπος συσχέτισης R ορίζει µια σύνδεση (σχέση) µεταξύ n τύπων οντοτήτων Παίζει Ταινία Τύπος Συσχέτισης ΕΡΓΑΖΟΜΕΝΟΣ ΕΡΓΑΖΕΤΑΙ ΤΜΗΜΑ Συχνά ως ένα σύνολο/πίνακα Μαθηµατικά το R είναι ένα σύνολο από στιγµιότυπα συσχετίσεων r i όπου κάθε r i συνδέει n οντότητες. R υποσύνολο καρτεσιανού γινοµένου 70
ΣΥΣΧΕΤΙΣΕΙΣ Ιδιότητες των ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ. ΕΡΓΑΖΟΜΕΝΟΣ N 1 ΕΡΓΑΖΕΤΑΙ ΣΕ 1 1 ΙΕΥΘΥΝΕΙ ΤΜΗΜΑ ΕΛΕΓΧΕΙ 1 1 N ΕΠΙΒΛΕΠΕΙ προϊστάµενος υφιστάµενος 1 ΠΡΟΣΤΑΤΕΥΕΙ N M ΑΠΑΣΧΟΛΕΙΤΑΙ N ΕΡΓΟ N ΕΞΑΡΤΩΜΕΝΟΣ -Περισσότεροι του ενός τύποι συσχετίσεων µπορεί να υπάρχουν µεταξύ των ιδίων τύπων οντοτήτων π,χ., Εργαζόµενος-Εργάζεται-Τµήµα, Εργαζόµενος- ιευθύνει-τµήµα. -Μια συσχέτιση µπορεί να συνδέει δύο οντότητες που ανήκουν στον ίδιο τύπο οντοτήτων (αναδροµικός τύπος συσχετίσεων) π.χ., ο τύπος ΕΠΙΒΛΕΠΕΙ συνδέει ΕΡΓΑΖΟΜΕΝΟ µε κάποιο άλλο ΕΡΓΑΖΟΜΕΝΟ (επιβλέποντα) 71
ΣΥΣΧΕΤΙΣΕΙΣ -ΒΑΘΜΟΣ Βαθµός ενός τύπου συσχέτισης (degree): είναι το πλήθος των τύπων οντοτήτων που συµµετέχουν όταν συµµετέχουν 2 τύποι οντοτήτων ---> δυαδική συσχέτιση όταν συµµετέχουν 3 τύποι οντοτήτων ---> τριαδική συσχέτιση όταν συµµετέχουν N τύποι οντοτήτων ---> Νια-δική συσχέτιση δυαδική συσχέτιση ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΕΊΤΑΙ ΕΡΓΟ Πελάτες Παραγγελίες τριαδική συσχέτιση Προϊόντα Αντιπρόσωποι 72
ΣΥΣΧΕΤΙΣΕΙΣ - ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ Ο ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ (cardinality) ενός τύπου συσχετίσεων ορίζει το πόσες οντότητες από τον πρώτο τύπο οντοτήτων στην συσχέτιση µπορούν να συνδεθούν µε πόσες οντότητες από τον δεύτερο τύπο οντοτήτων. (ένα µε ένα) 1 : 1 ένα µε πολλά) 1 : N (πολλά µε ένα ) N : 1 (πολλά µε πολλά) N : M Λόγος πληθικότητας Ν:1 ΕΡΓΑΖΟΜΕΝΟΣ Ν ΕΡΓΑΖΕΤΑΙ 1 ΤΜΗΜΑ Λόγος πληθικότητας 1:1 ΕΡΓΑΖΟΜΕΝΟΣ 1 ΙΕΥΘΥΝΕΙ 1 ΤΜΗΜΑ Λόγος πληθικότητας Μ:Ν ΕΡΓΑΖΟΜΕΝΟΣ Μ ΑΠΑΣΧΟΛΕΊΤΑΙ Ν ΕΡΓΟ 73
ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ (ένα µε ένα) 1 : 1 (ένα µε πολλά) 1 : N (πολλά µε ένα ) N : 1 (πολλά µε πολλά) N : M 74
ΑΝΑ ΡΟΜΙΚΕΣ ΣΥΣΧΕΤΙΣΕΙΣ Ένας τύπος που συµµετέχει σε µια σχέση παίζει ένα συγκεκριµένο ρόλο Αναδροµικοί τύποι συσχετίσεων όταν ο ίδιος τύπος συµµετέχει περισσότερες από µια φορές Παραδείγµατα εργαζόµενος/διευθυντής, Μάθηµα/Προαπαιτούµενο Μάθηµα 75
ΓΝΩΡΙΣΜΑΤΑ ΤΥΠΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Οι τύποι συσχετίσεων µπορεί να έχουν και γνωρίσµατα Παράδειγµα (ώρες απασχόλησης, ηµεροµηνία έναρξης) ώρες απασχόλησης ΕΡΓΑΖΟΜΕΝΟΣ ΑΠΑΣΧΟΛΕΙΤΑΙ ΕΡΓΟ Όνοµα Αρ Ταυτ κωδικός Τοποθεσία Βαθµός ΦΟΙΤΗΤΗΣ ΚΑΤΩΧΥΡΩΝΕΙ ΜΑΘΗΜΑ Όνοµα Αρ_Μητρώου κωδικός Περιγραφή 76
ΣΥΣΧΕΤΙΣΕΙΣ - ΟΛΙΚΗ ΣΥΜΜΕΤΟΧΗ Η συµµετοχή ενός συνόλου οντοτήτων Ε σε ένα σύνολο συσχετίσεων R είναι ολική αν κάθε οντότητα του Ε συµµετέχει τουλάχιστον σε µια συσχέτιση στο R Αν κάποιες οντότητες του ΕΡΓΑΖΟΜΕΝΟΣ δεν συµµετέχουν στην ΙΕΥΘΥΝΕΙ τότε µερική συµµετοχή 77
ΑΣΘΕΝΕΙΣ ΤΥΠΟΙ ΟΝΤΟΤΗΤΩΝ Μη ισχυροί ή ασθενείς τύποι οντοτήτων Όταν µια οντότητα δεν έχει αρκετά γνωρίσµατα για να σχηµατίσει πρωτεύον κλειδί Παράδειγµα (εξαρτώµενα µέλη) ΕΡΓΑΖΟΜΕΝΟΣ ΠΡΟΣΤΑΤΕΥΕΙ ΜΕΛΗ ΟΙΚΟΓΕΝΕΙΑΣ Όνοµα Αρ Ταυτ Όνοµα Φύλλο ΗµΓεν ασθενής τύπος οντότητας 78
ΑΣΘΕΝΕΙΣ ΤΥΠΟΙ ΟΝΤΟΤΗΤΩΝ Μια ασθενής οντότητα Ε πρέπει να συµµετέχει µε ολική συµµετοχή σε µια έναπρος-πολλά συσχέτιση R µε ένα τύπο οντοτήτων F R: προσδιορίζουσα συσχέτιση, F: προσδιορίζοντα ιδιοκτήτη Προσδιορίζεται µοναδικά από µερικό κλειδί (γνωρίσµατα της Ε) + κλειδί της F 79
ΤΥΠΟΙ ΜΕ ΒΑΘΜΟ ΜΕΓΑΛΥΤΕΡΟ ΤΟΥ ΥΟ Τύποι µε βαθµό µεγαλύτερο του δύο Μετατροπή τους σε δυαδικούς Πελάτες Παραγγελίες Προϊόντα Αντιπρόσωποι Παράδειγµα µετατροπής Πελάτες Αντιπρόσωποι Προϊόντα Παραγγελίες 80
ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ- ΣΥΣΧΕΤΙΣΕΩΝ Ανακεφαλαίωση: Μοντελοποίηση του προβλήµατος χρησιµοποιώντας το µοντέλο Οντοτήτων-Συσχετίσεων [Chen, 1976] οµές: Τύποι Οντοτήτων και Τύποι Συσχετίσεων ανάµεσα σε τύπους οντοτήτων που Περιγράφουν το σχήµα Η έννοια του κλειδιού Πληθικότητα µιας συσχέτισης (για δυαδικές: 1-1, 1-Μ, Μ-Ν) Ολική συµµετοχή Ασθενής τύπος οντοτήτων: απαιτεί γνωρίσµατα από έναν (ή περισσότερους) σχετιζόµενους τύπους οντοτήτων για τη διάκριση των οντοτήτων του Προσδιορίζουσα συσχέτιση - προσδιορίζον τύπος οντοτήτων Συσχετίσεις πολλαπλού βαθµού 81
ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ- ΣΥΣΧΕΤΙΣΕΩΝ Ανακεφαλαίωση: ΤΥΠΟΣ ΟΝΤΟΤΗΤΩΝ ΜΗ ΙΣΧ Υ ΡΟ Σ ΤΥΠΟΣ ΟΝΤΟΤΗΤΩΝ ΤΥΠΟΣ ΣΥΣΧΕΤΙΣΕΩΝ ΤΥΠΟΣ ΠΡΟΣ ΙΟΡΙΖΟΥΣΑΣ ΣΥΣΧΕΤΙΣΗΣ ΓΝΩΡΙΣΜΑ ΓΝΩΡΙΣΜΑ-ΚΛΕΙ Ι ΠΛΕΙΟΤΙΜΟ ΓΝΩΡΙΣΜΑ ΣΥΝΘΕΤΟ ΓΝΩΡΙΣΜΑ ΠΑΡΑΓΟΜΕΝΟ ΓΝΩΡΙΣΜΑ ΟΛΙΚΗ ΣΥΜΜΕΤΟΧΗ ΤΗΣ Ε 2 ΣΤΗΝ R Ε 1 Ε 2 R ΛΟΓΟΣ ΠΛΗΘΙΚΟΤΗΤΑΣ 1:Ν Ε 1 1 Ν R Ε 2 82
ΛΟΓΙΚΟΣ ΣΧΕ ΙΑΣΜΟΣ - ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΛΟΓΙΚΟΣ ΣΧΕ ΙΑΣΜΟΣ - ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 83
ΛΟΓΙΚΟΣ ΣΧΕ ΙΑΣΜΟΣ - ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Ο Σχεδιασµός µιας Β απαιτεί την ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της την περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα όπως το Μοντέλο Οντοτήτων - Συσχετίσεων τη Μετατροπή του µοντέλου Ο-Σ σε σχεσιακό µοντέλο --> είσοδο σε ένα ΣΣ Β Εννοιολογικός Σχεδιασµός Εννοιολογικό Σχήµα διάγραµµα Οντοτήτων-Συσχετίσεων Εξάρτηση από το Σ Β Λογικός Σχεδιασµός Λογικό Σχήµα και Εξωτερικές Όψεις Σχεσιακό Μοντέλο δεδοµένων 84
ΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Το σχεσιακό µοντέλο πρωτοπαρουσιάσθηκε από τον Ted Codd της IBM Research το 1970 σε µια κλασική εργασία [Codd 1970] και τα πρώτα συστήµατα που βασίστηκαν σε αυτό ήταν τα INGRES και System/R. Το σχεσιακό µοντέλο είναι τώρα το κυρίαρχο µοντέλο σε όλες σχεδόν τις υλοποιήσεις βάσεων δεδοµένων. Μία σχεσιακή βάση δεδοµένων αποτελείται από µία συλλογή από κανονικοποιηµένους πίνακες (σχέσεις) που έχουν µοναδικά ονόµατα. 85