Κεφάλαιο 3 Σχεσιακό Μοντέλο

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κεφάλαιο 3 Σχεσιακό Μοντέλο"

Transcript

1 Κεφάλαιο 3 Σχεσιακό Μοντέλο Στο κεφάλαιο αυτό παρουσιάζεται το σχεσιακό µοντέλο βάσεων δεδοµένων, και αναλύονται τα δοµικά του χαρακτηριστικά, οι βασικές του ιδιότητες, και ο τρόπος µε τον οποίο µπορεί να προκύψει από το µοντέλο οντοτήτων συσχετίσεων. Το σχεσιακό µοντέλο αναπαράστασης των δεδοµένων µιας εφαρµογής (relational data model) καθιερώθηκε από τον Codd το 1970 και αποτέλεσε ένα από τα πιο απλά και ευέλικτα µοντέλα αυτού του είδους. Σε αυτό το µοντέλο, τα δεδοµένα µιας εφαρµογής αναπαρίστανται ως ένα σύνολο από σχέσεις (relations) οι οποίες µπορεί να είναι πίνακες ή αρχεία. Στις πιο πολλές περιπτώσεις υιοθετείται η χρήση πινάκων (tables) που περιέχουν ένα πλήθος γραµµών (rows) και στηλών (columns). Η κάθε µια από αυτές τις γραµµές οι οποίες στην ορολογία του µοντέλου ονοµάζονται και πλειάδες (tuples) περιέχει ένα σύνολο απλών πεδίων (attributes) τα οποία συσχετίζονται µεταξύ τους. Επειδή όπως θα δούµε στις επόµενες παραγράφους οι πίνακες χρησιµοποιούνται για την αναπαράσταση των τύπων οντοτήτων καθώς και των τύπων συσχετίσεων που υφίστανται ανάµεσά τους, µπορούµε να θεωρήσουµε κάθε µια από τις γραµµές ενός πίνακα σαν ένα στιγµιότυπο οντότητας ή συσχέτισης ανάλογα µε το αντικείµενο στο οποίο αναφέρεται. Χαρακτηριστικό παράδειγµα ενός πίνακα όπως αυτός ορίζεται από το σχεσιακό µοντέλο, παρουσιάζεται στη συνέχεια. STUDENT Name SSN Home Address Office Age GPA Phone Phone Bayer Bluebonnet Lane NULL Ashly Kirby Road NULL David NULL 3452 Elgin Road Cooper Lark Lane Benson Fontana Lane NULL Πίνακας 2 : Παράδειγµα πίνακα στο σχεσιακό µοντέλο αναπαράστασης δεδοµένων Στον παραπάνω πίνακα η κάθε πλειάδα ή εγγραφή (record) αναφέρεται και σε ένα ξεχωριστό στιγµιότυπο του τύπου οντότητας STUDENT. Η κάθε µια από αυτές τις εγγραφές αποτελείται από ένα σύνολο χαρακτηριστικών ή πεδίων τα οποία

2 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 30 λαµβάνουν συγκεκριµένες τιµές, διαφορετικές εν γένει για κάθε εγγραφή. Έτσι, ο πίνακας STUDENT περιέχει τα πεδία Name, SSN, Home Phone, Address, Office Phone, Age και GPA. Επειδή οι τιµές της κάθε στήλης αναφέρονται ουσιαστικά στο ίδιο πεδίο του πίνακα, είναι προφανές πως θα πρέπει να ανήκουν στον ίδιο τύπο δεδοµένων. ΘΕΜΕΛΙΩ ΕΙΣ ΟΡΙΣΜΟΙ ΤΟΥ ΣΧΕΣΙΑΚΟΥ ΜΟΝΤΕΛΟΥ Κάθε πεδίο ή στήλη ενός πίνακα, δέχεται τιµές οι οποίες ανήκουν σε ένα συγκεκριµένο και καθορισµένο εκ των προτέρων σύνολο τιµών (domain). Το είδος των τιµών αυτού του συνόλου καθορίζεται από τον τύπο δεδοµένων του πεδίου του πίνακα, ο οποίος µε τη σειρά του ορίζεται κατά το στάδιο της λογικής σχεδίασης της εφαρµογής. Έτσι, ένα πεδίο που εκφράζει την ηλικία, θα αναπαρίσταται από µια ακέραια ποσότητα. Όσον αφορά το σύνολο των επιτρεπτών τιµών για αυτό το πεδίο, αυτό εξαρτάται και πάλι από τη φύση του προβλήµατος. Για παράδειγµα, σε ένα πρόγραµµα κοινωνικής ασφάλισης οι ηλικίες των ασφαλισµένων θα κυµαίνονται από 18 έως 65, διότι υποθέτουµε πως οι εργαζόµενοι είναι ενήλικες που εργάζονται µέχρι τα 65 τους χρόνια. Αντίθετα στο πρόγραµµα καταχώρησης στοιχείων ασθενών σε ένα νοσοκοµείο, η ηλικία του ασθενή µπορεί να είναι οποιαδήποτε. Σε ορισµένες περιπτώσεις είναι δυνατό να καθορίσουµε όχι µόνο το εύρος των τιµών για ένα πεδίο, αλλά και τη µορφή που θα έχουν οι τιµές που καταχωρούνται σε αυτό. Για παράδειγµα, ένας αριθµός αυτοκινήτου αποτελείται από τρία γράµµατα και τέσσερα ψηφία π.χ. TKE Στην περίπτωση αυτή µπορούµε να γράψουµε τη µορφή των τιµών του πεδίου ως TTT-DDDD όπου το σύµβολο T υποδηλώνει χαρακτήρα (text) και παίρνει τιµές στο διάστηµα Α-Ζ, ενώ το σύµβολο D, υποδηλώνει ψηφίο (digit) και παίρνει τιµές στο διάστηµα 0-9. Άλλες φορές πάλι είναι δυνατό να καθορίσουµε και κάποιες επιπλέον πληροφορίες. Για παράδειγµα σε µια εφαρµογή που καταχωρούµε αριθµητικές τιµές για διάφορες περιπτώσεις πεδίων, ίσως χρειαστεί να καθορίσουµε και τη µονάδα µέτρησης της τιµής, κάτι που συνηθίζεται σε όλα σχεδόν τα προγράµµατα που χρησιµοποιούνται στο χώρο των επιχειρήσεων για ε- φαρµογές µηχανογράφησης. Ορισµός 1 : Ως σχήµα µιας σχέσης (relation schema) R, ορίζεται ένα σύνολο πεδίων {A 1, A 2,,A n } κάθε ένα εκ των οποίων παίρνει τιµές µέσα από ένα σύνολο τιµών (domain) D για κάθε πεδίο A i, το πεδίο τιµών του, D, θα συµβολίζεται µε dom(a i ). Το πλήθος των πεδίων του συνόλου R ονοµάζεται βαθµός (degree) της σχέσης, ενώ η συµβολοσειρά R, είναι το όνοµα της σχέσης. Ένα παράδειγµα µιας σχέσης είναι ο πίνακας STUDENT που περιγράψαµε στην προηγούµενη παράγραφο, και ο οποίος σύµφωνα µε τον παραπάνω ορισµό, µπορεί να γραφεί µε τη µορφή STUDENT {Name, SSN, HomePhone, Address, OfficePhone, Age, GPA} Στη σύνταξη αυτή, R = «STUDENT» είναι το όνοµα της σχέσης η οποία στην προκειµένη περίπτωση, έχει επτά πεδία, κάθε ένα εκ των οποίων, παίρνει τιµές µέσα από κάποιο σύνολο, D. Ορισµός 2 : Ως σχέση ή στιγµιότυπο σχέσης (relation instance) r, του σχή- µατος σχέσης R (A 1, A 2,,A n ) ορίζεται ένα σύνολο από πλειάδες r = {t 1, t 2, t 3,

3 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 31, t m }. Κάθε πλειάδα είναι µια διατεταγµένη λίστα (ordered list) από n τιµές <v 1, v 2,..,v n >, µε την κάθε τιµή v i (1 i n), να παίρνει τιµές από το πεδίο τιµών dom(ai), ενώ εναλλακτικά µπορεί να πάρει και την τιµή NULL. Ένα στιγµιότυπο r ενός σχήµατος σχέσης R, µπορεί να γραφεί και ως r(r). Επειδή το κάθε στιγµιότυπο σχέσης αποτελείται από ένα σύνολο n πεδίων A i κάθε ένα εκ των οποίων παίρνει τιµές µέσα από ένα σύνολο τιµών dom(a i ), µπορού- µε να θεωρήσουµε πως το σύνολο των πλειάδων που συνιστά το στιγµιότυπο σχέσης r(r), είναι υποσύνολο του καρτεσιανού γινοµένου των συνόλων dom(a i ), και εποµένως θα ισχύει η συνθήκη r(r) ( dom(a 1 ) Χ dom(a 2 ) Χ.. Χ dom(a n ) ) Είναι σηµαντικό να αναφερθεί στο σηµείο αυτό πως η διάταξη (ordering) των πλειάδων σε µια σχέση, δεν έχει καµιά σηµασία. Αυτό γίνεται διότι µια σχέση ορίζεται ως ένα σύνολο από πλειάδες, και σύµφωνα µε τον ορισµό του συνόλου, τα στοιχεία του δε χρειάζεται να είναι διατεταγµένα. Αντίθετα, µια πλειάδα, αποτελείται από ένα πλήθος διατεταγµένων πεδίων, και εποµένως η σειρά µε την οποία αναγράφονται οι τιµές µιας πλειάδας είναι σηµαντική. Χρησιµοποιώντας εναλλακτικούς ορισµούς για το στιγµιότυπο σχέσης, µπορούµε να επανακαθορίσουµε τα βασικά της χαρακτηριστικά έτσι ώστε να άρουµε την προϋπόθεση της διάταξης των πεδίων µιας πλειάδας αυτό το θέµα όµως δεν θα µας απασχολήσει περισσότερο. Ολοκληρώνουµε αυτή τη συνοπτική περιγραφή των βασικών χαρακτηριστικών του σχεσιακού µοντέλου, µε την παρατήρηση, πως οι τιµές που καταχωρούνται σε µια πλειάδα, θα πρέπει να είναι ατοµικές (atomic) να µην υποδιαιρούνται δηλα- δή σε µικρότερες µονάδες πληροφορίας. Σύνθετες τιµές δεδοµένων, δεν µπορούν να χρησιµοποιηθούν αλλά θα πρέπει να γραφούν µε τρόπο που να µην παραβιάζει την παραπάνω αρχή. Αυτός ο τρόπος φορµαλισµού ενός πίνακα έτσι ώστε όλα του τα πεδία να έχουν ατοµικές τιµές, αναφέρεται και ως πρώτη κανονική µορφή (1 st Normal Form, 1NF) και θα µελετηθεί στο επόµενο κεφάλαιο. Τέλος, όπως έχουµε ήδη αναφέρει, για όσα πεδία δεν γνωρίζουµε ή δεν διαθέτουµε την τιµή που τα χαρακτηρίζει, χρησιµοποιούµε για αυτά την τιµή NULL. ΠΕ ΙΑ ΚΛΕΙ ΙΑ : Ένα από τα βασικά χαρακτηριστικά µιας σχέσης είναι η µοναδικότητα κάθε µιας από τις πλειάδες που περιέχει. Αυτό σηµαίνει πως όλες οι πλειάδες είναι διαφορετικές µεταξύ τους και σε καµιά περίπτωση δεν πρόκειται να καταχωρήσουµε δυο φορές την ίδια πλειάδα. Επειδή όµως µια πλειάδα είναι ένα σύνολο πεδίων, µπορούµε γενικά να θεωρήσουµε πως σε κάθε µια από τις πλειάδες ενός πίνακα, υπάρχει ένας συνδυασµός πεδίων µε την ακόλουθη ιδιότητα: ο συνδυασµός των τιµών αυτών των πεδίων είναι µοναδικός για κάθε εγγραφή. Το σύνολο αυτών των πεδίων ονοµάζεται superkey του σχεσιακού σχήµατος στο οποίο αναφερό- µαστε. Από τον παραπάνω ορισµό είναι προφανές πως η κάθε πλειάδα διαθέτει τουλάχιστον ένα superkey : το σύνολο των πεδίων που περιέχει. Εάν θεωρήσουµε τώρα ένα superkey τέτοιο ώστε η αφαίρεση έστω και ενός από τα πεδία του να άρει την ιδιότητα της µοναδικότητας της τιµής του δηλαδή η τιµή του να µην είναι πλέον

