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

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

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

Transcript

1 Κεφάλαιο 5 Σχεσιακή Άλγεβρα Στο κεφάλαιο αυτό παρουσιάζονται οι θεµελιώδεις πράξεις της σχεσιακής άλγεβρας που χρησιµοποιούνται για τη διαχείριση των δεδοµένων των πινάκων µιας σχεσιακής βάσης δεδοµένων. Η σχεσιακή άλγεβρα (relational algebra) ορίζεται ως ένα σύνολο πράξεων µε τις οποίες µπορούµε να διαχειριστούµε τα δεδοµένα των πινάκων µιας σχεσιακής βάσης δεδοµένων. Αυτή η διαχείριση περιλαµ βάνει την επιλογή γραµµών και στηλών οι οποίες πληρούν κάποια συγκεκριµένα κριτήρια, τόσο από ένα α- πλό πίνακα όσο και από το συνδυασµό δύο ή περισσοτέρων πινάκων. Το αποτέλεσµα της εφαρµογής αυτών των πράξεων είναι ένας νέος πίνακας πάνω στον οποίο µπορούµε να εφαρµόσουµε και άλλες τέτοιες πράξεις. Με τον τρόπο αυτό είναι τελικά δυνατή η πραγµατοποίηση οποιασδήποτε ενέργειας, όσο πολύπλοκη και αν είναι. Από τη βασική θεωρία είναι γνωστό πως ένας πίνακας ορίζεται ως ένα µη διατεταγµένο σύνολο πλειάδων (tuples). Εφ όσον λοιπόν ο πίνακας διαθέτει όλες τις ιδιότητες ενός συνόλου, είναι προφανές πως µπορούµε να εφαρµόσουµε πάνω στους πίνακες της βάσης δεδοµένων, όλες τις γνωστές πράξεις από τη θεωρία συνόλων οι πράξεις αυτές είναι η ένωση (union), η τοµή (intersection), η διαφορά (difference) και το καρτεσιανό γινόµενο (Cartesian product). Η άλλη κατηγορία πράξεων που αποτελούν τµήµα της σχεσιακής άλγεβρας, περιλαµβάνει διαδικασίες οι οποίες έχουν οριστεί ειδικά για το σχεσιακό µοντέλο βάσεων δεδοµένων, όπως είναι η επιλογή (select), η προβολή (project), η σύζευξη (join) και η διαίρεση (division). Η αναλυτική περιγραφή όλων αυτών των πράξεων της σχεσιακής άλγεβρας, αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΠΡΑΞΗ ΤΗΣ ΕΠΙΛΟΓΗΣ (SELECT OPERATION) Η πράξη της επιλογής χρησιµοποιείται για να επιλέξει ένα σύνολο από πλειάδες κάποιου πίνακα οι οποίες ικανοποιούν µια συγκεκριµένη συνθήκη (selection condition). Εποµένως η πραγµατοποίησή της, απαιτεί τον καθορισµό τόσο του ονόµατος του πίνακα επί του οποίου θα εφαρµοσθεί ας σηµειωθεί πως η πράξη αυτή εφαρµόζεται µόνο σε ένα πίνακα (unary operation) όσο και της συνθήκης επιλογής που καθορίζει τις πλειάδες που θα εµφανιστούν στο τελικό αποτέλεσµα. Έτσι η πράξη αυτή καλείται µε τη σύνταξη σ <selection condition> (<relation name>)

2 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 66 Για παράδειγµα, εάν επιθυµούµε να ανακτήσουµε τους εργαζόµενους της ε- ταιρείας που εργάζονται στο τµήµα µε κωδικό 4 θα καλέσουµε την πράξη µε τη µορφή σ DNO=4 ενώ για να λάβουµε όλους τους εργαζόµενους της εταιρείας µε µισθό µεγαλύτερο από 30000, θα γράψουµε σ SALARY>30000 (EMPLOYEE) (EMPLOYEE) Στην παραπάνω σύνταξη, η συνθήκη επιλογής µπορεί να είναι όσο πολύπλοκη επιθυµούµε, ενώ επιπλέον έχουµε και τη δυνατότητα να καταχωρήσουµε το αποτέλεσµα σε ένα ενδιάµεσο πίνακα δια της χρήσης του τελεστή. Έτσι η πράξη RESULT σ DNO=5 AND SALARY>25000 (EMPLOYEE) επιλέγει τ ις πλειάδες του πίνακα EMPLOYEE που εργάζονται στο τµήµα µε κωδικό 5 και ο µισθός τους είναι µεγαλύτερος από 25000, και στη συνέχεια, καταχωρεί το αποτέλεσµα στον πίνακα RESULT. Εκτός από το σύµβολο της ισότητας, στην παραπάνω συνθήκη επιλογής, µπο- να χρησιµοποιηθούν όλοι οι γνωστοί τελεστές σύγκρισης {<,, >,, } µε την ρούν προϋπόθεση πως οι τιµές που παίρνουν τα πεδία πάνω στα οποία εφαρµόζονται, να είναι διατεταγµένες, έτσι ώστε να είναι δυνατή η εφαρµογή αυτών των τελεστών αυτό ισχύει πάντα όταν τα πεδία αυτά είναι αριθµο ί ή ηµεροµηνίες. Στην περίπτωση κατά την οποία τα πεδία της συνθήκης επιλογής είναι συµβολοσειρές, τότε χρησι- µοποιείται η αλφαβητική ταξινόµηση για τη σύγκρισή τους, ενώ όταν είναι αλφαριθµητικά, η σύγκρισή τους γίνεται µε βάση τους κώδικες ASCII των χαρακτήρων τους. Τέλος, όταν αναφερόµαστε σε πεδία τιµών τα οποία δεν είναι δυνατόν να ταξινοµηθούν, µπορούµε να χρησιµοποιήσουµε µόνο τους τελεστές {=, }. Για παράδειγµα εάν κάποιο από τα πεδία αναπαριστά κάποιο χρώµα που παίρνει τιµές από το σύνολο Color = {red, green, blue, black, yellow, white}, µπορούµε να χρησιµοποιήσουµε µόνο τους δύο προαναφερόµενους τελεστές, διότι δεν έχει νόηµα να πούµε πως κάποιο χρώµα είναι µεγαλύτερο ή µικρότερο από κάποιο άλλο αλλά µπορούµε να γράψουµε color = black ή color red. Εκτός από τους τελεστές σύγκρισης, σε µια συνθήκη επιλογής µπορούµε να χρησιµοποιήσουµε και τους λογικούς τελεστές AND, OR και NOT. Στην ειδική περίπτωση του τελεστή AND που χρησιµοποιείται για να συσχετίσει δύο πράξεις σύγκρισης τιµών, το αποτέλεσµα που θα προκύψει είναι το ίδιο µε εκείνο που θα παίρναµε εάν εφαρµόζαµε τη SELECT µε την πρώτη συνθήκη, και στον πίνακα που θα προέκυπτε, εφαρµόζαµε ξανά τη SELECT, αυτή τη φορά µε τη δεύτερη συνθήκη. Για παράδειγµα η πράξη RESULT σ DNO=5 AND SALARY>25000 (EMPLOYEE)

3 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 67 είναι ισοδύναµη µε την ακολουθία πράξεων σ ( RESULT DNO=5 σ SALARY>25000 (EMPLOYEE)) Ο τρόπος µε τον οποίο λειτο υργεί η SELECT, είναι ο εξής: η εντολή διαβάζει µια - µια τις πλειάδες του πίνακα και σε κάθε µία από αυτές εφαρµόζει τη συν- επιλογής. Για να το κάνει αυτό, διαβ άζει τις τιµές των πεδίων που εµφανί- ζονται στη συνθήκη επιλογής, και τις συγκρίνει µε τις αντίστοιχες που καθορίζο- θήκη νται στην εν λόγω συνθήκη. Εάν αυτή η συνθήκη ικανοποιείται, τότε αυτή η πλειάδα προστίθεται στο τελικό αποτέλεσµα στην αντίθετη περίπτωση απορρίπτεται. Επίσης είναι προφανές πως αφού η SELECT επιστρέφει πλειάδες, ο πίνακας που θα προκύψει ως αποτέλεσµα, θα έχει την ίδια δοµή µε τον πίνακα πάνω στον οποίο εφαρµόζεται η εντολή. Η ΠΡΑΞΗ ΤΗΣ ΠΡΟΒΟΛΗΣ (PROJECT OPERATION) Η πράξη της προβολής χρησιµοποιείται για να επιλέξει όχι γραµµές του πίνακα όπως η SELECT, αλλά στήλες. Με άλλα λόγια ο πίνακας που θα προκύψει ως αποτέλεσµα εφαρµογής της PROJECT, δεν θα έχει την ίδια δοµή µε τον πίνακα πάνω στον οποίο εφαρµόζεται, αλλά θα έχει γενικά λιγότερες στήλες. Εφ όσον η PROJECT χρησιµοποιείται για την επιλογή στηλών από ένα πίνακα, θα πρέπει να κληθεί µε τρόπο που να καθορίζει τόσο τον πίνακα πάνω στον ο- ποίο θα εφαρµοσθεί, όσο και τις στήλες αυτού του πίνακα που θα επιστρέψει. Έτσι, η εντολή PROJECT καλείται µε τη µορφή π <attribute list> (<relation name>) Ένα παράδειγ µα χρήσης της PROJECT είναι η κλήση της µε τη µορφή π LNAME, FNAME, SSN, ADDRESS (EMPLOYEE) που θα επιστρέψει αυτές τις τέσσερις στήλες του πίνακα EMPLOYEE οδηγώντας έτσι στο αποτέλεσµ α που ακολουθεί στη συνέχεια. Επίσης είναι προφανές πως η PROJECT - όπως κ αι η SELECT εφαρµόζεται µόνο σε ένα πίνακα κάθε φορά. FNAME LNAME SSN ADDRESS John Smith Fondren, Houston, TX Franklin Wong Vass, Houston, TX Alicia Zelaya Castle, Spring, TX Jennifer Wallace Berry, Bellaire, TX Ramesh Narayan Fire Oak, Humble, TX Joyce English Rice, Houston, TX Ahmad Jabbar Dallas, Houston, TX James Borg Stone, Houston, TX Στην περίπτωση κατά την οποί α η λίστα των στηλών που θέλουµε να ανακτήδεν περιλαµβάνει το πρωτεύον κλειδί του πίνακα, υπάρχει η πιθανότητα το τε- σουµε λικό αποτέλεσµ α να περιέχει επαναλαµβανόµενες εγγρ αφές. Στην περίπτωση αυτή η