4 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 32 µοναδική για κάθε πλειάδα τότε αυτό το superkey ονοµάζεται πεδίο κλειδί (key) του σχεσιακού σχήµατος. Με άλλα λόγια, το πεδίο κλειδί µιας σχέσης είναι ένα superkey από το οποίο δεν µπορούµε να αφαιρέσουµε κανένα πεδίο (minimal superkey). Από τα όσα αναφέραµε στις προηγούµενες παραγράφους, γίνεται εύκολα α- ντιληπτό πως η τιµή του πεδίου κλειδιού είναι µοναδική για κάθε πλειάδα, και εποµένως µπορεί να χρησιµοποιηθεί για να ξεχωρίσουµε τις πλειάδες µιας σχέσης µεταξύ τους. Ας σηµειωθεί πως στη γενική περίπτωση µπορεί να υπάρχουν περισσότερα από ένα πεδία που να µπορούν να χρησιµοποιηθούν ως πεδία κλειδιά µιας σχέσης. Τα πεδία αυτά ονοµάζονται υποψήφια κλειδιά (candidate keys) και ένα από αυτά επιλέγεται για να γίνει το πρωτεύον κλειδί (primary key) του σχήµατος της σχέσης. Όσον αφορά το πιο από τα πεδία της σχέσης θα επιλεγεί για να γίνει το πρωτεύον κλειδί, αυτό εξαρτάται από τη µορφή της πληροφορίας που διατηρούµε για κάθε σχέση. Στη γενική περίπτωση ως πρωτεύον κλειδί επιλέγουµε ένα πεδίο που να λαµβάνει ξεχωριστή τιµή για κάθε πλειάδα, π.χ. αριθµός ταυτότητας, αριθµός αυτοκινήτου, κ.λ.π. Στις σελίδες που ακολουθούν και κάθε φορά που αναφερόµαστε στη δοµή κάποιου πίνακα, το πρωτεύον κλειδί του πίνακα, θα είναι υπογραµµισµένο. ΣΧΕΣΙΑΚΟ ΣΧΗΜΑ ΒΑΣΗΣ Ε ΟΜΈΝΩΝ Με βάση το σχήµα µιας σχέσης R που ορίσαµε στις προηγούµενες παραγρά- µ πορούµε τώρα να επεκτείνουµε τον παραπάνω ορισµό και να ορίσουµε το φους, σχεσιακό σχήµα µιας βάσης δεδοµένων. Έτσι ως σχεσιακό σχήµα µιας βάσης δεδοµένων (relational database schema), S, ορίζουµε ένα σύνολο σχηµάτων σχέσεων S = {R 1, R 2,..,R m } και ένα σύνολο κανόνων ακεραιότητας (integrity constraint) για αυτά τα σχήµατα. Ένα στιγµιότυπο του σχεσιακού σχήµατος της βάσης δεδοµένων (relational database instance) ορίζεται ως ένα σύνολο στιγµιότυπων σχέσεων {r 1, r 2,.,r m } µε το κάθε στιγµιότυπο r i της σχέσης R i να υπακούει στους κανόνες ακεραιότητας του σχεσιακού σχήµατος της βάσης. Το επόµενο σχήµα αναπαριστά το σχεσιακό σχήµα της βάσης δεδοµένων της εταιρείας που µελετήσαµε στο προηγούµενο κεφάλαιο ενώ σε επόµενη σελίδα παρατίθεται και ένα ενδεικτικό στιγµιότυπο αυτού του σχήµατος, που για κάθε έναν από τους πίνακες της βάσης περιλαµβάνει ένα πλήθος εγγραφών µε συγκεκριµένες τιµές πεδίων. EMPLOYEE F NAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DEPARTMENT DEPT_LOCATIONS DNAME DNUMBER MGRSSN MGRSTARTDATE DNUMBER DLOCATION

5 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 33 DEPENDENT ESSN DEPENDENT-NAME SEX BDATE RELATIONSHIP PROJECT WORKS_ON PNAME PNUMBER PLOCATION DNUM ESSN PNO HOURS Σχήµα 8 : Το σχεσιακό σχήµα για τη βάση δεδοµένων της εταιρείας ΚΑΝΟΝΕΣ ΑΚΕΡΑΙΟΤΗΤΑΣ: Οι κανόνες ακεραιότητας (integrity constraints) ενός σχεσιακού σχήµατος µιας βάσης δεδοµένων, διασφαλίζουν τη συνέπεια των δεδοµένων της βάσης, και ισχύουν για κάθε στιγµιότυπό της. Ο πρώτος από αυτούς τους κανόνες (key constraint) επιβάλλει την απόδοση µοναδικών τιµών σε όλα τα πεδία του πίνακα που έχουν χαρακτηριστεί ως υποψήφια κλειδιά (candidate keys). Με άλλα λόγια δεν θα πρέπει να υπάρχουν στον ίδιο πίνακα, δύο εγγραφές που να έχουν την ίδια τιµή στα υποψήφια κλειδιά τους και προφανώς στο πρωτεύον κλειδί τους που είναι κάποιο από αυτά. Ο δεύτερος κανόνας (entity integrity constraint) απαγορεύει την απόδοση της τιµής NULL, στο πρωτεύον κλειδί της κάθε εγγραφής του πίνακα. Αυτό γίνεται επειδή ως γνωστόν το πρωτεύον κλειδί µας επιτρέπει να ξεχωρίσουµε τις εγγραφές του πίνακα, και εποµένως εάν δύο εγγραφές έχουν τιµή NULL στο πρωτεύον κλειδί τους, δεν είναι δυνατή η διάκριση ανάµεσά τους. Τέλος, ο τρίτος κανόνας (referential integrity constraint) αναφέρεται στις συσχετίσεις που υφίστανται ανάµεσα στους πίνακες της βάσης. Ο κανόνας αυτός λέει ότι εάν η τιµή κάποιου πεδίου µιας από τις εγγραφές ενός πίνακα αναφέρεται σε εγγραφή κάποιου άλλου πίνακα, αυτή θα πρέπει να είναι µια υπάρχουσα εγγραφή. Ας πάρουµε για παράδειγµα την πρώτη εγγραφή του πίνακα EMPLOYEE. Αυτή η εγγραφή, στο πεδίο DNO έχει την τιµή 5, κάτι που σηµαίνει πως ο συγκεκριµένος υπάλληλος, εργάζεται στο τµήµα της εταιρείας µε κωδικό αριθ- µό 5. Στην περίπτωση αυτή ο τρίτος κανόνας ακεραιότητας επιβάλλει την ύπαρξη στον πίνακα DEPARTMENT µιας εγγραφής το πρωτεύον κλειδί της οποίας να έχει την τιµή 5. Εάν δεν υπάρχει αυτή η εγγραφή, τότε η εγγραφή στον πίνακα EMPLOYEE αναφέρεται σε κάποιο ανύπαρκτο τµήµα, µε αποτέλεσµα τελικά να οδηγούµαστε σε µια βάση µε ασυνεπή δεδοµένα (inconsistent data). Η συσχέτιση ανάµεσα σε δύο πίνακες µιας σχεσιακής βάσης δεδοµένων, µας επιτρέπει να ορίσουµε ένα επιπλέον τύπο κλειδιού, που ονοµάζεται ξένο κλειδί (foreign key). Ένα πεδίο ενός πίνακα Α ονοµάζεται ξένο κλειδί, όταν αποτελεί πρωτεύον κλειδί κάποιου άλλου πίνακα Β και έχει τοποθετηθεί στον πίνακα Α ως αποτέλεσµα της συσχέτισης που υφίσταται ανάµεσα στους πίνακες Α και Β σύµφωνα µε το µοντέλο οντοτήτων συσχετίσεων. Ας πάρουµε για παράδειγµα τη συσχέτιση ανάµεσα στους τύπους οντότητας DEPARTMENT και EMPLOYEE. Επειδή η συσχέτιση αυτή έχει πολλαπλότητα 1:Ν µπορούµε να την υλοποιήσουµε, τοποθετώντας το πρωτεύον κλειδί του πίνακα DEPARTMENT που είναι το πεδίο