4 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 68 PROJECT κρατά µόνο ένα αντίγραφο από κάθε εγγραφή, οδηγώντας έτσι σε ένα έγκυρο αποτέλεσµα. Η διαδικασία αυτή είναι γνωστή και ως εξάλειψη διπλοεγγραφών (duplicate elimination). Επειδή η εντολή SELECT επιστρέφει πλειάδες του πίνακα ενώ η PROJECT επιστρέφει στήλες, είναι προφανές πως εάν εφαρµόσουµε και τις δύο εντολές ταυτόχρονα πάνω σε κάποιο πίνακα, θα πάρουµε µόνο ένα τµήµα του το οποίο θα περιέχει ένα συγκεκριµένο αριθµό γραµµών και στηλών. Ένα παράδειγµα συνδυασµένης χρήσης της SELECT και της PROJECT είναι ο πίνακας που προκύπτει από την πράξη π LNAME, FNAME, SALARY (σ DNO=5 AND SALARY>25000 (EMPLOYEE)) και περιέχει τα ονόµατα και το µισθό των υπαλλήλων της εταιρείας που εργάζονται στο τµήµα µε κωδικό 5 και έχουν µισθό µεγαλύτερο από Το αποτέλεσµα αυτής της συνδυασµένης χρήσης των δύο εντολών παρουσιάζεται στον ακόλου- θο πίνακα: FNAME LNAME SALARY John Smith Franklin Wong Ramesh Narayan Ας σηµειωθεί πως εάν το επιθυµούµε, έχουµε τη δυνατότητα να µην χρησιµοποιήσουµε τις δύο εντολές µε αυτό το συνδυασµ ένο τρόπο σύνταξης, αλλά να εκτελέσουµε την πράξη σε δύο βήµατα, και χρησιµοποιώντας ένα ενδιάµεσο πίνακα. Έτσι µπορούµε να γράψουµε D EP5_EMPS σ DNO=5 AND SALARY>25000 (EMPLOYEE) RESULT π LNAME, FNAME, SALARY (DEP5_EMPS) µε τον πίνακα DEP5_EMPS να περιέχει το αποτέλεσµα εφαρµογής της SELECT πάνω στον πίνακα EMPLOYEE, και τον πίνακα RESULT να περιέχει το αποτέλεσµα της PROJECT πάνω στον πίνακα DEP5_EMPS. Τέλος είναι σηµαντικό να αναφέρουµε πως ο νέος πίνακας που προκύπτει από την χρήση των παραπάνω εντολών διατηρεί τα ίδια ονόµατα πεδίων µε τους πίνακες από τους οποίους προέρχεται. Εάν ωστόσο επιθυµούµε να αλλάξουµε τα ονόµατα αυτών των πεδίων, µπορούµε να το κάνουµε γράφοντάς τα εντός παρενθέσεων µε- το όνοµα του πίνακα. Έτσι στην προηγούµενη περίπτωση, τα πεδία του τά πίνακα RESULT, φέρουν τα ονόµατα LNAME, FNAME και SALARY, ενώ εάν γράψουµε RESULT (FIRSTNAME, LASTNAME, SALARY) π LNAME, FNAME, SALARY (DEP5_EMPS)

5 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 69 η δοµή του πίνακα RESULT θα είναι η {FIRSTNAME, LASTNAME, SALARY}. Ας σηµειωθεί πως οι δύο τελευταίες παρατηρήσεις σχετικά µε τη βηµατική εκτέλεση των εντολών και τη µετονοµασία των πεδίων του τελικού πίνακα, δεν ισχύουν µ όνο για τις πράξεις της επιλογής και της προβολής, αλλά για όλες τις πράξεις της σχεσια- κής άλγεβρας. ΠΡΑΞΕΙΣ ΑΝΑΜΕΣΑ ΣΤΟΥΣ ΠΙΝΑΚΕΣ ΑΠΟ ΤΗ ΘΕΩΡΙΑ ΣΥΝΟΛΩΝ Στην ενότητα αυτή θα µελετήσουµε τις βασικές πράξεις που µπορούµε να πραγµατοποιήσουµε ανάµεσα σε δύο σύνολα, και οι οποίες όπως έχουµε ήδη αναφέρει, µπορούνε να εφαρµοσθούνε και στους πίνακες µιας βάσης δεδοµένων, διότι σύµ- µε τον ορισµό τους οι πίνακες είναι σύνολα από πλειάδες. Οι πράξεις αυτές φωνα είναι η ένωση (union), η τοµή (intersection), η διαφορά (difference) και το καρτε- σιανό γινόµενο (Cartesian product). Οι πράξεις αυτές είναι δυαδικές, διότι εφαρ- µόζονται πάντα ανάµεσα σε δύο πίνακες της βάσης. Απαραίτητη προϋπόθεση για την εφαρµογή των τριών πρώτων πράξεων είναι οι πίνακες επί των οποίων εφαρµόζονται, να είναι συµβατοί ως προς την ένωση (union compatible). ύο πίνακες R(A 1, A 2,.., A n ) και S(B 1, B 2,.., B n ) θεωρούνται συµβατοί ως προς την ένωση, εάν έχουν το ίδιο πλήθος πεδίων, n, και επιπλέον ισχύει η συνθήκη dom(a i ) = dom(b i ) (1 i n), που σηµαίνει πως τα αντίστοιχα πεδία των δύο πινάκων να έχουν το ίδιο πεδίο τιµών. Στην περίπτωση αυτή οι πράξεις της ένωσης, της τοµής και της διαφοράς των πινάκων R και S, ορίζονται µε τον ακόλουθο τρόπο: Η ένωση δύο πινάκων, R S, είναι ένας νέος πίνακας που περιλαµβάνει όλες τις πλειάδες των δύο πινάκων, οι οποίες µπορεί να ανήκουν µόνο στον R, µόνο στον S ή και στους δύο πίνακες ταυτόχρονα. Εάν µετά την ένωση των δύο πινάκων υπάρχουν εγγραφές που εµφανίζονται περισσότερες από µία φορά, αυτές αποµακρύνονται από το τελικό αποτέλεσµα, έτσι ώστε να υπάρχει µόνο ένα αντίγραφο από κάθε εγγραφή. Η τοµή δύο πινάκων, R S, είναι ένας νέος πίνακας, που περιλαµβάνει όλες τις πλειάδες οι οποίες είναι κοινές στους δύο πίνακες. Τέλος η διαφορά των πινάκων, R S, είναι ένας νέος πίνακας, που περιλαµβάνει όλες τις πλειάδες που ανήκουν στον R, αλλά δεν ανήκουν στον S. Για τις πράξεις της τοµής και της ένωσης, ισχύει η αντιµεταθετική ιδιότητα, µπορούµε δηλαδή να γράψουµε R S = S R και R S = S R, κάτι όµως που δεν ισχύει για τη διαίρεση, όπου είναι R S S R. Προκειµένου να κατανοήσουµε καλύτερα τον τρόπο λειτουργίας αυτών των τριών πράξεων, ας θεωρήσουµε τους πίνακες STUDENT και INSTRUCTOR.

6 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 70 FIRSTNAME Susan Ramesh Johnny Barbara Amy Jimmy Ernest STUDENT LASTNAME Yao Shah Kohler Jones Ford Wang Gilbert FNAME John Ricardo Susan Francis Ramesh INSTRUCTOR LNAME Smith Browne Yao Johnson Shah Η εφαρµογή των πράξεων της ένωσης, της τοµής και της αφαίρεσης πάνω σε αυτούς τους δύο πίνακες οι οποίοι είναι συµβατοί ως προς την ένωση έτσι ώστε να µπορούν να εφαρµοσθούν οι εν λόγω πράξεις παρουσιάζεται στη συνέχεια FIRSTNAME LASTNAME Susan Yao Ramesh Shah Johnny Kohler Barbara Jones Amy Ford Jimmy Wang Ernest Gilbert John Smith Ricardo Browne Francis Johnson STUDENT INSTRUCTOR FIRSTNAME LASTNAME Johnny Kohler Barbara Jones Amy Ford Jimmy Wang Ernest Gilbert STUDENT INSTRUCTOR FIRSTNAME LASTNAME John Smith Ricardo Browne Francis Johnson FIRSTNAME Susan Ramesh LASTNAME Yao Shah INSTRUCTOR STUDENT STUDENT INSTRUCTOR Τέλος, το καρτεσιανό γινόµενο (Cartesian product) εφαρµόζεται ανάµεσα σε δύο πίνακες R και S οι οποίοι στην προκειµένη περίπτωση δεν είναι υποχρεωτικό να είναι συµβατοί ως προς την ένωση και δηµιουργεί έναν τρίτο πίνακα που περιέχει τους συνδυασµούς όλων των πλειάδων του ενός, µε όλες τις πλειάδες του άλλου. Με τον τρόπο αυτό είναι δυνατόν να εντοπίσουµε πλειάδες στους δύο πίνακες, οι οποίοι συσχετίζονται µεταξύ τους. Στη γενική περίπτωση, το καρτεσιανό γινόµενο ανάµεσα σε δύο πίνακες R(A 1, A 2,.., A n ) και S(B 1, B 2,.., B m ) ορίζεται ως ένας καινούριος πίνακας Q που περιλαµβάνει συνολικά m+n πεδία και η δοµή του είναι η {A 1, A 2,.., A n, B 1, B 2,.., B m }. Εάν ο πίνακας R περιέχει Μ πλειάδες και ο πίνακας S περιέχει N πλειάδες, ο πίνακας Q = R X S θα περιέχει συνολικά M*N πλειάδες.