6 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 34 πρωτεύον κλειδί του πίνακα DEPARTMENT που είναι το πεδίο DNUMBER στον πίνακα EMPLOYEE (µε το όνοµα DNO). Στην περίπτωση αυτή

7 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 35 ο τρίτος κανόνας ακεραιότητας µπορεί να διατυπωθεί µε τη µορφή EMPLOYEE.DNO = DEPARTMENT.DNUMBER και εποµένως, η τιµή του πεδίου DNO σε κάθε εγγραφή του πίνακα EMPLOYEE θα πρέπει να αναφέρεται σε κάποια υπάρχουσα εγγραφή του πίνακα DEPARTMENT. Εάν η συσχέτιση ανάµεσα σε τύπους οντότητας είναι αναδροµική (recursive), ορίζεται δηλαδή ανάµεσα σε δύο αντίγραφα του ίδιου τύπου οντότητας, τότε, το ξένο κλειδί του πίνακα, αναφέρεται σε κάποια εγγραφή του ίδιου πίνακα. Αυτό συµβαίνει για παράδειγµα µε το πεδίο SUPERSSN του πίνακα EMPLOYEE που αναφέρεται στον επόπτη (supervisor) του κάθε υπαλλήλου της εταιρείας. Αυτός ο επόπτης όµως, είναι και ο ίδιος υπάλληλος της εταιρίας, και εποµένως η εγγραφή που αναφέρεται σε αυτόν, βρίσκεται και αυτή στον πίνακα EMPLOYEE. Αυτό ση- µαίνει πως το πεδίο SUPERSSN είναι ξένο κλειδί που αναφέρεται σε κάποια εγγραφή η οποία βρίσκεται στον ίδιο πίνακα και η οποία ασφαλώς θα πρέπει να υ- πάρχει σύµφωνα µε τον τρίτο κανόνα ακεραιότητας. Για παράδειγµα το πεδίο SUPERSSN του υπαλλήλου John Smith έχει τιµή Αυτό σηµαίνει πως θα πρέπει στον ίδιο πίνακα να υπάρχει κάποιος εργαζόµενος µε SSN ίσο µε αυτός ο εργαζόµενος πράγµατι υπάρχει και είναι ο Franklin Wong, και εποµένως στην περίπτωση αυτή, ο τρίτος κανόνας ακεραιότητας ικανοποιείται. Ένας απλός και εύκολος τρόπος για να ορίσουµε τις συσχετίσεις ανάµεσα στα πρωτεύοντα και στα ξένα κλειδιά των πινάκων σύµφωνα µε τον τρίτο κανόνα ακεραιότητας, είναι να τροποποιήσουµε την εικόνα του σχεσιακού σχήµατος της βάσης προσθέτοντας προσανατολισµένες ευθείες που να ξεκινούν από το ξένο κλειδί κάποιου πίνακα και να καταλήγουν στο αντίστοιχο πρωτεύον κλειδί του πίνακα µε το οποίο συσχετίζονται. Αυτή η εικόνα για το σχεσιακό σχήµα της βάσης δεδοµένων της εταιρείας παρουσιάζεται στην επόµενη εικόνα. (Σχήµα 9). EMPLOYEE FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DEPARTMENT DEPT_LOCATIONS DNAME DNUMBER MGRSSN MGRSTARTDATE DNUMBER DLOCATION PROJECT WORKS_ON PNAME PNUMBER PLOCATION DNUM ESSN PNO HOURS DEPENDENT ESSN DEPENDENT-NAME SEX BDATE RELATIONSHIP

8 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 36 ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΦΑΡΜΟΓΗΣ ΤΩΝ ΚΑΝΟΝΩΝ ΑΚΕΡΑΙΟΤΗΤΑΣ Από την παραπάνω ανάλυση είναι προφανές πως κάθε φορά που λαµβάνει χώρα απόπειρα τροποποίησης του περιεχοµένου της βάσης δεδοµένων, θα πρέπει να διασφαλίζεται η τήρηση των τριών κανόνων ακεραιότητας που έχουµε ορίσει στην προηγούµενη ενότητα. Σε όλες περιπτώσεις, η τροποποίηση του περιεχοµένου µιας βάσης θα περιλαµβάνει διαδικασίες εισαγωγής νέων εγγραφών (insert operation), διαγραφής υπαρχόντων εγγραφών των πινάκων (delete operation) ή τροποποίησης του περιεχοµένου αυτών των εγγραφών (update operation). Κάθε φορά που ο χρήστης προσπαθεί να πραγµατοποιήσει αυτές τις τρεις κατηγορίες ενεργειών, το σύστηµα διαχείρισης βάσεων δεδοµένων, ελέγχει εάν αυτές οι ενέργειες παραβιάζουν ή όχι τους κανόνες ακεραιότητας του σχήµατος της βάσης, και επιτρέπει την εκτέλεσή τους, µόνο όταν αυτοί οι κανόνες δεν παραβιάζονται. Στις επόµενες σελίδες παρουσιάζονται παραδείγµατα εισαγωγής, διαγραφής και τροποποίησης εγγραφών των πινάκων για τη βάση δεδοµένων της εταιρείας, και εφαρµογή επί αυτών, των κανόνων ακεραιότητας, προκειµένου να ελεγχθεί εάν αυτοί παραβιάζονται ή τηρούνται από αυτές τις ενέργειες. Παραδείγµατα εισαγωγής εγγραφών (insert operation) Insert < Cecilia, F, Kolonsky, , 05-Apr-50, 6357 Windy Lane, Katy, TX, F, 28000, NULL, 4> into EMPLOYEE Αυτή η διαδικασία δεν παραβιάζει κανέναν από τους κανόνες ακεραιότητας και είναι αποδεκτή από το σύστηµα. Insert < Alicia, J, Zelaya, , 05-Apr-50, 6357 Windy Lane, Katy, TX, F, 28000, , 4> into EMPLOYEE Αυτή η διαδικασία παραβιάζει τον πρώτο κανόνα ακεραιότητας (key constraint) επειδή υπάρχει ήδη στον πίνακα EMPLOYEE κάποιος άλλος υπάλληλος µε το ίδιο πρωτεύον κλειδί (SSN). Για το λόγο αυτό δεν γίνεται αποδεκτή από το σύστηµα. Insert < Cecilia, F, Kolonsky, NULL, 05-Apr-50, 6357 Windy Lane, Katy, TX, F, 28000, NULL, 4> into EMPLOYEE Αυτή η διαδικασία παραβιάζει το δεύτερο κανόνα ακεραιότητας (entity constraint) διότι η εγγραφή που επιχειρούµε να καταχωρήσουµε έχει τιµή NULL στο πρωτεύον κλειδί της. Για το λόγο αυτό δεν γίνεται αποδεκτή από το σύστηµα. Insert < Cecilia, F, Kolonsky, , 05-Apr-50, 6357 Windy Lane, Katy, TX, F, 28000, , 7> into EMPLOYEE Αυτή η διαδικασία παραβιάζει τον τρίτο κανόνα ακεραιότητας διότι αναφέρεται σε τµήµα της εταιρείας µε κωδικό αριθµό 7, αλλά στον πίνακα DEPARTMENT δεν υπάρχει κάποια εγγραφή το πρωτεύον κλειδί της οποίας να έχει την τιµή 7. Για το λόγο αυτό δεν γίνεται αποδεκτή από το σύστηµα.

9 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 37 Παραδείγµατα διαγραφής εγγραφών (delete operation) DELETE the WORKS_ON tuple with SSN= AND PNO = 10 Αυτή η διαδικασία δεν παραβιάζει κανέναν από τους κανόνες ακεραιότητας και είναι αποδεκτή από το σύστηµα. DELETE the EMPLOYEE tuple with SSN= Αυτή η διαδικασία δεν είναι αποδεκτή, διότι υπάρχουν εγγραφές στον πίνακα WORKS_ON που αναφέρονται στην εγγραφή που επιθυµούµε να διαγράψουµε, και εποµένως η διαγραφή της θα οδηγήσει σε παραβίαση του τρίτου κανόνα ακεραιότητας (referential integrity constraint). DELETE the EMPLOYEE tuple with SSN = Αυτή η διαδικασία δεν είναι αποδεκτή, διότι υπάρχουν εγγραφές στους πίνακες EMPLOYEE, DEPARTMENT, WORKS_ON και DEPENDENT που αναφέρονται στην εγγραφή που επιθυµούµε να διαγράψουµε, και εποµένως η διαγραφή της θα οδηγήσει σε παραβίαση του τρίτου κανόνα ακεραιότητας (referential integrity constraint). Από τους τρεις κανόνες ακεραιότητας που περιγράψαµε στις προηγούµενες σελίδες, η διαδικασία της διαγραφής εγγραφών από κάποιο πίνακα, παραβιάζει µόνο τον τρίτο κανόνα, σε περιπτώσεις κατά τις οποίες επιχειρούµε να διαγράψουµε µια εγγραφή στην οποία αναφέρονται εγγραφές άλλων πινάκων τις βάσης. Στις περιπτώσεις αυτές έχουµε γενικά τρεις επιλογές: (α) να απαγορεύσουµε τη διαγραφή αυτής της πλειάδας, (β) να διαγράψουµε εκτός από την εν λόγω πλειάδα και όλες τις πλειάδες των άλλων πινάκων που αναφέρονται σε αυτή (cascade delete operation) και (γ) να µη διαγράψουµε τις πλειάδες των άλλων πινάκων αλλά να τροποποιήσουµε το περιεχόµενό τους τοποθετώντας τιµές NULL στα πεδία που αναφέρονται στην πλειάδα που επιχειρούµε να διαγράψουµε (referencing attributes). Ας σηµειωθεί πως για να είναι δυνατή η πραγµατοποίηση της τρίτης επιλογής δεν θα πρέπει να πεδία που θα λάβουν την τιµή NULL να αποτελούν τµήµα του πρωτεύοντος κλειδιού του πίνακα, διότι στην περίπτωση αυτή θα παραβιαστεί ο πρώτος κανόνας ακεραιότητας (key constraint). Παραδείγµατα τροποποίησης εγγραφών (modify operation) MODIFY the SALARY of the EMPLOYEE tuple with SSN = to Αυτή η διαδικασία δεν παραβιάζει κανέναν από τους κανόνες ακεραιότητας και είναι αποδεκτή από το σύστηµα. MODIFY the DNO of the EMPLOYEE tuple with SSN = to 1 Αυτή η διαδικασία δεν παραβιάζει κανέναν από τους κανόνες ακεραιότητας και είναι αποδεκτή από το σύστηµα.

10 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 38 MODIFY the DNO of the EMPLOYEE tuple with SSN = to 7 Αυτή η διαδικασία παραβιάζει τον τρίτο κανόνα ακεραιότητας (referential integrity constraint) και δεν γίνεται αποδεκτή από το σύστηµα MODIFY the SSN of the EMPLOYEE tuple with SSN = to Αυτή η διαδικασία παραβιάζει τον πρώτο κανόνα ακεραιότητας (key constraint) και δεν γίνεται αποδεκτή από το σύστηµα. ΑΠΕΙΚΟΝΙΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΣΤΟ ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Έχοντας περιγράψει το µοντέλο οντοτήτων συσχετίσεων και το σχεσιακό µοντέλο βάσεων δεδοµένων, µπορούµε τώρα να µελετήσουµε τον τρόπο µε τον ο- ποίο είναι δυνατή η δηµιουργία του σχεσιακού µοντέλου µιας βάσης δεδοµένων, από το µοντέλο οντοτήτων συσχετίσεων που έχουµε δηµιουργήσει για αυτή τη βάση. Αυτή η διαδικασία είναι γνωστή ως απεικόνιση (mapping) του ενός µοντέλου στο άλλο και είναι ένα από τα πιο σηµαντικά στάδια του λογικού σχεδιασµού µιας βάσης δεδο- µένων. Η παρουσίαση του αλγόριθµου µετατροπής του ενός µοντέλου στο άλλο, θα γίνει και πάλι δια της χρήσης του παραδείγµατος της βάσης δεδοµένων της εταιρείας (company database). Το σχήµα αυτής της βάσης, όπως έχουµε δει σε προηγούµενο κεφάλαιο, περιλαµβάνει τέσσερις τύπους οντότητας (EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT (µε τον τελευταίο τύπο οντότητας να είναι weak entity)) και πέντε τύπους συσχέτισης (WORKS_FOR, SUPERVISION, DEPENDENTS_OF (µε πολλαπλότητα 1:Ν), MANAGES (µε πολλαπλότητα 1:1), WORKS_ON (µε πολλαπλότητα Μ:Ν)). Για κάθε τύπο οντότητας ορίσαµε το πρωτεύον κλειδί ενώ σε κάθε περίπτωση εκτός από τα απλά πεδία, εντοπίσαµε τόσο σύνθετα πεδία (composite attributes) όσο και πεδία πολλαπλών τιµών (multivalued attributes). Όσον αφορά τον τρόπ ο αλληλεπίδρασης ανά- µεσα στους τύπους οντότητας της βάσης, αυτός σε γενικές γραµµές, έχει ως εξής : Κάθε υπάλληλος εργάζεται µόνο σε ένα τµήµα αλλά µπορεί να απασχολείται σε πολλά έργα (projects) ταυτόχρονα. Μπορεί να έχει υπό την εποπτεία του πολλούς υπαλλήλους αλλά ο ίδιος παρακολουθείται από ένα µόνο επόπτη. Τέλος είναι δυνατό να εποπτεύει ο ίδιος κάποιο τµήµα (αλλά µόνο ένα τµήµα κάθε φορά) και µπορεί να έχει πολλά προστατευόµενα µέλη. Τα στοιχεία που κρατούµε για κάθε υπάλληλο, είναι το όνοµά του, ο κωδικός SSN, η ηµεροµηνία γέννησής του, το φύλο του, και ο µισθός του. Κάθε τµήµα περιγράφεται από ένα όνοµα, ένα κωδικό και ένα σύνολο από τοποθεσίες στις οποίες είναι εγκατεστηµένο. Ένα τµήµα διευθύνεται από ένα και µοναδικό manager αλλά µπορεί να διαθέτει πολλούς υπαλλήλους που να εργάζονται για αυτό. Τέλος το κάθε ένα από τα τµήµατα της εταιρείας, µπορεί γενικά να αναλάβει πολλά έργα ταυτόχρονα.