7 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 71 Ας δούµε τώρα ένα παράδειγµα που να περιλαµβάνει τη συνδυασµένη χρήση των πράξεων της επιλογής, της προβολής, και του καρτεσιανού γινοµένου. Έστω ότι θέλουµε για κάθε γυναίκα υπάλληλο της εταιρείας να ανακτήσουµε τα ονόµα- τα των προστατευό µενων µελών της. Για να το κάνουµε αυτό, θα ακολουθήσουµε την επόµενη διαδικασία: (α) Βρίσκουµ ε όλες τις γυναίκες υπαλλήλους της εταιρείας FEMALE_EMPS σ SEX= F ( EMPLO YEE) (β) Από όλα τα πεδία του πίνακα που θα προκύψει, κρατάµε µόνο το LNAM E, το FNAME, και το SSN EMPNAMES π LNAME, FNAME, SSN (FEMALE_EMPS) (γ) Επειδή τα ονόµατα των προστατευόµενων µελών των υπαλλήλων της ε- ταιρείας βρίσκονται στον πίνακα DEPENDENT θα πρέπει να συνδυάσουµε τους πί- νακες EMPNAMES κα ι DEPENDENT έτσι ώστε να ανακτήσουµε όλους τους δυατούς συνδυασ µούς των πλειάδων των δύο πινάκων ν EMP_D EP EMPNAM ES X DEPENDENTS (δ) Για κάθε υπάλληλο, τα προστατευόµενα µέλη του βρίσκονται καταχωρη- µ ένα στις πλειάδες του πίνακα DEPENDENT για τις οποίες το πεδίο ESSN έχει την ίδια τιµ ή µε το πεδ ίο SSN του θεωρούµενου υπαλλήλου. Εποµένως από όλες τις π λειάδες που περιλαµ βάνονται στο καρτεσιαν ό γινόµενο των δύο πινάκων, θα κρατή- σουµε µόνο εκείνες για τις οποίες ισχύει η σχέση ESSN = SSN. σ (EMP_D ACTUAL_DEP SSN=ESSN EP) (ε) Τέλος α πό όλα τα πεδία των πλειάδων που ανακτήσαµε, κρατάµε µόνο το ονοµατεπώνυµο του υπαλλήλου και τα ονόµατα των προστατευόµενων µελών του: RESULT π LNAME, FNAME, DEP_NAME (ACTUAL_DEP) Από το παραπάνω παράδειγµα διαπιστώνουµε πως σε όλες σχεδόν τις περιπτώσεις η πράξη του καρτεσιανού γινοµένου ακολουθείται πάντα από την πράξη της επιλογής προκειµένου να επιλέξουµε εκείνους τους συνδυασµούς πλειάδων που πληρούν κάποια συγκεκριµένη συνθήκη. Αυτό σηµαίνει πως το να καλέσουµε το καρτεσιανό γινόµενο από µόνο του, δεν έχει κάποια πρακτική εφαρµογή, αφού το µόνο που κάνει είναι να επιστρέφει όλους τους δυνατούς συνδυασµούς των πλειάδων των δύο πινάκων. Εάν όµως από όλες αυτές τις πλειάδες κρατήσουµε µόνο όσες πληρούν κάποια συνθήκη, η ακολουθία αυτών των δύο πράξεων, έχει νόηµα διότι ανακτούµε επιλεκτικά πληροφορία από δύο ή περισσότερους πίνακες της βάσης. Ε- πειδή αυτή η ακολουθία CARTESIAN PRODUCT + SELECT χρησιµοποιείται πάρα πολύ συχνά, έχει ορισθεί µια νέα πράξη η πράξη της σύζευξης η οποία επι-

8 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 72 τρέπει την εκτέλεση όλης αυτής της διαδικασίας σε ένα και µόνο βήµα. Αυτή η πράξη αποτελεί το αντικείµενο της επόµενης ενότητας. Όπως έχει αναφερθεί στην προηγούµενη παράγραφο, η πράξη της σύζευξης µπορεί να ορισθεί ως η εφαρµογή της πράξης του καρτεσιανού γινοµένου ανάµεσα σε δύο πίνακες R και S, συνοδευόµενη από την πράξη της επιλογής (select), που επιστρέφει, όχι όλους τους συνδυασµούς πλειάδων των δύο πινάκων, αλλά µόνο εκείνους που ικανοποιούν κάποια συγκεκριµένη συνθήκη επιλογής. Αυτό σηµαίνει πως για να ορίσουµε την πράξη της σύζευξης, χρειαζόµαστε δύο πίνακες και µια συνθήκη. Στην περίπτωση αυτή µ πορούµε να γράψουµε <selection condition> σύνταξη, η οποία είναι ισοδύναµη µε την ακολουθία πράξεων Έτσι, στο προηγούµενο παράδειγµα, οι πράξεις ACTUAL Η ΠΡΑΞΗ ΤΗΣ ΣΥΖΕΥΞΗΣ (JOIN OPERATION) RESULT S R σ <selection condition> (S X R) EMP_DEP EMPNAMES X DEPENDENTS ACTUAL_DEP σ SSN=ESSN (EMP_DEP) µπορούνε να αντικατασταθούνε από τη σύζευξη _DEP EMPNAMES SSN=ESSN DEPEN DENTS Το αποτέλεσµα της πράξης της σύζευξης ανάµεσα σε δύο πίνακες R(A 1, A 2,.., A n ) και S(B 1, B 2,.., B m ), είναι ένας καινούριος πίνακας Q µε δοµή {A 1, A2,.., A n, B 1, B 2,.., B m } που περιλαµβάνει µόνο τις πλειάδες του καρτεσιανού γινοµένου οι οποίες πληρούν τη συνθήκη επιλογής που χρησιµοποιείται. Αυτή άλλωστε είναι και η βασική διαφορά που υφίσταται ανάµεσα στις πράξεις της σύζευξης και του καρτεσιανού γινοµένου: στο καρτεσιανό γινόµενο περιλαµβάνονται όλοι οι δυνατοί συνδυασµοί των πλειάδων των δύο πινάκων, ενώ στο αποτέλεσµα της σύζευξης υπάρχουν µόνο εκείνες οι πλειάδες οι οποίες πληρούν τη συνθήκη επιλογής. Αυτή η συνθήκη επιλογής όπως έχουµε ήδη αναφέρει στην εντολή SELECT εφαρµόζεται σε κάθε πλειάδα του καρτεσιανού γινοµένου ξεχωριστά, και στο τελικό αποτέλεσµα, προστίθενται µόνο εκείνες οι εγγραφές για τις οποίες ισχύει. Ας σηµειωθεί πως αυτή η συνθήκη επιλογής µπορεί να είναι τόσο απλή όσο και σύνθετη, και να περιλαµβάνει τόσο τελεστές σύγκρισης όσο και λογικούς τελεστές. Στην περίπτωση κατά την οποία η συνθήκη επιλογής πλειάδων από το καρτεσιανό γινόµενο των δύο πινάκων, περιλαµβάνει µόνο τον τελεστή της ισότητας (=) όπως συµβαίνει στο προηγούµενο παράδειγµα, η πράξη της σύζευξης ονοµάζεται

9 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 73 EQUIJOIN. Στην περίπτωση αυτή, στο τελικό αποτέλεσµα, θα υπάρχουν δύο στήλες µε διαφορετικά ονόµατα που προέρχονται από τους δύο πίνακες µία στήλη από κάθε πίνακα αλλά έχουν ακριβώς τα ίδια αποτελέσµατα. Για παράδειγµα, εάν θεωρήσουµε την σύζευξη DE PT_MGR DEPARTMENT MGRSSN=SSN EMPLOYEE η οποία για κάθε DEPARTMENT επιστρέφει το MANAGER που το διευθύνει, ο πίνακας DEPT_MGR θα έχει την ακόλουθη δοµή : DEPT_MGR {DNAME, DNUMBER, MGRSSN, MGRSTARTDATE, FNAME, MINIT, LNAME, SSN, BDATE, ADDRESS, SEX, SALARY, SUPERSSN, DNO} Εάν εκτυπώσουµε τα περιεχόµενα του πίνακα, θα διαπιστώσουµ ε πως οι στή- SSN και MGRSSN έχουν ακριβώς τα ίδια περιεχόµενα, κάτι βέβαια είναι αναµε- λες νόµενο αφού ως συνθήκη επιλογής χρησιµοποιήσαµε την MGRSSN = SSN. Με άλλα λόγια, η πράξη της σύζευξης έτσι όπως την έχουµε ορίσει επιστρέφει δυο στήλες οι οποίες είναι ακριβώς οι ίδιες. Εάν θέλουµε στο αποτέλεσµα που θα λάβουµε να κρατήσουµε µόνο τη µια από τις δύο στήλες, καλούµε µια διαφορετική µορφή της σύζευξης που λέγεται φυσική σύζευξη (natural join) και κρατά µόνο τη µια από τις δύο ίδιες στήλες και πιο συγκεκριµένα εκείνη που βρίσκεται στο αριστερό µέρος της ισότητας π ου καθορίζουµε στη συνθήκη επιλογής. Η πράξη της φυσικής σύζευξης συµβολίζετ αι µε το «*» και επειδή σε όλες τις περιπτώσεις προϋποθέτει τη χρήση του τελεστή ισότητας (=) στη συνθή κη επιλογής, αυτός µπορεί να παραλειφθεί. Έτσι, η προηγούµενη πράξη µπορεί τώρα να γραφεί µε τη µορφή DEPT_MGR DEPARTMENT * (MGRSSN), (SSN) EMPLOYEE µε το τελικό αποτέλεσµα να περιλαµβάνει µόνο τη στήλη MGRSSN, ενώ, για να κρα- τήσουµ ε τη στήλη SSN, θα πρέπει να γράψουµε DEPT_MGR EMPLOYEE * (SSN), (MGRSSN) DEPARTMENT Τέλος εάν τα δύο πεδία στη συνθήκη επιλογής έχουν το ίδιο όνοµα, µπορούµε να τα παραλείψουµε τελείως κατά τη σύνταξη της εντολής. Εάν για παράδειγµα το πεδίο MGRSSN του πίνακα DEPARTMENT είχε και αυτό το όνοµα SSN θα µπορούσαµε απλά να γράψουµε DEPT_MGR EMPLOYEE * DEPARTMENT Είναι προφανές, πως εάν καλέσουµε την πράξη της σύζευξης χωρίς να καθορίσουµε κάποια συνθήκη επιλογής, τότε αυτή θα εκφυλισθεί στην πράξη του καρτεσιανού γινοµένου, και θα µας επιστρέψει όλους τους δυνατούς συνδυασµούς πλειάδων των δύο πινάκων.

10 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 74 OUTER JOIN ΚΑΙ OUTER UNION Εκτός από τις πράξεις της σύζευξης και της ένωσης που ορίσαµε στις προηγούµενες παραγράφους, υπάρχουν και κάποιες παραλλαγές τους οι οποίες δεν αποτελούν τµήµα της σχεσιακής άλγεβρας, αλλά έχουν υποστηρίζοντα ι από όλα τα µοντέρνα σχεσιακά συστήµατα διαχείρισης βάσεων δεδοµένων. Αυτές οι πράξεις είναι η εξωτερική σύζευξ η (outer join) και η εξωτερική ένωση (outer union). Η διαφορά της εξωτερικής σύζευξης από την απλή σύζευξη, έχει να κάνει µε το πλήθος του συνδυασµού των πλειάδων των δύο πινάκων που επιστρέφονται. Στην απλή σύζευξη, όπως είναι γνωστό, επιστρέφονται µόνο οι συνδυασµοί εκείνων των πλειάδων τα στοιχεία των οποίων ικανοποιούν τη συνθήκη επιλογής που καθορίζουµε στη σύζευξη. Αντίθετα, στην πράξη της εξωτερικής σύζευξης, διατηρούνται ό λες οι πλειάδες, ακόµη και εκείνες που δεν πληρούν τον κανόνα επιλογής. Αυτές οι πλειάδες, συνδυάζονται µε «κενές» πλειάδες του άλλου πίνακα, δηλαδή µε πλειάδες που έχουν σε όλα τα πεδία τους την τιµή NULL. Η πράξη της εξωτερικής σύζευξης µπορεί να είναι τόσο αριστερή (left outer join) όσο και δεξιά (right outer join) και ένα από τα σύµβολα που χρησιµοποιούνται για την αναπαράστασή της είναι το (+). Ας υποθέσουµε για παράδειγµα πως θέλουµε να ανακτήσουµε τα ονόµατα των υπαλλήλων της εταιρείας, καθώς και τα ονόµατα των τµηµάτων που διευθύνουν εάν τυχαίνει να διευθύνουν κάποιο τµήµα. Στην περίπτωση αυτή, ο πίνακας που θα περιέχει το αποτέλεσµα του ερωτήµατος, θα έχει τη δοµή {FNAME, MINIT, LNAME, DNAME} µε το πεδίο DNAME να περιέχει το όνοµα του τµήµατος, για όσους υπαλλήλους διευθύνουν κάποιο τµήµα, και την τιµή NULL για όλους τους υ- πόλοιπους. Προκειµένου να απαντήσουµε σε αυτό το ερώτηµα, θα πρέπει να πραγµ α- τοποιήσουµε την επόµενη ακολουθία εντολών TEMP EMPLOYEE (+) MGRSSN=SSN DEPARTMENT π RESULT LNAME, MINI E (TEMP) η οποία θα µας δώσει τα ακόλουθα αποτελέσµατα T, FNAME, DNAM FNAME MINIT LNAME DNAME John B Smith NULL Franklin T Wong Research Alicia J Zelaya NULL Jennifer S Wallace Administration Ramesh K Narayan NULL Joyce A English NULL Ahmad V Jabbar NULL James E Borg Headquarters Ας περάσουµε τώρα στην πράξη της εξωτερικής ένωσης (outer union). Η διαφορά που υφίσταται ανάµεσα στην εξωτερική ένωση και στην πράξη της ένωσης

11 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 75 πινάκων που µελετήσαµε σε προηγούµενες παραγράφους, είναι πως η εξωτερική ένωση ανάµεσα σε δύο πίνακες µπορεί να πραγµατοποιηθεί, ακόµη και εάν οι δύο πίνακες δεν είναι συµβατοί ως προς την ένωση (union compatible). Με άλλα λόγια η προϋπόθεση της συµβατότητας ως προς την ένωση, δεν ισχύει για όλα τα πεδία των πινάκων αλλά µόνο για µερικά από αυτά στην περίπτωση αυτή λέµε πως οι δύο πίνακες είναι µερικώς συµβατοί ως προς την ένωση (partially union compatible). Ένα παράδειγµα εφαρµογής αυτής της πράξης, είναι η εξωτερική ένωση των πινάκων STUDENT {Name, SSN, Department, Advisor} και FACULTY {Name, SSN, Department, Rank}. Στην περίπτωση αυτή το αποτέλεσµα αυτής της πράξης, θα είναι ένας πίνακας µε δοµή {Name, SSN, Department, Advisor, Rank} που θα περιέχει όλες τις πλειάδες των δύο πινάκων. Επειδή όµως στον πίνακα STUDENT δεν υπάρχει το πεδίο rank, η τιµή αυτού του πεδίου σε όλες τις εγγραφές που προέρχονται από αυτόν τον πίνακα, θα είναι η τιµή NULL. Με τον ίδιο τρόπο, σε όλες τις εγγραφές που προέρχονται από τον πίνακα FACULTY, το πεδίο Advisor θα έχει τιµή NULL,διότι αυτό το πεδίο δεν υπάρχει στον πίνακα FACULTY. Η ΠΡΑΞΗ ΤΗΣ ΙΑΙΡΕΣΗΣ (DIVISION OPERATION) Η πράξη της διαίρεσης εφαρµόζεται σε δύο πίνακες Α και Β εκ των οποίων ο Α έχει περισσότερες στήλες από τον Β, και επιστρέφει ένα νέο πίνακα που περιέχει τις στήλες του Α που δεν ανήκουν στον Β, και εκείνες τις τιµές που πίνακα Α που συνδυάζονται µε όλες τις τιµές του πίνακα Β. Για την αναπαράσταση της πράξης της διαίρεσης, χρησιµοποιείται το σύµβολο Για να κατανοήσουµε την πράξη της διαίρεσης ας θεωρήσουµε το ακόλουθο παράδειγµα. Έστω ότι θέλουµε να βρούµε τα ονόµατα όλων των υπαλλήλων που δουλεύουν σε όλα τα PROJECTS στα οποία δουλεύει ο John Smith. Για να απαντήσουµε σε αυτό το ερώτηµα, αρχικά θα πρέπει να ανακτήσουµε τη λίστα µε τους κωδικούς των PROJECTS στα οποία δουλεύει ο John Smith το αποτέλεσµα αυτού του ερωτήµατος θα καταχωρηθεί στον πίνακα SMITH_PROJ {PNO}. SMITH σ FNAME= JOHN AND LNAME= SMITH (EMPLOYEE) SMITH_PROJ π PNO (WORKS _ON * ESSN=SSN SMITH) Στο επόµενο βήµ α της διαδικασίας, θα πρέπει να ανακτήσουµε για κάθε EMPLOYEE τον κωδικό του SSN, και τους κωδικούς των PROJECTS στα οποία απασχολείται, κ άτι που µπορεί να γίνει πολύ απλά γράφοντας SSN_PROJ π P (W NO, ESSN ORKS_ON) Από τους δύο πίνακες στους οποίους έχουµε καταλήξει, ο πίνακας SSN_PROJ {PNO, ESSN} περιλαµβάνει τους κ ωδικούς SSN όλων των EMPLOYEES που δουλεύουν σε κάποιο PROJECT καθώς και τον κωδικό του κάθε PROJECT, ενώ ο πίνακας SMITH_PROJ {PNO}, περιλαµβάνει τους κωδικούς των PROJECTS στα οποία δουλεύει ο John Smith. Για να βρούµε τώρα τους κωδικούς ESSN των EMPLOYEES που δουλεύουν σε όλα τα PROJECTS στα οποία