11 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 39 Κάθε έργο παρακολουθείται από ένα και µόνο τµήµα αλλά πραγµατοποιείται από πολλούς υπαλλήλους ταυτόχρονα. Ένα έργο περιγράφεται από το όνοµά του, τον κωδικό του, και την τοποθεσία στην οποία πραγµατοποιείται. Τέλος το κάθε προστατευόµενο µέλο ς συσχετίζεται µε ένα και µοναδικό υπάλληλο. Με βάση την παραπάνω περιγραφή όσον αφορά τη δοµή και τη λειτουργία της εταιρείας, κατασκευάσαµε το µοντέλο οντοτήτων συσχετίσεων για αυτό το σύστηµα (σελ. 27) ενώ σε προηγούµενη ενότητα δηµιουργήσαµε και το αντίστοιχο σχεσιακό σχήµα της βάσης δεδοµένων (σελ. 35). Η απεικόνιση του ενός µοντέλου στο άλλο πραγµατοποιείται δια της εφαρµογής µιας διαδικασίας έξι βηµάτων, τα οποία σε γενικές γραµµές είναι τα ακόλουθα : ΒΗΜΑ 1 : Για κάθε τύπο οντότητας Ε του µοντέλου οντοτήτων συσχετίσεων, δηµιουργούµε ένα πίνακα R που να περιλαµβάνει όλα τα απλά πεδία του τύπου ο- ντότητας. Τα πεδία πολλαπλών τιµών (multivalued attributes) δεν χρησιµοποιούνται ακόµη. Εάν κάποιο πεδίο του Ε είναι σύνθετο προσθέτουµε µόνο τα απλά πεδία από τα οποία αποτελείται. Στη συνέχεια επιλέγουµε κάποιο από τα πεδία κλειδιά του Ε και το ορίζουµ ε ως το πρωτεύον κλειδί του πίνακα R. Εάν αυτό το πεδίο είναι σύνθετο, τότε και το πρωτεύον κλειδί του πίνακα θα είναι σύνθετο κλειδί, και θα αποτελείται από περισσότερα από ένα πεδία. Στη δοµή των πινάκων της βάσης που παρουσιάζεται στις επόµενες σελίδες, τα πρωτεύοντα κλειδιά των πινάκων εµφανίζονται υπογραµµισµένα. Στο παράδειγµά µας, από τους τρεις τύπους οντότητας EMPLOYEE, DEPARTMENT και PROJECT (ο τύπος οντότητας DEPENDENT είναι weak entity type και θα αναλυθεί αργότερα) δηµιουργούµε τους τρεις αντίστοιχους πίνακες (που φέρουν τα ίδια ονόµατα). Με βάση τα όσα αναφέραµε στην προηγούµενη παράγραφο αυτοί οι πίνακες θα έχουν την ακόλουθη δοµή. EMPLOYEE {FNAME, MINIT, LNAME, SSN, BDATE, ADDRESS, SALARY} DEPARTMENT {DNAME, DNUMBER} PROJECT {PNAME, PNUMBER, PLOCATION} ΒΗΜΑ 2 : Για κάθε αδύναµο τύπο οντότητας (weak entity type) W του µοντέλου οντοτήτων συσχετίσεων, εντοπίζουµε την οντότητα κάτοχο (owner entity) Ε από την οποία εξαρτάται. Στη συνέχεια για τον τύπο οντότητας W, δηιουργούµε ένα πίνακα R, ο οποίος περιλαµβάνει όλα τα απλά πεδία του W. Εάν ο µ τύπος W περιέχει σύνθετα πεδία (composite attributes), τότε όπως και στην προηγούµενη περίπτωση προσθέτουµε µόνο τα απλά πεδία από τα οποία αυτά αποτελούνται. Στη συνέχεια προσθέτουµε στον πίνακα R το πρωτεύον κλειδί του πίνακα που έχουµε ήδη δηµιουργήσει στο Βήµα 1 για την οντότητα κάτοχο του W. Επειδή αυτό το πεδίο είναι πρωτεύον κλειδί σε κάποιο άλλο πίνακα, θα συµµετάσχει στον πίνακα R, ως ξένο κλειδί (foreign key). Το πρωτεύον κλειδί του πίνακα R, θα είναι σύνθετο, και θα αποτελείται από το συνδυασµό του ξένου κλειδιού που θα προσθέσουµε

12 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 40 και του µερικού κλειδιού (partial key) που έχουµε ήδη ορίσει κατά το στάδιο δηµιουργίας του µοντέλου οντοτήτων συσχετίσεων. Στο παράδειγµά µας έχουµε ένα µόνο αδύναµο τύπο οντότητας, τον DEPENDENT, για τον οποίο η οντότητα κάτοχος είναι ο EMPLOYEE. ηµιουρ- γούµε λοιπόν ένα νέο πίνακα µε το όνοµα DEPENDENT και προσθέτουµε σε αυτόν όλα τα απλά πεδία του αντίστοιχου τύπου οντότητας. Από το διάγραµµα οντοτήτων συσχετίσεων, διαπιστώνουµε πως τα πεδία αυτά είναι τα {Name, Sex, BirthDate}. Στη συνέχεια προσθέτουµε το πρωτεύον κλειδί του πίνακα EMPLOYEE που έχου- µε δηµιουργήσει στο Βήµα 1 για την οντότητα κάτοχο του DEPENDENT που είναι ο EMPLOYEE. Τ ο πεδίο αυτό είναι το SSN αλλά στον πίνακα DEPENDENT θα προστεθεί µε το όνοµα ESSN. Επειδή το partial key του DEPENDENT είναι το DEPENDENT_NAME, έπεται πως το πρωτεύον κλειδί του πίνακα DEPENDENT θα είναι το σύνθετο κλειδί ESSN + DEPENDENT_NAME. Έτσι η δοµή του πίνακα DEPENDENT θα είναι η ακόλουθη : DEPENDENT {ESSN, DEPENDENT_NAME, SEX, BDATE} ΒΗΜΑ 3 : Για κάθε τύπο συσχέτισης R, η οποία έχει βαθµό 2 (ορίζεται δη- ανάµεσα σε δύο οντότητες) και πολλαπλότητα 1:1, εντοπίζουµε τους πίνακες λαδή που έχουµε δηµιουργήσει στο Βήµα 1, για τους δύο τύπους οντότητας που συµµετέχουν σε αυτή τη σχέση. Έστω ότι αυτοί οι πίνακες φέρουν τα ονόµατα R και S. Στη συνέχεια, διαλέγουµε τον ένα από τους δύο πίνακες (για παράδειγµα τον R) και προσθέτουµε σε αυτόν, το πρωτεύον κλειδί του πίνακα S. Είναι προφανές πως αυτό το πεδίο θα συµµετέχει στον πίνακα R ως ξένο κλειδί. Επίσης στον πίνακα R, θα προσθέσουµε εκτός από το ξένο κλειδί και όλα τα πεδία που ενδεχοµένως έχουµε ο- ρίσει για τον τύπο συσχέτισης R (relationship attributes). Το ερώτηµα που τίθεται στο σηµείο αυτό αφορά το κριτήριο επιλογής του πίνακα στον οποίο θα προσθέσουµε τα επιπλέον πεδία. Στις πιο πολλές περιπτώσεις αυτό το κριτήριο έχει να κάνει µε τον τύπο συµµετοχής του κάθε τύπου οντότητας στον τύπο συσχέτισης R. Έτσι είναι κοινή πρακτική να επιλέγουµε εκείνο τον πίνακα, για τον οποίο ο αντίστοιχος τύπος οντότητας χαρακτηρίζεται από ολική συµµετοχή (total participation) στον θεωρούµενο τύπο συσχέτισης. Εάν και οι δύο τύποι οντότητας παρουσιάζουν ολική συµµετοχή και επιπλέον δεν συµµετέχουν σε άλλο τύπο συσχέτισης, µπορούµε εναλλακτικά να ενοποιήσουµε τους αντίστοιχους πίνακες και τα πεδία του τύπου συσχέτισης σε ένα και µοναδικό πίνακα. Στο παράδειγµά µας έχουµε µόνο ένα τύπο συσχέτισης µε πολλαπλότητα 1:1 που φέρει το όνοµα MANAGES, ορίζεται ανάµεσα στους τύπους οντότητας EMPLOYEE και DEPARTMENT, και επιπλέον περιέχει και ένα πεδίο, µε το όνο- µα StartDate. Επειδή ο EMPLOYEE χαρακτηρίζεται από µερική συµµετοχή σε αυτόν τον τύπο συσχέτισης, ενώ αντίθετα το DEPARTMENT χαρακτηρίζεται από ολική συµµετοχή, προσθέτουµε στον πίνακα DEPARTMENT, τόσο το πρωτεύον κλειδί του πίνακα EMPLOYEE που είναι το SSN (αλλά µε το όνοµα MGRSSN) όσο και το πεδίο StartDate του τύπου συσχέτισης MANAGES (αλλά µε το όνοµα MgrStartDate). Έτσι τελικά ο πίνακας DEPARTMENT θα αποκτήσει τη δοµή DEPARTMENT {NAME, DNUMBER, MGRSSN, MGRSTARTDATE}