12 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 76 δουλεύει ο John Smith, θα εφαρµόσουµε την πράξη της διαίρεσης ανάµεσα στους δύο πίνακες : SSNS (SSN) SSN_PROJ SMITH_PROJ Σύµφωνα µε τον ορισµό της διαίρεσης πινάκων, η παραπάνω πράξη θα δη- µιουργήσει ένα πίνακα που θα έχει όλες τις στήλες του SSN_PROJ που δεν ανήκουν στον SMITH_PROJ. Επειδή η δοµή των δύο πινάκων είναι SSN_PROJ {PNO, ESSN} και SMITH_PROJ {PNO}, είναι προφανές, πως ο πίνακας SSNS που θα ε- πιστρέψει η πράξη της διαίρεσης θα έχει µόνο µια στήλη, την ESSN στο παραπάνω παράδειγµα χρησιµοποιούµε τη σύνταξη SSNS (SSN) για να µετονοµάσουµε την στήλη ESSN σε SSN. Ποιες τιµές όµως θα περιέχει αυτή η στήλη για τους κωδικούς SSN? Θα περιέχει µόνο εκείνους τους κωδικούς που συνδυάζονται µε όλες τις τιµές PNO στον πίνακα SMITH_PROJ. Επειδή όµως ο πίνακας SMITH_PROJ {PNO} περιλαµβάνει µόνο τους κωδικούς των PROJECTS στους οποίους εργάζεται ο John Smith, η παραπάνω διαίρεση θα δώσει τους κωδικούς SSN των υπαλλήλων που ερ- σε όλα αυτά τα PROJECTS. Για να κατανοήσουµε καλύτερα αυτή τη δια- γάζονται δ ικασία, ας δούµε τα περιεχόµενα των πινάκων SMITH_PROJ και SSN_PROJ καθώς και της διαίρεσής τους, SSNS, σύµφωνα µε τα δεδοµένα που έχουµε καταχωρήσει στους πίνακες της βάσης δεδοµένων της εταιρείας: SSN_PROJ SMITH_PROJ ESSN PNO PNO SSNS SSN Εάν παρατηρήσουµε προσεκτικά τα περιεχόµ ενα αυτών των πινάκων θα διαπιστώσουµε πως υπάρχουν µόνο δύο κωδικοί ESSN στον πίνακα SSN_PROJ που να συνδυάζονται τόσο µε το PNO = 1 όσο και µε το PNO = 2. Αυτοί οι δύο κωδικοί είναι ο και ο Επειδή όµως οι κωδικοί PNO = 1 και PNO = 2 είναι οι κωδικοί των PROJECTS στα οποία εργάζεται ο Smith, έπεται πως οι δύο παραπάνω κωδικοί SSN είναι αναφέρονται στους υπαλλήλους που εργάζονται σε όλα

13 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 77 αυτά τα PROJECTS και προφανώς κάποιος από αυτούς τους δύο κωδικούς (ο ) θα ανήκει στον John Smith, αφού και αυτός συµπεριλαµβάνεται ανάµεσα σε αυτούς τους υπαλλήλους. Τέλος, για να πάρουµε τα ονόµατα όλων παρά να γράψουµε αυτών των υπαλλήλων, δεν έχουµε RESULT π FNAME, LNAME (SNNS * EMPLOYEE) ΑΘΡΟΙΣΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ (AGGREGATE FUNCTIONS) Οι αθροιστικές συναρτήσεις δεν αποτελούν µέρος της σχεσιακής άλγεβρας αλλά έχουν ορισθεί προκειµένου να πραγµατοποιήσουµε κάποιες µαθηµατικές πράξεις πάνω στα δεδοµένα των πινάκων της βάσης. Οι πιο σηµαντικές από αυτές τις πράξεις είναι η καταµέτρηση των εγγραφών ενός πίνακα (COUNT), ο υπολογισµός αθροίσµατος (SUM) και του µέσου όρου των τιµών µιας στήλης (AVERAGE), καθώς και η εύρεση της µέγιστης (MAXIMUM) και της ελάχιστης (MINIMUM) από αυτές τις τιµές. Οι παραπάνω συναρτήσεις µπορούν να εφαρµοσθούν πάνω σε όλες τις γραµµές του πίνακα, αλλά εναλλακτικά έχουµε τη δυνατότητα να οµαδοποιήσουµε τις εγγραφές του πίνακα µε βάση ένα ή περισσότερα πεδία και στη συνέχεια να εφαρµόσουµε αυτές τις συναρτήσεις, σε κάθε οµάδα ξεχωριστά. Ο τρόπος µε τον οποίο µπορούµε να καλέσουµε αυτές τις συναρτήσεις χαρακτηρίζεται από µια σύνταξη της µ ορφής <groupin g attributes> F <function list> (<relation name>) όπου <grouping attri butes> είναι η λίστα τω ν πεδίων του πίνακα ως προς τα οποία θα λάβει χώρα οµαδο ποίηση των εγγραφών πριν την εφαρµ ογή των αθροιστικών συναρτήσεων, <functio n list> είναι η λίστα των αθροιστικών συναρτήσεων που θα χρησιµοποιηθούνε, και <relation na me> είναι τ ο όνοµα του πίνακα στα δεδοµένα του οποίου θα εφαρµο σθούν οι εν λόγω συναρτή σεις. Κάθε στοιχείο της λίστας των αθροιστικών συναρτήσεων, είναι ένα ζεύγος της µορφής (<function name>, <attribute name>) π ου καθορίζει ποια συνάρτηση θα χρησιµοποιηθεί και πάνω σε πιο πεδίο του πίνακα θα εφαρµοσθεί. Έτσι, η εντολή R DN S VERAGE SALARY (EMPLOYEE) O F COUNT SN, A οµαδοποιεί τους υπα λλήλους της εταιρείας µε κριτήριο τον κωδικό του τµήµατος στο οποίο εργάζονται, και στη συνέχεια, για τους υπαλλήλους του κάθε τµή- µατος, καταµετρά τον αριθµό τους και υπολογίζει το µέσο όρο των µισθών τους.

14 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 78 Το αποτέλεσµα της παραπάνω εντολής, παρουσιάζεται στον ακόλουθο πίνακα. DNO EMP_NO AVG_SAL Στην περίπτωση κατά την οποία δεν καθορίσουµε κάποιο πεδίο ως προς το οποίο θα λάβει χώρα η οµαδοποίηση των εγγραφών, το αποτέλεσµα της παραπάνω εντολής είναι ένας πίνακας µε µια µόνο γραµµή, αφού οι συναρτήσεις που θα καθορίσουµ ε, θα εφαρµοσθούν σε όλες τις εγγραφές του πίνακα, και όχι σε κάποια οµάδα εγγραφών. Έτσι, η εντολή R F COUNT SSN, AVERAGE SALARY (EMPLOYEE) θα δώσει ως αποτέλεσµα τον πίνακα που ακολουθεί. EMP_NO AVG_SAL ΠΑΡΑ ΕΙΓΜΑΤΑ ΕΦΑΡΜΟΓΗΣ ΤΩΝ ΤΕΛΕΣΤΩΝ ΤΗΣ ΣΧΕΣΙΑΚΗΣ ΑΛΓΕΒΡΑΣ Στις σελίδες που ακολουθούν παρουσιάζονται υποδειγµατικά λυµένες ασκήσεις που έχουν ως στόχο να συµ βάλουν στην καλ ύτερη κατανόηση του τρόπου µε τον οποίο εφαρµό ζουµε τους τελεστές της σχεσιακής άλγεβρας πάνω στα περιεχόµενα των πινάκων µιας σχεσιακής βάσης δεδοµένων. ΑΣΚΗΣΗ 1: Να βρεθούνε τα ονόµατα και οι διευθύνσεις όλων των υπαλλήλων που εργάζονται στο Research Department ΑΠΑΝΤΗΣΗ: (α) Από τον πίνακα DEPARTMENT κρατάµε µόνο τη στήλη που αναφέρεται στο Research Department RESEARCH σ DNAME= RESEARCH (DEPARTMENT) (β) Εφαρµόζουµε την πράξη της σύζευξης ανάµεσα στους πίνακες RESEARCH και EMPLOYEE µε συνθήκη επιλογής την DNUMBER=DNO προκειµένου να ανακτήσουµε όλους τους EMPLOYEES που δουλεύουν στο Research Department R ES_EMP RESEARCH DNUMBER=DNO EMPLOYEE (γ) Τέλος, από τον πίνακα RES_EMP, κρατάµε µόνο τα ονόµατα και τις διευθύνσεις αυτών των υπαλλήλων.

15 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 79 RESULT π FNAME, LNAME, ADDRESS (RES_EMP) ΑΣΚΗΣΗ 2: Για κάθε PROJECT που πραγµατοποιείται στο Stafford να βρεθεί ο κωδικός του (PNUMBER), ο κωδικός του τµήµατος που το παρακολουθεί, καθώς και το επώνυµο, η διεύθυνση και η ηµεροµηνία γέννησης του MANAGER αυτού του τµήµατος. ΑΠΑΝΤΗΣΗ: (α) Αρχικά, βρίσκουµε όλα τα PROJECTS που πραγµατοποιούνται στο Stafford. STAFFORD σ PLOCATION= STAFFORD (PROJECT) (β) Στη συνέχεια βρίσκουµε τα τµήµατα που ελέγχουν όλα τα PROJECTS που γίνονται στο Stafford DEPT_PROJ STAFFORD DNUM=DNUMBER DEPARTMENT (γ) Στο επόµενο βήµα βρίσκουµε τους MANAGERS των τµηµάτων που ε- λέγχουν όλα τα PROJECTS που γίνονται στο Stafford MAN_DEP_PRO DEPT_PROJ MGRSSN =SSN EMPLOYEE (δ) Τέλος, από όλες τις πληροφορίες που περιέχει ο πίνακας MAN_DEP_ PROJ, κρατάµε µόνο τον κωδικό του PROJECT, τον κωδικό του τµήµατος που το ελέγχει, και το επώνυµο, τη διεύθυνση και την ηµεροµηνία γέννησης του MANAGER για αυτό το τµήµα RESULT π PNUMBER,DNUM,LNAME,ADDRESS,BD ΑΣΚΗΣΗ 3: Να βρεθούνε τα ονόµατα των υπαλλήλων που εργάζονται σε όλα τα projects τα οποία παρακολουθούνται από το DEPARTMENT µε κωδικό 5. ΑΠΑΝΤΗΣΗ: (α) Αρχικά βρίσκουµε τους κωδικούς όλων των PROJECTS που πραγµατοποιούνται από το DEPARTMENT µε κωδικό αριθµό 5. Για να το κάνουµε αυτό χρησιµοποιούµε ένα συνδυασµό των πράξεων SELECT και PROJECT όπως φαίνεται στη συνέχεια: PNUMBER DNUM=5 (β) Στη συνέχεια για κάθε υπάλληλο που εργάζεται σε κάποιο PROJECT α- νακτούµε τον κωδικό του και τον κωδικό του τµ ήµατος στο οποίο εργάζεται από τον πίνακα WORKS_ON ATE (MAN_DEP_PRO) DEPT5_PROJS π (σ (EMPLOYEE)) EMP_PROJ (SSN, PNO) π ESSN, PNO (WORKS_ON)

16 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 80 (γ) Οι κωδικοί των υπαλλήλων που εργάζονται σε όλα τα PROJECTS που παρακολουθούνται από το DEPARTMENT µε κωδικό αριθµό 5, είναι όσοι κωδικοί του πίνακα EMP_PROJ συνδυάζονται µε όλους τους κωδικούς του πίνακα D EPT5_PROJS. Εποµένως θα ανακτηθούν ως το αποτέλεσµα της διαίρεσης των δύο πινάκων, και θα καταχωρηθούν στον πίνακα EMP_SSNS ο οποίος προκύπτει ως EMP_SSNS EMP_PROJ (δ) Τέλος, για να ανακτήσουµε τ α ονοµατεπώνυµα όλων αυτών των υπαλλήλων θα εκτελέσουµε την πράξη της φυσικής σύζευξης ανάµεσα στους πίνακες EMP_SSNS και EMPLOYEE και από τον πίνακα που θα προκύψει, θα κρατήσουµε µόνο τα πεδία LNAME και LNAME: RESULT π ΑΣΚΗΣΗ 4: Να βρεθεί ο κωδικός των PROJECT στα οποία εργάζεται ο υ πάλληλος µε το επώνυµο Smith, τόσο ως εργαζόµενος, όσο και ως MANAGER κάποιου τµήµατος. ΑΠΑΝΤΗΣΗ: Για να απαντήσουµε σε αυτό το ερώτηµα, θα πρέπει να βρού- µε τους κωδικούς των PROJECT στα οποία ο Smith εργάζεται (1) ως εργαζόµενος και (2) ως MANAGER και στη συνέχεια να εν ώσου µε τους δύο πίνακες σε ένα και µοναδικό πίνακα, που θα περιέχει τους κωδικούς των PROJECTS στα οποία εργάζε- ται ο Smith, τόσο ως εργαζόµενος όσο και ως MANAGER. SMITHS(ESSN) π SSN (σ LNAME= SMITH (EMPLOYEE)) (β) Ανακτούµε τους κωδικούς των PROJECTS στα οποία εργάζεται ο Smith ως EMPLOYEE MGR π MPLOY SSN= DEPARTMENT) (δ) Από όλες τις γραµµές του παραπάνω πίνακα κρατάµε µόνο εκείνη που α- ναφέρεται στον Smith H_MGR σ DEPT5_PROJ LNAME, FNAME (EMP_SSNS * EMPLOYEE) (α) Βρίσκουµε από τον πίνακα EMPLOYEE τον κωδικό SSN του Smith SMITH_WORKER π PNO (WORKS_ON*SMITHS) (γ) Βρίσκουµε όλους τους EMPLOYEES που δουλεύουν ως MANAGER σε οποιοδήποτε τµήµα, και για κάθε έναν από αυτούς, κρατάµε το επώνυµό του και τον κωδικό του τµήµατος που διευθύνει. LNAME,DNUMBER(E EE MRGSSN SMIT LNAME= SMITH (MGR)

17 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 81 (ε) Από την παραπάνω γραµµή κρατάµε µόνο τον κωδικό του τµήµατος που διευθύνει ο John Smith SMITH_DEPT π DNUMBER (SMITH_MGR) (στ) Στη συνέχεια βρίσκουµε τους κωδικούς των PROJECTS που πραγµατοποιούνται από το τµήµα το οποίο διευθύνεται από τον John Smith SMITH_MGR π PNUMBER (SMITH_DEPT * PROJECT) (ζ) Έχοντας ανακτήσει τους κωδικούς των PROJECTS στα οποία ο Smith εργάζεται σαν EMPLOYEE καθώς και εκείνων στα οποία ο Smith εργάζεται ως MAN AGER, δεν έχουµε παρά να ενώσουµε τους αντίστοιχους πίνακες προκειµένου να λάβουµε τους κωδ ικούς των PROJECTS στα οποία ο Smith εργάζεται είτε ως EMPLOYEE είτε ως MANAGER. Έτσι τελικά θα έχουµε RESULT SMITH_WORKER SMITH_MGR ΑΣΚΗΣΗ 5: Να βρεθούν τα ονόµατα των υπαλλήλων που δεν έχουν προστατευόµενα µέλη. ΑΠΑΝΤΗΣΗ: Για να απαντήσουµε στο ερώτηµα αυτό θα πρέπει να βρούµε το σύνολο των κωδικών των υπαλλήλων που έχουν προστατευόµενα µέλη, και στη συνέχεια να τους αφαιρέσουµε από το σύνολο των κωδικών όλων των υπαλλήλων. (α) Αρχικά βρίσκο υµε το σύνολο των κωδικών όλων των υπαλλήλων ALL_ SSN (EMPLOYEE) EMPS π (β) Στη συνέχεια βρίσκουµε τους κωδικούς των υπαλλήλων που έχουν προστατευόµενα µέλη EMP_WITH_D ESSN (DEPENDENT) EP π (γ) Οι κωδικοί των υπαλλήλων που δεν έχουν προστατευόµενα µέλη, είναι αυτοί που αποµένουν εάν αφαιρέσουµε τους κωδικούς των υπαλλήλων που έχουν προστατευόµενα µέλη από το σύνολο των κωδικών των υπαλλήλων EMP_ WITHOUT_DEP (ALL_EMPS EMP_WITH_DEP) (δ) Τέλος ανακτούµε τα ονόµατα και τα επώνυµα αυτών των υπαλλήλων RESULT π LNAME, FNAME (EMP_WITHOUT_DEPS * EMPLOYEE)

18 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 82 ΑΣΚΗΣΗ 6: Να βρεθούν τα ονόµατα των MANAGERS που έχουν τουλάχιστον ένα προστατευόµενο µέλος. ΑΠΑΝΤΗΣΗ: (α) Αρχικά ανακτούµε τους κωδικούς SSN των MANAGERS όλων των τµηµάτων (β) Στη συνέχεια διαβάζουµε τους κωδικούς SSN όλων των EMPLOYEES που έχουν προστατευόµενα µ έλη (γ) Επειδή και οι MANAGERS είναι EMPLOYEES, οι κωδικοί SSN όλων των MANAGERS που έχουν προστατευόµενα µέλη, θα ανήκουν και αυτοί στον πίνακα EMP_WITH_DEP. Εποµένως, οι κωδικοί των MANAGERS που έχουν προστατευόµε να µέλη, θα ανήκουν, τόσο στον πίνακα MGRS όσο και στον πίνακα EMP_WI TH_DEP, και εποµένως για να τους ανακτήσουµε θα πάρουµε την τοµή των δύο πινάκων: RESULT MGRS (SSN) π MGRSSN (DEPARTMENT) EMP_WITH_DEP π ESSN (DEPENDENT) MGRS_WIT H_DEP MGRS EMP_WITH_DEP (δ) Τέλος ανακτούµε τα ονόµατα και τα επώνυµα αυτών των MANAGERS π LNAME, FNAME(MGRS_WITHOUT_DEPS * EMPLOYEE) ΑΣΚΗΣΗ 7: Να βρεθούν τα ονόµατα των υπαλλήλων που ανήκουν στο τµή- µα µε κωδικό 5, και εργάζονται περισσότερες από 10 ώρες την εβδοµάδα στον PROJECT µε όνοµα ProductX ΑΠΑΝΤΗΣΗ: (α) Αρχικά ανακτούµε τους κωδικούς των υπαλλήλων που εργάζονται στο τµήµα µε κωδικό 5 SSNS π (σ DNO= (EMPLOYEE)) SSN 5 (β) Στη συνέχεια βρίσκουµε τον κωδικό του PROJECT µε όνοµα ProductX PRODX (PNO) ER PNAME= PRODUCTX (PROJECT)) π PNUMB (σ (γ) Από τον πίνακα WORKS_ON βρίσκουµε κρατάµε µόνο τις εγγραφές που αφορούν το PROJECT ProductX και αναφέρονται στους υπαλλήλους όλων των τµηµάτων της εταιρείας που απασχολούνται σε αυτό WORKS_PRODX PRODX * WORKS_ON

19 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 83 (δ) Από τον πίνακα WORKS_PRODX κρατάµε µόνο εκείνες τις εγγραφές που αφορούν τους υπαλλήλους του τµήµατος 5 που εργάζονται στο PROJECT ProductX περισσότερες από 10 ώρες την εβδοµάδα. EMP_PROD X σ HOURS>10 (WORKS_PRODX * SSNS) (ε) Τέλος βρίσκουµε το όνοµα και τον επώνυµο για όλους αυτούς τους υπαλλήλους. RESULT π LNAM E, FNAME(EMP_PRODX * EMPLOYEE) ΑΣΚΗΣΗ 8: Να βρεθούν τα ον όµατα των υπαλλήλων που έχουν κάποιο προστατευόµενο µέλος, το µικρό όνοµα του οποίου είναι ίδιο µε το δικό τους. ΑΠΑΝΤΗΣΗ: (α) Αρχικά ανακτούµε τους κωδικούς των υπαλλήλων που έ- χουν προστατευόµενα µέλη EMP_WITH_DEP π ESSN (DEPENDENT) (β) Στη συνέχεια ανακτούµε τα µικρά ονόµατα αυτών των υπαλλήλων EMP_NAMES π FNAME (EMP_WITH_DEP * EMPLOYEE) (γ) Κατόπιν βρίσκουµε τους υπαλλήλους που έχουν το ίδιο µικρό όνοµα µε κάποιο από τα προστατευόµενα µέλη του EMP_DEP EMP_NAMES FNAME=DEPENDENT_NAME DEPENDENT (δ) Ανακτούµε τους κωδικούς αυτών των υπαλλήλων EMP_DEP_SSN π E SSN (EMP_DEP) RE (ε) Ανακτούµε το όνοµα και το επώνυµο αυτών των υπαλλήλων SULT π ΑΣΚΗΣΗ 9: Να βρεθούν τα ονόµατα των υπαλλήλων που εποπτεύονται α- πευθείας από τον Franklin Wong WONG_SSN σ LNAM E, FNAME (EMP_DEP_SSN * EMPLOYEE) ΑΠΑΝΤΗΣΗ: (α) Βρίσκουµε τον κωδικό SSN του Franklin Wong FNAME= FRANKLIN AND LNAME= WONG (EMPLOYEE)

20 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 84 Wong (β) Βρίσκουµε τους υπαλλήλους που εποπτεύονται απευθείας από τον Franklin WONG_EMP WONG_SSN SSN=SUPERSSN EMPLOYEE (γ) Κρατάµε µόνο τα ονόµατα και τα επώνυµα αυτών των υπαλλήλων RESULT π LNAME, FNAME (WONG_EMP) Α ΣΚΗΣΗ 10: Για κάθε PROJECT να βρεθεί το όνοµα του PROJECT και ο συνολικός αριθµός των ωρών ανά εβδοµάδα που αναλώνεται σε αυτό το PROJECT από όλους τους υπαλλήλους ΑΠΑΝΤΗΣΗ: (α) Στο πρώτο βήµα θα οµαδοποιήσουµε τις εγγραφές του πίνακα WORKS_ON ως προς τον κωδικό του project και για κάθε ένα από τα projects της εταιρείας, θα αθροίσουµε τις ώρες που αφιερώνονται σε αυτό, από όλους τους υπαλλήλους της εταιρείας. PROJ_SUM (PNUMBER, HOU RS) PNO FSUM HOURS (WORKS_ON) (β) Τέλος για κάθε project ανακτούµε από τον πίνακα PROJECT το όνοµά του, και το επιστρέφουµε µαζί µε το συνολικό πλήθος των ωρών ανά εβδοµάδα που απασχολούνται σε αυτό όλοι οι υπάλληλοι της εταιρείας. RESULT π PNAME, HOURS (PROJ_NUM * PROJECT) ΑΣΚΗΣΗ 11: Να ανακτηθούν τα ονόµατα των υπαλλήλων που δουλεύουν σε όλα τα projects ΑΠΑΝΤΗΣΗ: (α) Αρχικά ανακτούµε τους κωδικούς όλων των projects που πραγµατοποιούνται από την εταιρεία. PROJ π PNUMBER (PROJECT) (β) Στη συνέχεια, από τον πίνακα WORKS_ON ανακτούµε για κάθε υπάλληλο, τον κωδικό του, καθώς και τον κωδικό των projects στα οποία απασχολείται. SSN_PROJ π PNO, ESSN (WORKS_ON) Οι υπάλληλοι που εργάζονται σε όλα τα projects έχουν κωδικούς στον πίνακα SSN_PROJ, οι οποίοι συνδυάζονται µε όλους των κωδικούς των projects που βρίσκονται στον πίνακα PROJ. Εποµένως για να ανακτήσουµε τους κωδικούς αυτών των υπαλλήλων, θα πρέπει να διαιρέσουµε τους δύο παραπάνω πίνακες. Έτσι θα έ- χουµε

21 Σχεσιακές Βάσεις εδοµένων Θεωρία και Εφαρµογές 85 SSNS (SSN) SSN_PROJ PROJ (δ) Τέλος, ανακτούµε τα ονόµατα και τα επώνυµα αυτών των υπαλλήλων γράφοντας RESULT π FNAM E, LNAME (SNNS * EMPLOYEE) ΑΣΚΗΣΗ 12: Να ανακτηθούν τα ονόµατα των υπαλλήλων που δεν εργάζονται σε κανένα project ΑΠΑΝΤΗΣΗ: Οι κωδικοί των υπαλλήλων που δεν εργάζονται σε κανένα project προκύπτον αν ανακτήσουµε τους κωδικούς των υπαλλήλων που εργάζονται στα διάφορα projects της εταιρείας, και τους αφαιρέσουµε από το σύνολο των κωδικών όλων των υπαλλήλων. Πιο αναλυτικά, έχουµε (α) Βρίσκουµε τους κωδικούς των υπαλλήλων που εργάζονται στα διάφορα projects της εταιρείας. π (W WORKER_SSN (SSN) ESSN ORKS_ON) (β) Βρίσκουµε τους κωδικούς όλων των υπαλλήλων της εταιρείας π SSN (SSN) SSN (EMPLOYEE) (γ) Για να βρούµε τους κωδικούς των υπαλλήλων που δεν εργάζονται σε κανένα project αφαιρούµε από το σύνολο των κωδικών των υπαλλήλων τους κωδικούς εκείνων των υπαλλήλων που εργάζονται στα διάφορα projects. NO_WORKER_SSN SNN WORKER_SSN (δ) Τέλος, βρίσκουµε το όνοµα και το επώνυµο αυτών των υπαλλήλων, γράφοντας RESULT π YEE) FNAME, LNAME (NO_WORKER_SSN * EMPLO ΑΣΚΗΣΗ 13: Για κάθε τµήµα να ανακτηθεί το όνοµά του και ο µέσος όρος των µισθών για τους υπαλλήλους που δουλεύουν σε αυτό το τµήµα ΑΠΑΝΤΗΣΗ: (α) Αρχικά βρίσκουµε τους υπαλλήλους που δουλεύουν σε όλα τα τµήµατα της εταιρείας EMP_DEP EMPLOYEE DNO=DNUMBER DEPARTMENT

22 Κεφάλαιο 5 : Σχεσιακή Άλγεβρα 86 (β) Στη συνέχεια οµαδ οποιούµε τους υπαλλήλους µε κριτήριο το τµήµα στο οποίο ε ργάζονται και υπολογίζουµε για κάθε τµήµα, το µέσο όρο των µισθών των υπαλλήλων που δουλεύουν σε αυτό. DEP_AVG (DNUMBER, AVG) DNUMBER AVERAGE SALARY (EMP_DEP) (γ) Τέλος διαβάζουµε το όνοµα του τµήµατος και το επιστρέψουµε µαζί µε το µέσο όρο των µισθών των υπαλλήλων που υπολογίσαµε παραπάνω. RESULT π DNAME, AVG (DEP_AVG * DEPARTMENT) ΑΣΚΗΣΗ 14: Να ανακτηθεί ο µέσος όρος των µισθών για όλες τις γυναίκες υπαλλήλους ΑΠΑΝΤΗΣΗ: (α) Αρχικά βρίσκουµε όλες τις γυναίκες υπαλλήλους (β) Στη συνέχεια επιστρέφουµε τον µέσο όρο των µισθών τους AVG_FEM_SALARY F F FEMALE_EMPS σ SEX= F (EMPLOYEE) AVERAGE SALARY (FEMALE_EMPS)

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πράξεις στο Σχεσιακό Μοντέλο ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 Πράξεις Διαχείρισης Δεδομένων Σχεσιακή Άλγεβρα Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις στο Σχεσιακό

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Μια γλώσσα σχεσιακής βάσης

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (6 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr (Συνέχεια) ΣΧΕΣΙΑΚΗ ΑΛΓΕΒΡΑ 3/4/2014 2 Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Συνένωση Θήτα Ισότητας Φυσική Διαίρεση Σύνθετες λειτουργίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός 7 Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα H Σχεσιακή Άλγεβρα (relational algebra) ορίζει ένα σύνολο πράξεων που εφαρμόζονται σε μία ή περισσότερες σχέσεις

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

Εισαγωγή στη Σχεσιακή Άλγεβρα

Εισαγωγή στη Σχεσιακή Άλγεβρα Εισαγωγή στη Σχεσιακή Άλγεβρα Η Σχεσιακή Άλγεβρα παρέχει τους τελεστές (operators): Μοναδιαίοι Σχεσιακοί Τελεστές (Unary Relational Ops) Επιλογή (Select, (sigma)) Προβολή (Project, (pi)) Μετονομασία (Rename,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 09: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Πληρότητα Σχεσιακή Άλγεβρα

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

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

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (5 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (5 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Συνέχεια στη Σχεσιακή άλγεβρα Μετονομασία Καρτεσιανό γινόμενο Συνένωση Θήτα Ισότητας Φυσική 26/3/2015 Βάσεις Δεδομένων 2 (Συνέχεια)

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

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

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

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

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

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

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός

Βάσεις εδοµένων. Συνολοθεωρητικές Πράξεις. Ειδικές Πράξεις. Εκφράσεις. Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων. Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Θεµελίωση της Σχεσιακού Μοντέλου εδοµένων Βάσεις εδοµένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Παύλος Εφραιµίδης pefraimi at ee.duth.gr Στο µάθηµα θα πούµε για Σχεσιακή Άλγεβρα Βάσεις εδοµένων Σχεσιακή

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

Υποερωτήματα στην SQL Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 31 Η ανάγκη για υποερώτημα Ποιος υπάλληλος παίρνει το μεγαλύτερο μισθό; Αν ξέραμε το μεγαλύτερο μισθό, πχ 2000, θα γράφαμε:

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

Lecture 14: SQL DML I

Lecture 14: SQL DML I Department of Computer Science University of Cyprus EPL342 Databases Lecture 14: SQL DML I SQL Structured Query Language (Chapter 8.4, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Σύνδεση Ισότητας (Equi-Join) Θ στην σύνδεση είναι = (=-Join) r r.ai = s.aj s =-σύνδεση του

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

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

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

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

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

Ερωτήματα SQL με σύζευξη πινάκων ΜΗ ΕΙΝΑΙ ΒΑΣΙΛΙΚΗΝ ΑΤΡΑΠΟΝ ΕΠΙ ΓΕΩΜΕΤΡΙΑΝ Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr 1 / 30 Σκοπός του μαθήματος Εκτελείτε ερωτήματα ανάσυρσης δεδομένων από

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

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

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

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

Βάσεις Δεδομένων Η γλώσσα 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) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

Υποερωτήματα SQL Παραδείγματα και εφαρμογές από τη βάση δεδομένων company Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 55 Περιεχόμενα 1 Απλά υποερωτήματα

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

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

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

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

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

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

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

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

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

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ερωτήματα SQL με σύζευξη πινάκων Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Lecture 16: SQL DML III

Lecture 16: SQL DML III Department of Computer Science University of Cyprus EPL342 Databases Lecture 16: SQL DML III SQL Structured Query Language (Chapter 8.5.5-8.6, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 10: RA IΙ. RA Advanced + Examples Department of Computer Science University of Cyprus EPL342 Databases Lecture 10: RA IΙ RA Advanced + Examples (Chapter 6.4-6.5, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

Βάσεις Δεδομένων Ενότητα 6

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

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

Διάλεξη 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) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στο Σχεσιακό Μοντέλο Ορισμοί Σχεσιακού Μοντέλου Σχεσιακοί

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

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης

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

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

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Στο μάθημα θα πούμε για Σχεσιακή Άλγεβρα Βάσεις Δεδομένων

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

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

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

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

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

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (4 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Επέκταση του μοντέλου ΟΣ Κληρονομικότητα Εξειδίκευση/Γενίκευση Περιορισμοί Ιεραρχίες και πλέγματα Συνάθροιση Συνέχεια στο σχεσιακό

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

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL DML SELECT, FROM, WHERE,

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

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα.

ΗΥ360 Αρχεία και Βάσεις Δεδομένων. Φροντιστήριο στην Σχεσιακή Άλγεβρα. ΗΥ360 Αρχεία και Βάσεις Δεδομένων Φροντιστήριο στην Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα Εισαγωγή Σύνολο τελεστών που εφαρμόζονται σε μία ή περισσότερες σχέσεις Όλες οι πράξεις της σχεσιακής άλγεβρας επιστρέφουν

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων Μαρία Χαλκίδη Εισαγωγή Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων Δεδομένων (με χρήση

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

1 / 105

1 / 105 Ερωτήματα SQL με σύζευξη πινάκων Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 105 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο

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

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συνενώσεις με Καρτεσιανό Γινόμενο και

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

1 / 150

1 / 150 Ερωτήματα SQL με σύζευξη πινάκων Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 150 Περιεχόμενα 1 Γενικά για τη σύζευξη πινάκων 2 Καρτεσιανό γινόμενο και θ σύζευξη 3 Φυσική σύζευξη

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός Σχεσιακή Άλγεβρα Παύλος Εφραιμίδης Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός ΣτομάθημαθαπούμεγιαΣχεσιακή Άλγεβρα Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1 Βάσεις Δεδομένων

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός Μαθ. #12 Η κυρίως διαφορά µεταξύ «σχεσιακού λογισµού» και «σχεσιακής άλγεβρας» είναι η ακόλουθη ηλωτική vs. ιαδικαστική Τι vs. Πως Η εκφραστική δύναµη των δυο γλωσσών

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

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα Σχεσιακή Άλγεβρα Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and,

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

DISTINCT, LIKE, NULL, AND, OR, BETWEEN Περισσότερα για τα απλά ερωτήματα SQL DISTINCT, LIKE, NULL, AND, OR, BETWEEN Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 66 Σκοπός του μαθήματος Αποκλείσετε διπλοεγγραφές από

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

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

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

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Έλεγχος Μέλους Συνόλου (Set Membership) Οι IN και NOT IN τελεστές ελέγχουν για μονό membership

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

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

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

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

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

Σχεσιακή Άλγεβρα Relational Algebra

Σχεσιακή Άλγεβρα Relational Algebra Σχεσιακή Άλγεβρα Relational Algebra Ορίζει ένα σύνολο τελεστών που εφαρμόζονται σε μια ή σε περισσότερες σχέσεις. Οι τελεστές ορίζουν πράξεις οι οποίες διακρίνονται σε Πράξεις μεταξύ συνόλων (σχέση είναι

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

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2010-2011 Ευαγγελία Πιτουρά 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός

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

SQL Data Manipulation Language

SQL Data Manipulation Language SQL Data Manipulation Language Τελεστής union συνδυάζει subselects τα οποία παράγουν συμβατές σχέσεις γενική μορφή: subselect {union [all] subselect} περιορισμός: τα subselects δεν μπορούν να περιέχουν

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT. Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 88 Περιεχόμενα 1 Γενικά για την αποθήκευση δεδομένων και την ενημέρωση της

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

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

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

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

DELETE, UPDATE, INSERT

DELETE, UPDATE, INSERT Ενημέρωση βάσης δεδομένων με SQL DELETE, UPDATE, INSERT Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 103 Περιεχόμενα 1 Γενικά για την αποθήκευση

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

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ Κεφάλαιο ο Μεικτές Στρατηγικές Τώρα θα δούµε ένα παράδειγµα στο οποίο κάθε παίχτης έχει τρεις στρατηγικές. Αυτό θα µπορούσε να είναι η µορφή που παίρνει κάποιος µετά που έχει απαλείψει όλες τις αυστηρά

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

Ερωτήματα επιλογής με σύζευξη πινάκων

Ερωτήματα επιλογής με σύζευξη πινάκων ΚΕΦΑΛΑΙΟ 13 Ερωτήματα επιλογής με σύζευξη πινάκων Το κεφάλαιο αυτό σας εισάγει στον πραγματικό κόσμο των σχεσιακών βάσεων δεδομένων. Τα ερωτήματα που θα συναντήσετε έχουν πολλούς πίνακες στον όρο FROM,

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

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές) Σχεσιακή Άλγεβρα Προβολή, Επιλογή, Καρτεσιανό Γινόμενο, Ένωση, Διαφορά, Σύνθεση Τελεστών, Μετονομασία, Παραδείγματα Ερωτήσεων, Τομή Συνόλων, Φυσική Σύζευξη 1 Σχεσιακή Άλγεβρα Η σχεσιακή άλγεβρα (relational

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

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

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

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

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

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

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

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

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

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

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 SQL -ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις.

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 3: Σχεσιακές Βάσεις Δεδομένων Σχεσιακή Άλγεβρα Σχεσιακή

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

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke

Σχεσιακή Άλγεβρα. Κεφάλαιο 4. Database Management Systems, R. Ramakrishnan and J. Gehrke Σχεσιακή Άλγεβρα Κεφάλαιο 4 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Γλώσσες Σχεσιακών Αιτηµάτων v Γλώσσες Αιτηµάτων: Ε ιτρέ ουν τη ιαχείριση και την Ανάκτηση εδοµένων α ό µια Β. v

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Ερωτήματα επιλογής SQL, σύζευξη, διάζευξη, NULL, ταίριασμα κειμένου Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες

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

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering)

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering) By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of the race. -- Alfred North Whitehead

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

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

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

Θέματα Τελικής Εξέτασης. ΠΡΟΣΟΧΗ: Οι απαντήσεις πάνω στα ΘΕΜΑΤΑ

Θέματα Τελικής Εξέτασης. ΠΡΟΣΟΧΗ: Οι απαντήσεις πάνω στα ΘΕΜΑΤΑ ΤΕΧΝΟΛΟΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΩΝ ΕΦΑΡΜΟΩΝ ΤΜΗΜΑ : «ΕΩΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΟΠΟΡΑΦΙΑΣ» Μάθημα: άσεις Δεδομένων Διδάσκων: Δημήτρης Κοτζίνος Θέματα Τελικής Εξέτασης ΠΡΟΣΟΧΗ: Οι απαντήσεις πάνω

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

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

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών Ενότητα: Εισαγωγικές Εννοιες Ευάγγελος Ράπτης Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

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

Ανάλυση & Σχεδιασµός Πληροφοριακών Συστηµάτων Ι (Εργαστήριο) Σύστημα Διαχείρισης Πληροφοριακού υλικού της Δημοτικής επιχείρησης «Αναπτυξιακή ΑΕ»

Ανάλυση & Σχεδιασµός Πληροφοριακών Συστηµάτων Ι (Εργαστήριο) Σύστημα Διαχείρισης Πληροφοριακού υλικού της Δημοτικής επιχείρησης «Αναπτυξιακή ΑΕ» Α. ΠΕΡΙΓΡΑΦΗ ΕΡΓΑΣΙΑΣ Στα πλαίσια της εργασίας για το εργαστήριο «Ανάλυσης και Σχεδιασµού Πληροφοριακών Συστημάτων I» θα σχεδιαστεί το ακόλουθο ολοκληρωμένο πληροφοριακό σύστηµα (ΟΠΣ): Σύστημα Διαχείρισης

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1 Εισαγωγή Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Σχεσιακού Μοντέλου) Αντιστοιχία

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

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

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

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

Βάσεις Δεδομένων. Σχεσιακή Άλγεβρα. Φροντιστήριο 4 ο

Βάσεις Δεδομένων. Σχεσιακή Άλγεβρα. Φροντιστήριο 4 ο Βάσεις Δεδομένων Σχεσιακή Άλγεβρα Φροντιστήριο 4 ο 13-11-2008 Σύνδεση με τα Προηγούμενα (Σχεσιακή) Βάση Δεδομένων ένα σύνολο από σχέσεις (πίνακες) Γραμμές: πλειάδες Στήλες: Γνωρίσματα Βαθμός σχέσης: πλήθος

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

Ηλεκτρονικοί Υπολογιστές II

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Όψεις (views) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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