13 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 41 ΒΗΜΑ 4 : Για κάθε τύπο συσχέτισης R η οποία έχει βαθµό 2 και πολλαπλότητα 1 :Ν, εντοπίζουµε τον πίνακα που έχουµε δηµιουργήσει (στο Βήµα 1) για τον τύπο οντότητας που βρίσκεται στην «Ν πλευρά» της συσχέτισης. Σε αυτόν τον πίνακα, προσθέτουµε ως ξένο κλειδί, το πρωτεύον κλειδί του πίνακα που αντιστοιχεί στον άλλο τύπο οντότητας (αυτόν που βρίσκεται στην «1 πλευρά» της συσχέτισης). Στο παράδειγµά µας, έχουµε τρεις τύπους συσχέτισης µε πολλαπλότητα 1:Ν. Τον τύπο συσχέτισης WORKS_FOR ανάµεσα στους τύπους οντότητας DEPARTMENT και EMPLOYEE, τον τύπο συσχέτισης CONTROLS ανάµεσα στους τύπους οντότητας DEPARTMENT και PROJECT και τον τύπο συσχέτισης SUPERVISION που είναι αναδροµικός και ορίζεται ανάµεσα σε δύο αντίγραφα του τύπου οντότητας EMPLOYEE. Η εφαρµογή του Βήµατος 4 σε αυτούς τους τύπους συσχέτισης, θα έχει τα ακόλουθα αποτελέσµατα. Στον τύπο συσχέτισης WORKS_FOR, ένα DEPARTMENT διαθέτει πολλούς EMPLOYEES. Σύµφωνα µε τον παραπάνω αλγόριθµο, θα πρέπει να προσθέσουµε το πρωτεύον κλειδί του πίνακα DEPARTMENT στον πίνακα EMPLOYEE (στην προσθήκη αυτή το πεδίο DNUMBER προστίθεται µε το όνοµα DNO). Μετά την εφαρµογή αυτού του βήµατος η δοµή του πίνακα EMPLOYEE θα λάβει τη µορφή EM PLOYEE {FNAME, MINIT, LNAME, SSN, BDATE, ADDRESS, SALARY, DNO} Στον τύπο συσχέτισης SUPERVISION, ένας MANAGER εποπτεύει πολλούς υπαλλήλους. Αυτό σηµαίνει πως θα πρέπει να προσθέσουµε το πρωτεύον κλειδί του π ίνακα που αντιπροσωπεύει τον MANAGER στον πίνακα EMPLOYEE. Επειδή όµως ο MANAGER είναι και αυτός EMPLOYEE, αυτό σηµαίνει πως θα πρέπει να προσθέσουµε το πεδίο SSN που είναι το πρωτεύον κλειδί του EMPLOYEE στον πίνακα EMPLOYEE. Κατά την προσθήκη αυτή το πεδίο SSN προστίθεται στον πίνακα EMPLOYEE µε το όνοµα SUPERSSN. Μετά από αυτή την διαδικασία, ο πίνακας EMPLOYEE θα αποκτήσει τη δοµή EMPLOYEE {FNAME, MINIT, LNAME, SSN, BDATE, ADDRESS, SALARY, SUPERSSN, DNO} Τέλος, στον τύπο συσχέτισης CONTROLS, ένα DEPARTMENT ελέγχει γενικά πολλά PROJECTS. Αυτό σηµαίνει πως θα πρέπει να προσθέσουµε το πρωτεύον κλειδί του πίνακα DEPARTMENT στον πίνακα PROJECT. Η προσθήκη αυτού του πεδίου γίνεται µε το όνοµα DNO. Έτσι, η δοµή του πίνακα PROJECT θα λάβει τη µορφή PRO JECT {PNAME, PNUMBER, PLOCATION, DNO ΒΗΜ Α 5 : Για κάθε τύπο συσχέτισης µε πολλαπλότητα Μ:Ν, δηµιουργούµε ένα πίνακα R, στον οποίο προσθέτουµε ως ξένα κλειδιά, τα πρωτεύοντα κλειδιά των πινάκων που έχουµε δηµιουργήσει (στο Βήµα 1) για τους τύπους οντότητας που συµµετέχουν σε αυτόν τον τύπο συσχέτισης. Επίσης προσθέτουµε και όλα τα πεδία που ενδεχοµένως έχουµε ορίσει για αυτή τη συσχέτιση (relationship attributes). Το πρωτεύον κλειδί του πίνακα R που δηµιουργήσαµε, είναι σύνθετο κλειδί και αποτε-

14 Κεφάλαιο 3 : Σχεσιακό Μοντέλο 42 λείται από το συνδυασµό των πρωτευόντων κλειδιών των δύο πινάκων που έχουµε προσθέσει στον πίνακα R. Στο παράδειγµά µας, η µοναδική σχέση που υφίσταται µε πολλαπλότητα M:Ν, είναι η σχέση WORKS_ON, που συσχετίζει τον τύπο οντότητας EMPLOYEE µε τον τύπο οντότητας PROJECT. Τα πρωτεύοντα κλειδιά των οµώνυµων πινάκων που αναπαριστούν αυτούς τους δύο τύπους οντότητας είναι το SSN και το PNUMBER αντίστοιχα. Σύµφωνα µε τον αλγόριθµο που περιγράψαµε στην προηγούµενη παράγραφο, δηµιουργούµε ένα νέο πίνακα µε το όνοµα WORKS_ON, και προσθέτουµε σε αυτόν τα προαναφερόµενα πρωτεύοντα κλειδιά, αλλά µε τα ονόµατα ESSN και PNO. Επίσης από το µοντέλο οντοτήτων συσχετίσεων, διαπιστώνουµε πως ο τύπος συσχέτισης WORKS_ON, περιλαµβάνει και ένα πεδίο µε το όνοµα HOURS το προσθέτουµε λοιπόν και αυτό. Το πρωτεύον κλειδί του νέου πίνακα WORKS_ON είναι σύνθετο και αποτελείται από το συνδυασµό των πεδίων ESSN και PNO. Έτσι, τελικά, ο πίνακας WORKS_ON, θα έχει την ακόλουθη δοµή : WORKS_ON {ESSN, PNO, HOURS} ΒΗΜΑ 6 : Για κάθε πεδίο πολλαπλής τιµής (multivalued attribute), A, δη- µιουργούµε ένα καινούριο πίνακα, R, ο οποίος περιέχει το πεδίο Α, καθώς και το πρωτεύον κλειδί του πίνακα που έχουµε δηµιουργήσει στο Βήµα 1, για τον τύπο ο- ντότητας που διαθέτει το πεδίο Α. Εάν το πεδίο Α είναι σύνθετο πεδίο, τότε τοποθετούµε στο νέο πίνακα R, όλα τα απλά πεδία από τα οποία αποτελείται. Το πρωτεύον κλειδί του πίνακα R, είναι σύνθετο κλειδί, και αποτελείται από το πεδίο A, και από το ξένο κλειδί που έχουµε προσθέσει στο νέο πίνακα, σύµφωνα µε την παραπάνω διαδικασία. Στο παράδειγµά µας, το µοναδικό πεδίο πολλαπλής τιµής, είναι το πεδίο Locations του τύπου οντότητας DEPARTMENT. ηµιουργούµε λοιπόν ένα πίνακα στο παράδειγµά µας τον ονοµάζουµε DEPT_LOCATIONS ο οποίος περιέχει το πεδίο Locations (µε το όνοµα DLOCATION) και το πρωτεύον κλειδί του πίνακα DEPARTMENT που έχουµε δηµιουργήσει στο Βήµα 1 για τον οµώνυµο τύπο οντότητας (µε το όνοµα DNUMBER). Το πρωτεύον κλειδί του πίνακα DEPT_LOCATIONS είναι σύνθετο κλειδί και αποτελείται από το συνδυασµό των πεδίων DNUMBER + DLOCATION. Έτσι τελικά, ο πίνακας DEPT_LOCATIONS θα παρουσιάζει την ακ όλουθη δοµή : DEPT_LOCATIONS {DNUMBER, DLOCATION} Ξεκινώντας λοιπόν από το µοντέλο οντοτήτων συσχετίσεων (σελ. 27) και εφαρµόζοντας τα παραπάνω έξι βήµατα, κατασκευάσαµε τελικά το σχεσιακό σχήµα για τη βάση δεδοµένων της εταιρείας (σελ 35). Στην επόµενη σελίδα, παρουσιάζεται ξανά το ίδιο σχήµα, χωρίς τις συσχετίσεις των πεδίων όπως αυτές υπαγορεύονται από τον τρίτο κανόνα ακεραιότητας, αλλά µε σαφή χαρακτηρισµό των πεδίων του κάθε πίνακα, από όπου µπορεί κανείς να καταλάβει, ποια πεδία προήλθαν από άλλους πίνακες (foreign keys) καθώς και ποια πεδία έχουν προστεθεί, ως πεδία κάποιας συσχέτισης (relationship attributes).

15 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 43 EMPLOYEE f.k f.k FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DEPARTMENT DEPT_LOCATIONS f.k rel.attr f.k DNAME DNUMBER MGRSSN MGRSTARTDATE DNUMBER DLOCATION DEPENDENT f.k ESSN DEPENDENT-NAME SEX BDATE RELATIONSHIP PROJECT f.k WORKS_ON f.k f.k rel.attr PNAME PNUMBER PLOCATION DNUM ESSN PNO HOURS Σχήµα 10 : Το σχεσιακό σχήµα για τη βάση δεδοµένων της εταιρείας Στο σχήµα αυτό, τα πεδία που φέρουν την ένδειξη f.k είναι ξένα κλειδιά (foreign keys) ενώ τα πεδία µε την ένδειξη rel.attr είναι πεδία πού έχουν προέλθει από τύπους συσχετίσεων. Τα πεδία αυτών των δύο κατηγοριών έχουν προστεθεί στους πίνακες της βάσης κατά τη διαδικασία µετατροπής του µοντέλου οντοτήτων συσχετίσεων σε σχεσιακό µοντέλο βάσεων δεδοµένων.

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

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Το Σχεσιακό Μοντζλο Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το

Διαβάστε περισσότερα

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων

Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων Κεφάλαιο 2 Μοντέλο Οντοτήτων Συσχετίσεων Στο κεφάλαιο αυτό παρουσιάζεται το µοντέλο οντοτήτων συσχετίσεων, µια από τις πιο σηµαντικές διαγραµµατικές τεχνικές που µας επιτρέπουν να καθορίσουµε τη δοµή της

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

Διαβάστε περισσότερα

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Κλειδιά (keys) Key (κλειδί) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές Σούπερκλειδί (superkey) Ένα πεδίο ορισµού ή

Διαβάστε περισσότερα

Κεφάλαιο 9 Συσχετίσεις

Κεφάλαιο 9 Συσχετίσεις Κεφάλαιο 9 Συσχετίσεις Το κεφάλαιο αυτό διαπραγµατεύεται τη δηµιουργία και διαχείριση των συσχετίσεων που υφίστανται ανάµεσα στους πίνακες µιας σχεσιακής βάσης δεδοµένων. Όπως έχει ήδη αναφερθεί, ο ρόλος

Διαβάστε περισσότερα

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ

Σχεσιακό Μοντέλο Τα πρώτα συστήµατα Βάσεων δεδοµένων ήταν βασισµένα στο ιεραρχικό ή στο δικτυακό µοντέλο δεδοµένων. Το σχεσιακό µοντέλο πρωτοπαρουσιάσ ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 3ο Σχεσιακό µοντέλο, Σχεσιακές βάσεις δεδοµένων, Σχεσιακό σχήµα βάσης δεδοµένων (Relational

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Περιεχόμενο Διάλεξης Κεφάλαιο 5: Το Σχεσιακό Μοντέλο Δεδομένων Περιορισμοί Σχεσιακού Μοντέλου

Διαβάστε περισσότερα

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συσχετίσεις, Ρόλοι και Δομικοί Περιορισμοί

Διαβάστε περισσότερα

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αλγόριθμος Αντιστοίχισης ER/EER σε Σχεσιακό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση

Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση Κεφάλαιο 4 Λογικός Σχεδιασµός Κανονικοποίηση Στο κεφάλαιο αυτό παρουσιάζονται οι βασικοί κανόνες σχεδίασης της δοµής των πινάκων στο σχεσιακό µοντέλο, και αναλύεται η τεχνική της κανονικοποίησης που είναι

Διαβάστε περισσότερα

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 6 SQL Στο κεφάλαιο αυτό παρουσιάζεται η δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, SQL) που χρησιµοποιείται για τη διαχείριση των δεδοµένων της βάσης. Η διαχείριση αυτή περιλαµβάνει

Διαβάστε περισσότερα

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο Fig 3.1 Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο Χρησιµοποιείται για την εννοιολογική ανάλυση µιας εφαρµογής. Για τον ορισµό του λογικού σχήµατος Ένα εργαλείο (tool) το οποίο επιτρέπει

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 5: ER II Data Modeling Using the ER Model (Chapter 3.4-3.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σχεσιακό Μοντέλο Βάσης Δεδομένων Βασικές Αρχές Θεμελιώδη Μαθηματικά Λειτουργίες Αναβάθμισης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 11 Ερωτήµατα

Κεφάλαιο 11 Ερωτήµατα Κεφάλαιο 11 Ερωτήµατα Στο κεφάλαιο αυτό περιγράφεται ο τρόπος δηµιουργίας και διαχείρισης ερωτηµάτων µέσα από το περιβάλλον της Microsoft Access. Όπως έχει ήδη αναφερθεί σε προηγούµενο κεφάλαιο, ένας από

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (3 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (3 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Σχεσιακό μοντέλο δεδομένων Σχέσεις, γνωρίσματα, πλειάδες, πεδία ορισμού Πράξεις ενημέρωσης σε σχέσεις Απεικόνιση μοντέλου οντοτήτωνσυσχετίσεων

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model .. Εργαστήριο Βάσεων Δεδομένων Relational Model . Σχεσιακό Μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις Μια σχέση είναι ένας πίνακας με διακριτό όνομα Κάθε

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο. Εισαγωγή. Βάσεις εδοµένων : Σχεσιακό Μοντέλο 1 Σχεσιακό Μοντέλο Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή O σχεδιασμός μιας βάση δεδομένων κωδικοποιεί κάποιο μέρος του φυσικού κόσμου Ένα μοντέλο δεδομένων είναι ένα σύνολο από έννοιες για

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα Εισαγωγή Σχεσιακό Μοντέλο Σχεδιασμός μιας Β : Βήματα Ανάλυση Απαιτήσεων Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

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

ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΕΙ ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΥΛΟΠΟΙΗΣΗ ΜΙΑΣ ΣΧΕΣΙΑΚΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ME TRANSACT SQL Α. Παράδειγμα Εφαρμογής Βάσης δεδομένων[1] Για να κατανοηθεί

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση. Εισαγωγή Σχεσιακό Μοντέλο Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 4: ER I Data Modeling Using the ER Model (Chapter 3.1-3.3, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

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

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Παράδειγμα Σχέσης attributes

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Εισαγωγή Μέχρι τώρα είδαμε πως μοντελοποιούμε εννοιολογικά τις απαιτήσεις των χρηστών, με χρήση

Διαβάστε περισσότερα

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

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

Διαβάστε περισσότερα

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων

Διαβάστε περισσότερα

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

Εισαγωγή. Σχεδιασµός µιας Β Σχεδιασµός µιας Β Εισαγωγή ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων (κεφ. 3) γραφικό

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

Διαβάστε περισσότερα

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

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Σχεσιακή Άλγεβρα Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων & Μοντέλο ER ER-Μοντέλο ER-Διαγράμματα-1 EER Μοντέλο

Διαβάστε περισσότερα

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων

Διαβάστε περισσότερα

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε

Η εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε ιάγραµµα Οντοτήτων - Συσχετίσεων Παύλος Εφραιµίδης Βάσεις εδοµένων ιάγραµµα Ο-Σ 1 Σχεδιασµός µιας Βάσης εδοµένων Τα βασικά βήµατα για το σχεδιασµό και την ανάπτυξη µιας Βάσης εδοµένων είναι: Ανάλυση Απαιτήσεων

Διαβάστε περισσότερα

Κεφάλαιο 5 Σχεσιακή Άλγεβρα

Κεφάλαιο 5 Σχεσιακή Άλγεβρα Κεφάλαιο 5 Σχεσιακή Άλγεβρα Στο κεφάλαιο αυτό παρουσιάζονται οι θεµελιώδεις πράξεις της σχεσιακής άλγεβρας που χρησιµοποιούνται για τη διαχείριση των δεδοµένων των πινάκων µιας σχεσιακής βάσης δεδοµένων.

Διαβάστε περισσότερα

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

Σχεδιασμός μιας Β : Βήματα Σχεσιακό Μοντέλο 1 Εισαγωγή Ανάλυση Απαιτήσεων Σχεδιασμός μιας Β : Βήματα Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα δεδομένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασμός

Διαβάστε περισσότερα

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

#5. Σχεσιακό Μοντέλο 22Γ901 Βάσεις Δεδομένων και Γνώσεων 9ο Εξάμηνο Κύκλου Σπουδών ΗΥ και Μεταπτυχιακός Κύκλος Σπουδών Διδάσκων: Ν. Αβούρης Β μέρος Διαφανειών μαθήματος (2005-2006) Ν. Αβούρης- Βάσεις Δεδομένων και Γνώσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Lecture 8: RM I + RA I

Lecture 8: RM I + RA I Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM I + RA I Relational Model + Relational Algebra (Chapter 5.2-5.3, 6.1 Elmasri-Navathe 7ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

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

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 4ο Η γλώσσα βάσεων δεδοµένων SQL, η γλώσσα QBE. Αθανασίου Ειρήνη, MSc 1 Εισαγωγή Mια

Διαβάστε περισσότερα

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

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Σχεσιακό Μοντέλο Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis) Εισαγωγή Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές

Διαβάστε περισσότερα

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

Σχεδίαση Σχεσιακών ΒΔ Σχεδίαση Σχεσιακών ΒΔ Εισαγωγή: Μοντελοποίηση, Σχεδιασμός και Ανάπτυξη Βάσεων Δεδομένων Σχεδιασμός ΒΔ Εννοιολογικός σχεδιασμός το Μοντέλο Οντοτήτων Συσχετίσεων (Entity Relationship Model) Λογικός σχεδιασμός

Διαβάστε περισσότερα

Lecture 23: Functional Dependencies and Normalization

Lecture 23: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 23: Functional Dependencies and Normalization Normalization and Normal Forms (Chapter 10.3-10.4, Elmasri-Navathe 5ED) ιδάσκων:

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δομικοί Περιορισμοί σε Συσχετίσεις (Structural Constraints on Relationships) Δομικοί Περιορισμοί

Διαβάστε περισσότερα

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

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Συσχέτιση πινάκων (εισαγωγή ξένων κλειδιών) Δρ. Μαρία Ευθυμιοπούλου 1. Εμφάνιση πινάκων στο Workspace Στο προηγούμενο εργαστήριο

Διαβάστε περισσότερα

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

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Κανονικοποίηση Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

τουργικών χαρακτηριστικών πού έχουν µετατρέψει την αλληλεπίδραση του χρήση µε την εφαρµογή σε µια εύκολη και ευχάριστη διαδικασία.

τουργικών χαρακτηριστικών πού έχουν µετατρέψει την αλληλεπίδραση του χρήση µε την εφαρµογή σε µια εύκολη και ευχάριστη διαδικασία. Κεφάλαιο 10 Φόρµες Στο κεφάλαιο αυτό περιγράφεται ο τρόπος µε τον οποίο είναι δυνατή η δηµιουργία διαλόγων αλληλεπίδρασης µε το χρήση και η διαχείριση των δεδοµένων της εφαρµογής µέσα από ένα εύχρηστο

Διαβάστε περισσότερα

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων. Relational Model Σχεσιακό Μοντέλο Εργαστήριο Βάσεων Δεδομένων Relational Model Σχεσιακό Μοντέλο Σχεσιακό μοντέλο (Relational Model) Το σχεσιακό μοντέλο παρουσιάζει μια βάση ως συλλογή από σχέσεις. Μια σχέση είναι ένας πίνακας με διακριτό

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

Διαβάστε περισσότερα

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

Μοντέλο Οντοτήτων-Συσχετίσεων Εισαγωγή Εισαγωγή Σχεδιασµός µιας Β ανάλυση ποιας πληροφορίας και της σχέσης ανάµεσα στα στοιχεία της περιγραφή της δοµής - σχήµα σε διάφορους συµβολισµούς ή µοντέλα Μοντέλο Οντοτήτων - Συσχετίσεων γραφικό

Διαβάστε περισσότερα

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

Το Σχεσιακό Μοντέλο. Βάσεις Δεδομένων 2014-2015. Ευαγγελία Πιτουρά 1 Το Σχεσιακό Μοντέλο Ευαγγελία Πιτουρά 1 Μοντελοποίηση Σχήμα (database schema): η περιγραφή της δομής της πληροφορίας που είναι αποθηκευμένη στη βδ με τη χρήση ενός μοντέλου δεδομένων Μοντέλο Δεδομένων:

Διαβάστε περισσότερα

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

Μοντέλο Οντοτήτων-Συσχετίσεων Εισαγωγή Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός Υψηλού-επιπέδου

Διαβάστε περισσότερα

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Θα

Διαβάστε περισσότερα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 7: RM I. Relational Data Model. (Chapter , Elmasri-Navathe 5ED) Department of Computer Science University of Cyprus EPL342 Databases Lecture 7: RM I Relational Data Model (Chapter 5.1-5.2, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model)

Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model) Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship Model) Συνάθροιση (Aggregation) Ενας από τους περιορισμούς του μοντέλου οντοτήτων-σχέσεων είναι ότι δεν είναι δυνατός ο ορισμός σχέσεων μεταξύ σχέσεων Τέτοιες

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης της Microsoft Access 2000 1

Εγχειρίδιο Χρήσης της Microsoft Access 2000 1 Εγχειρίδιο Χρήσης της Microsoft Access 2000 1 ΗΜΙΟΥΡΓΙΑ ΝΕΑΣ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ (NEW DATABASE) Για να δηµιουργήσουµε µια νέα βάση δεδοµένων ξεκινούµε τη Microsoft Access 2000 από το Start Menu ή τη Γραµµή

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΧΕΣΙΑΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων του μαθήματος 2 Δρ. Λεωνίδας Φραγγίδης Τμήμα Διοίκησης Επιχειρήσεων ΤΕΙ ΑΜΘ Email: fragidis@teiemt.gr Ώρες Γραφείου: Τρίτη (10:00 12:00) Προτεινόμενα Βιβλία 3 Σχεσιακές

Διαβάστε περισσότερα

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ

ΠΕΛΑΤΗΣ ΠΑΡΑΓΓΕΛΙΑ ΠΡΟΪΟΝ ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 2ο Σχεσιακό µοντέλο (E-R model), ιάγραµµα οντοτήτων συσχετίσεων (E-R diagram), Σχεσιακό

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Βάσεις Δεδομένων Σταύρος Βαλσαμίδης svalsam@teikav.edu.gr Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι:

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 4: Μοντελοποίηση Συσχέτισης Οντοτήτων Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης

Διαβάστε περισσότερα

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Περιεχόμενα Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Κανονικοποιήση (Normalization) και Κανονικές Μορφές (Normal

Διαβάστε περισσότερα

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

Σχεσιακό Μοντέλο Δεδομένων Σχεσιακό Μοντέλο Δεδομένων Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακό Μοντέλο Δεδομένων 1 Μοντέλα Δεδομένων Μοντέλα Δεδομένων Σχεσιακό Ιεραρχικό Δικτυακό Tο κυρίαρχο μοντέλο δεδομένων στις σύγχρονες βάσεις

Διαβάστε περισσότερα

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

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Δίαυλος Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 5-1 Κεφάλαιο 5 Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων Copyright 2007 Ramez Elmasri and Shamkant B. Navathe 1 Θα μιλήσουμε για

Διαβάστε περισσότερα

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δηµιουργούµε ένα σχήµα σχέσης που

Διαβάστε περισσότερα

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

Στο κεφάλαιο αυτό περιγράφεται η τρόπος δηµιουργίας και διαχείρισης πινάκων µέσα από το περιβάλλον της Microsoft Κεφάλαιο 8 Πίνακες Στο κεφάλαιο αυτό περιγράφεται η τρόπος δηµιουργίας και διαχείρισης πινάκων µέσα από το περιβάλλον της Microsoft Access. Η δηµιουργία ενός πίνακα (table) µέσα από τη Microsoft Access,

Διαβάστε περισσότερα

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος MONTEΛΟΠΟΙΗΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ A ΜΕΡΟΣ Ιόνιο Πανεπιστήμιο Ανάπτυξη ΒΔ και το Μοντέλο E-R Σελίδα 1 Εισαγωγικά για την Μοντελοποίηση ΜΟΝΤΕΛΑ Εννοιολογικά

Διαβάστε περισσότερα

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

Μοντέλο Οντοτήτων-Συσχετίσεων Μοντέλο Οντοτήτων-Συσχετίσεων 1 Εισαγωγή Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα

Διαβάστε περισσότερα

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access

Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Κεφάλαιο 7 Εισαγωγή στη Microsoft Access Το κεφάλαιο αυτό περιλαµβάνει µια συνοπτική εισαγωγή στην Microsoft Access 2000, που είναι και το σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων µε το οποίο θα ασχοληθούµε.

Διαβάστε περισσότερα

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

Διαβάστε περισσότερα

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL) Περιεχόμενα Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL Παύλος Εφραιμίδης Προχωρημένα Ερωτήματα SQL Συνένωση Συναθροιστικές Συναρτήσεις Ομαδοποίηση Βάσεις Δεδομένων SQL - Μέρος Τρίτο 1 Βάσεις Δεδομένων

Διαβάστε περισσότερα

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Εισαγωγή στις Έννοιες των Σχεσιακών Βάσεων Δεδομένων Introduction to Relational Database Concepts 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Ενότητα 5: Σημασιολογικός Σχεδιασμός. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Βάσεις Δεδομένων Ενότητα 5: Σημασιολογικός Σχεδιασμός Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries

Βάσεις Δεδομένων Σύνθετα SQL queries Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ασάφεια και Πλήρη Ονόματα Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

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

Διάγραμμα Οντοτήτων - Συσχετίσεων Διάγραμμα Οντοτήτων - Συσχετίσεων Παύλος Εφραιμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1 Σχεδιασμός μιας Βάσης Δεδομένων Τα βασικά βήματα για το σχεδιασμό και την ανάπτυξη μιας Βάσης Δεδομένων είναι: Ανάλυση

Διαβάστε περισσότερα

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Κανονικές Μορφές 8ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Κανονικές Μορφές Βάρσος Κωνσταντίνος 30 Νοεµβρίου 2017 Κανονικοποίηση Ορισµός 1. Κανονικοποίηση είναι µια διαδικασία

Διαβάστε περισσότερα

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1) Ασάφεια και Πλήρη Ονόματα Βάσεις Δεδομένων Σύνθετα SQL queries Παύλος Εφραιμίδης Βάσεις Δεδομένων SQL - Μέρος Δεύτερο 1 Ονόματα Πεδίων: Στην SQL, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

Διαβάστε περισσότερα

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: SQL Data Definition Language Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Επιπρόσθετοι Περιορισμοί Παραδείγματα/Ασκήσεις Διδάσκων: Παναγιώτης Ανδρέου EPL342:

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δένδρο Επερώτησης (Query Tree) Δένδρο Επερώτησης (Query Tree) Είναι μια δενδρική δομή που αντιστοιχεί

Διαβάστε περισσότερα

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Το Σχεσιακό Μοντέλο και Σχεσιακά Συστήµατα ιοίκησης Βάσεων εδοµένων Σύνοψη Άτυπος και Τυπικός Ορισµός του Μοντέλου οµές, Πράξεις, οµικοί

Διαβάστε περισσότερα

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 3η: Μοντέλο Οντοτήτων-Συσχετίσεων / Σχεσιακό Μοντέλο Δεδομένων Τμήμα Επιστήμης Υπολογιστών Μοντέλο Οντοτήτων Σχέσεων (Entity-Relationship

Διαβάστε περισσότερα

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης

Κανονικοποίηση. Άτυπες Οδηγίες. Παράδειγµα. Αξιολόγηση Σχεσιακών Σχηµάτων Β. Περιττές Τιµές και Ανωµαλίες Ενηµέρωσης Αξιολόγηση Σχεσιακών Σχηµάτων Β Κανονικοποίηση Παύλος Εφραιµίδης Βάσεις εδοµένων Κανονικοποίηση 1 Πως µπορούµε να κρίνουµε εάν ένα Σχεσιακό Σχήµα είναι καλό ή αποδοτικό ή αν έχει λάθη; Σε γενικές γραµµές

Διαβάστε περισσότερα

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

Βάσεις δεδομένων. (2 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (2 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Μοντελοποίηση δεδομένων Μοντέλο Οντοτήτων Συσχετίσεων Παραδείγματα Διαγραμματικές τεχνικές Συμβολισμοί Τριαδικές συσχετίσεις 2

Διαβάστε περισσότερα

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

2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Το Μοντέλο Οντοτήτων- Συσχετίσεων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Σχεδίαση Βάσεων

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

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

Διαβάστε περισσότερα