Σ χ ε σ ι α κ η Α λ γ ε β ρ α κ α ι δ ι δ α κ τ ι κ α ε ρ γ α λ ε ι α

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

Download "Σ χ ε σ ι α κ η Α λ γ ε β ρ α κ α ι δ ι δ α κ τ ι κ α ε ρ γ α λ ε ι α"

Transcript

1 Σ χ ε σ ι α κ η Α λ γ ε β ρ α κ α ι δ ι δ α κ τ ι κ α ε ρ γ α λ ε ι α Παρουσιαση και χρησιμοτητα της σχεσιακης αλγεβρας. Παρουσιαση εργαλειων σχεσιακης αλγεβρας και εξαγωγη συμπερασματων στην χρηση τους για βελτιωση της διδασκαλιας της ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΟΥ Κ α τ μ ε ρ ι δ η Ζ η σ η Επιβλεπων Καθηγητης : ΕΥΑΓΓΕΛΙΔΗΣ ΓΕΩΡΓΙΟΣ Εξεταστές : ΣΑΤΡΑΤΖΕΜΗ ΜΑΓΙΑ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΘΕΣΣΑΛΟΝΙΚΗ Σεπτέμβριος 2008

2 Copyright Κατμερίδης Ζήσης, 2008 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Η έγκριση της μεταπτυχιακής εργασίας από το Τμήμα Εφαρμοσμένης Πληροφορικής του Πανεπιστημίου Μακεδονίας δεν υποδηλώνει απαραιτήτως και αποδοχή των απόψεων του συγγραφέα εκ μέρους του Τμήματος. 2

3 ΠΕΡΙΛΗΨΗ Η σχεσιακή άλγεβρα αποτελεί τη βάση για τη δημιουργία βάσεων δεδομένων για διαχείριση είτε μικρού είτε μεγάλου όγκου πληροφοριών. H παρούσα επισκόπηση (review paper) αποτελεί μια αναλυτική καταγραφή της σχεσιακής άλγεβρας, του σχεσιακού λογισμού ως ισοδύναμης γλώσσας και κατάλληλου λογισμικού, τα οποία δίνουν τη δυνατότητα σε φοιτητές να μάθουν ταχύτερα και πιο αποτελεσματικά τον τρόπο σκέψης της σχεσιακής άλγεβρας. Περαιτέρω η παρουσίαση των διαφόρων ενοτήτων λογισμικού μας δίνει μια ιδέα του τι μπορεί να εφαρμοστεί στην εκπαίδευση για την εκμάθηση σχεσιακής άλγεβρας και σχεσιακού λογισμου. 3

4 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή.5 2 Πραξεις της σχεσιακή άλγεβρα Επιλογη Προβολη Πράξεις συνολου Μετονομασια Καρτεσιανο γινομενο Πραξεις συνενωσης Διαιρεση Πραξεις συναθροιστικων συναρτησεων.30 3 Σχεσιακός λογισμός Σχεσιακός λογισμός πλειάδων Σχεσιακός λογισμός πεδίου 33 4 Διδακτικά εργαλεία για την εκμάθηση της.34 σχεσιακής άλγεβρας και σχεσιακού λογισμού 4.1 WinRDBI idfql LEAP 58 5 Συμπεράσματα 65 6 Βιβλιογραφία

5 1) Εισαγωγή Η σχεσιακή άλγεβρα (relational algebra) ορίζεται ως ένα σύνολο πράξεων με τις οποίες μπορούμε να διαχειριστούμε τα δεδομένα των πινάκων μιας σχεσιακής βάσης δεδομένων. Αυτή η διαχείριση περιλαμβάνει την επιλογή γραμμών και στηλών οι οποίες πληρούν κάποια συγκεκριμένα κριτήρια, τόσο από ένα απλό πίνακα όσο και από το συνδυασμό δύο ή περισσοτέρων πινάκων. Το αποτέλεσμα της εφαρμογής αυτών των πράξεων είναι ένας νέος πίνακας πάνω στον οποίο μπορούμε να εφαρμόσουμε και άλλες τέτοιες πράξεις. Με τον τρόπο αυτό είναι τελικά δυνατή η πραγματοποίηση οποιασδήποτε ενέργειας, όσο πολύπλοκη και αν είναι. Η σχεσιακη αλγεβρα λοιπον είναι: Ένας απλός τρόπο δημιουργίας νέων σχέσεων από παλιές. Ένα σύνολο από πράξεις που όταν εφαρμοστούν σε σχέσεις μας δίνουν νέες σχέσεις 5

6 2) Πράξεις της σχεσιακής άλγεβρας Οι πράξεις της σχεσιακής άλγεβρας είναι: Πράξεις που αφαιρούν κομμάτια από μια σχέση είτε επιλέγοντας γραμμές είτε προβάλλοντας στήλες Οι συνηθισμένες πράξεις συνόλου - ένωση, τομή, διαφορά Πράξεις που συνδυάζουν πλειάδες από δύο σχέσεις Μετονομασία γνωρισμάτων 6

7 2.1) Επιλογή ( selection ) Εκτελείται πάνω σε μία σχέση R και ορίζει μια νέα, η οποία περιέχει μόνο εκείνες τις πλειάδες (tuples) της σχέσης R, οι οποίες ικανοποιούν ένα καθορισμένο κριτήριο επιλογής (κατηγόρημα predicate) (σχ. 2.1) Σχήμα 2.1 (Πηγη σχηματος 4) Επιλογή ενός υποσυνόλου των πλειάδων μιας σχέσης που ικανοποιεί μια συνθήκη επιλογής σ <συνθήκη επιλογής> (<όνομα σχέσης>) συνθήκη προτάσεις της μορφής =, >, <, ¹, ³, <όνομα γνωρίσματος> <τελεστής σύγκρισης> <όνομα γνωρίσματος> ή <σταθερή τιμή από το πεδίο ορισμού του γνωρίσματος> συνδυασμένες με AND, OR, NOT Παραδειγματα 7

8 Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Τιτλος Ετος Διαρκεια Ειδος Παραμυθι Φυγη Ανοιξη εγχρωμη ασπρομαυρη εγχρωμη α. Ταινιες με διαρκεια μικροτερη των 100 λεπτων σ διάρκεια < 100 (Ταινία) Τιτλος Ετος Διαρκεια Ειδος Παραμυθι Φυγη εγχρωμη ασπρομαυρη β. Ταινιες με διαρκεια μικροτερη των 100 λεπτων που γυριστηκαν μετα το 1999 σ διάρκεια < 100 AND ετος > 1999 (Ταινία) Τιτλος Ετος Διαρκεια Ειδος Φυγη ασπρομαυρη 8

9 Ιδιοτητες : Μοναδιαίος τελεστής Αντιμεταθετική πράξη σ σ <συνθ1> (σ <συνθ2> (R)) = σ <συνθ2> (σ <συνθ1> (R)) σ <συνθ1> (σ<συνθ2> ( σ<συνθn> (R)..)) = σ <συνθ1> AND <συνθ2> AND <συνθn> (R) βαθμός output = βαθμός input πλήθος πλειάδων = μικρότερο ή ίσο με την αρχική σχέση: ποσοστό που επιλέγονται - επιλεκτικότητα (selectivity) 9

10 2.2) Προβολή ( projection ) Εκτελείται πάνω σε μία σχέση R και ορίζει μια νέα, η οποία περιέχει ένα κάθετο υποσύνολο της R με όλες τις τιμές των ιδιωμάτων (attributes) που καθορίζονται κατά την εκτέλεση της σχέσης, χωρίς διπλές αναφορές. (σχ. 2.2) Σχημα 2.2 (πηγη σχηματος 4) Επιλογή συγκεκριμένων στηλών (γνωρισμάτων) π <λίστα γνωρισμάτων> (<όνομα σχέσης>) 10

11 Παραδειγματα: Τιτλος Ετος Διαρκεια Ειδος Παραμυθι Φυγη Ανοιξη εγχρωμη ασπρομαυρη εγχρωμη α. Τιτλος, ετος, διαρκεια ταινιων π τίτλος, ετος, διάρκεια (Ταινία) Τιτλος Ετος Διαρκεια Παραμυθι Φυγη Ανοιξη β. Είδος ταινιών π είδος (Ταινία) Ειδος εγχρωμη ασπρομαυρη Προσοχη: απαλοιφη διπλοτυπων 11

12 Ιδιοτητες. Ο τελεστής είναι μοναδιαίος. Απομακρύνονται οι διπλές πλειάδες (duplicate elimination). Μη αντιμεταθετική πράξη π λίστα-1 ( π λίστα-2 (R) ) ¹ π λίστα-2 ( π λίστα-1 (R)) [εν γένει]. π λίστα-1 ( π λίστα-2 (R) ) = π λίστα-1 (R) εφόσον η λίστα-1 περιέχει τα γνωρίσματα της λίστα-2. βαθμός output βαθμός input 12

13 2.3) Πράξεις συνόλου Ένωση ( Union ) Η ένωση δύο σχέσεων R και S είναι μια νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδες (εγγραφές) και των δύο σχέσεων, χωρίς επαναλήψεις. Οι R, S πρέπει να είναι συμβατές προς ένωση. (σχ. 2.3α) Σχημα 2.3.α (πηγη σχηματος 8) Ιδιοτητες : Δυαδική πράξη Αντιμεταθετική Προσεταιριστική Δημιουργεί νέα σχέση που περιέχει τις πλειάδες και των δύο σχέσεων εισόδου (μία φορά την καθεμία) 13

14 Τομή ( Intersection ) Η τομή δύο σχέσεων R και S είναι μια νέα σχέση η οποία περιλαμβάνει όλες τις πλειάδες (εγγραφές) που ανήκουν και στις δύο σχέσεις. Οι R, S πρέπει να είναι συμβατές προς ένωση. (σχ. 2.3.β ) Σχημα 2.3.β (πηγη σχηματος 8) Ιδιοτητες : Δυαδική πράξη Αντιμεταθετική Προσεταιριστική Δημιουργεί νέα σχέση που περιέχει μόνο τις κοινές πλειάδες των δύο σχέσεων εισόδου Διαφορά ( Difference ) 14

15 Η διαφορά δύο σχέσεων R και S ορίζει μια νέα σχέση η οποία περιλαμβάνει τις πλειάδες που ανήκουν στη σχέση R και δεν ανήκουν στη σχέση S. Οι R, S πρέπει να είναι συμβατές προς ένωση. ( σχ. 2.3.γ ) Σχημα 2.3.γ (πηγη σχηματος 8) Ιδιοτητες : Δυαδική πράξη Μη αντιμεταθετική Μη προσεταιριστική Δημιουργεί νέα σχέση που περιέχει τις πλειάδες της πρώτης σχέσης εισόδου που δεν περιέχονται στη δεύτερη Για να είναι δυνατή η εφαρμογή των πράξεων της ένωσης, της τομής και της διαφοράς σε δύο σχέσεις, αυτές πρέπει να είναι συμβατές ως προς την ένωση δηλαδή: 1. Να είναι του ίδιου βαθμού 2. Να υπάρχει 1-προς-1 ισοδυναμία στα πεδία ορισμού των κατηγορημάτων τους Παραδειγματα ΟΝΟΜΑ Ηθοποιος ΕΠΙΘΕΤΟ Σκηνοθετης Νικος Φτερης Ανεστης Μαρας Κωστας Χρηστου 15

16 Μαρια Στεργιου Αλικη Παππα Μαρια Γεωργιου ΟΝΟΜΑ ΕΠΙΘΕΤΟ Μαριος Φωτιου Ανεστης Μαρας Μανος Λυρας Νικος Φτερης Ε ν ω σ η Ηθοποιος Σκηνοθετης ΟΝΟΜΑ ΕΠΙΘΕΤΟ Ανεστης Μαρας Νικος Φτερης Κωστας Χρηστου Μαρια Στεργιου Αλικη Παππα Μαρια Γεωργιου Μαριος Φωτιου Μανος Λυρας Τ ο μ η Δ ι α φ ο ρ α Ηθοποιος Σκηνοθετης ΟΝΟΜΑ ΕΠΙΘΕΤΟ Κωστας Χρηστου Μαρια Στεργιου Αλικη Παππα Μαρια Γεωργιου Δ ι α φ ο ρ α Σκηνοθετης - Ηθοποιος ΟΝΟΜΑ ΕΠΙΘΕΤΟ Μαριος Φωτιου Ηθοποιος Σκηνοθετης ΟΝΟΜΑ ΕΠΙΘΕΤΟ Ανεστης Μαρας Νικος Φτερης Μανος Λυρας 16

17 2.4) Μετονομασια ( Rename ) Ονομα στην ενδιάμεση σχέση R Παραδειγμα ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ σ διάρκεια > 100 (Ταινία) Μετονομασία γνωρισμάτων R(λίστα με νέα ονόματα) Παραδειγμα ΜΕΓΑΛΗΣ_ΔΙΑΡΚΕΙΑΣ (όνομα ταινίας, έτος παραγωγής, διάρκεια, είδος) σ διάρκεια > 100 (Ταινία) Τιτλος Ετος Διαρκεια Ειδος Ανοιξη εγχρωμη 17

18 2.5) Καρτεσιανό γινόμενο ( Cartesian product ) Το καρτεσιανό γινόμενο R και S ορίζει μια νέα σχέση της οποίας οι πλειάδες είναι η συνένωση (concatenation) κάθε πλειάδας της σχέσης R με όλες τις πλειάδες της σχέσης S. (σχ. 2.5) (ή χιαστί γινόμενο (cross product) ή χιαστί συνένωση (cross join)) R(A 1, A 2,, A n ) x S(B 1, B 2,, B m ) αποτέλεσμα η σχέση Q: Q(A 1, A 2,,A n,b 1, B 2,, B m ) n + m γνωρίσματα n R * n S πλειάδες R a1 b1 a2 b2 a3 b3 a4 b4 S R S Σχεδιο 2.5 (πηγη σχεδιου 8) c1 d1 e1 c2 d2 e2 a1 b1 c1 d1 e1 a1 b1 c2 d2 e2 a2 b2 c1 d1 e1 a2 b2 c2 d2 e2 a3 b3 c1 d1 e1 a3 b3 c2 d2 e2 a4 b4 c1 d1 e1 a4 b4 c2 d2 e2 18

19 Παραδειγμα Ταινία Τίτλος Έτος Διάρκεια Είδος Παίζει Όνομα-Ηθοποιού Τίτλος Έτος Ηθοποιός Όνομα Διεύθυνση Έτος-Γέννησης Σύζυγος-Ηθοποιού Τιτλος Ετος Διαρκεια Ειδος Ταινια Φυγη Ανοιξη ασπρομαυρη εγχρωμη Ονομα Ηθοποιου Τιτλος Ετος Κ. Χρηστου Α. Παππα Μ. Στεργιου Μ. Γεωργιου Φυγη Μυθος Ανοιξη Ποθος Παιζει Παραδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει Α π όνομα, τίτλος, έτος (σ είδος = έγχρωμη AND Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος = Ταινία.έτος (Παίζει x Ταινία)) ή Β π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος(Παίζει x (σ είδος = έγχρωμη (Ταινία)) 19

20 Α1 Παιζει Χ Ταινια Παιζει Ονομα Παιζει Τιτλος Παιζει Ετος Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Κ. Χρηστου Φυγη 2000 Φυγη ασ/μαυρη Κ. Χρηστου Φυγη 2000 Ανοιξη εγχρωμη Α. Παππα Μυθος 1930 Φυγη ασ/μαυρη Α. Παππα Μυθος 1930 Ανοιξη εγχρωμη Μ. Στεργιου Ανοιξη 1998 Φυγη ασ/μαυρη Μ. Στεργιου Ανοιξη 1998 Ανοιξη εγχρωμη Μ. Γεωργιου Ποθος 1990 Φυγη ασ/μαυρη Μ. Γεωργιου Ποθος 1990 Ανοιξη εγχρωμη Α2 Επιλογη στο Α1 Παιζει Ονομα Παιζει Τιτλος Παιζει Ετος Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Κ. Χρηστου Φυγη 2000 Φυγη ασ/μαυρη Κ. Χρηστου Φυγη 2000 Ανοιξη εγχρωμη Α. Παππα Μυθος 1930 Φυγη ασ/μαυρη Α. Παππα Μυθος 1930 Ανοιξη εγχρωμη Μ. Στεργιου Ανοιξη 1998 Φυγη ασ/μαυρη Μ. Στεργιου Ανοιξη 1998 Ανοιξη Εγχρωμη Μ. Γεωργιου Ποθος 1990 Φυγη ασ/μαυρη Μ. Γεωργιου Ποθος 1990 Ανοιξη εγχρωμη Παιζει Ονομα Α3 Παιζει Τιτλος Προβολη του Α2 Παιζει Ετος Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Μ. Στεργιου Ανοιξη 1998 Ανοιξη εγχρωμη Παιζει Ονομα Παιζει Τιτλος Παιζει Ετος Μ. Στεργιου Ανοιξη

21 Ιδιοτητες Δυαδική πράξη αντιμεταθετική προσεταιριστική Δημιουργεί νέα σχέση με Κατηγορήματα: το σύνολο των κατηγορημάτων των δύο σχέσεων εισόδου Πλειάδες: όλους τους συνδυασμούς των πλειάδων των σχέσεων εισόδου Δεν απαιτείται συμβατότητα ως προς την ένωση Βαθμός output = βαθμός_input1 + βαθμός_input2 Πλήθος πλειάδων output = Πλήθος_πλειάδων_input1 Πλήθος_πλειάδων_input2 21

22 2.6) Πράξεις συνένωσης (join ) Ένα σύνολο πράξεων συνένωσης (JOIN) οι οποίες μπορούν να παραχθούν (εκφραστούν) ως ακολουθίες πράξεων καρτεσιανού γινομένου και επιλογής, με διάφορες παραλλαγές Πράξεις JOIN Θήτα-συνένωση ( Theta-join ) Συνένωση ισότητας ( Equi join ) Φυσική συνένωση ( Natural join) Εξωτερική συνένωση ( Outer join) Μερική συνένωση ( Semi-join ) Ιδιότητες: Δυαδικός τελεστής Αντιμεταθετική πράξη (με αντιστροφή των πεδίων στη συνθήκη βαθμός output = βαθμός_input_1 + βαθμός_input_2 Δεν εμφανίζονται οι πλειάδες που έχουν τιμή null στα πεδία που συμμετέχουν στη συνθήκη συνένωσης Ισοδυναμία με καρτεσιανό γινόμενο και επιλογή Θήτα συνένωση ( Theta - join ) συνδυασμός σχετιζόμενων πλειάδων 22

23 R <συνθήκη συνένωσης> S ( º σ <συνθήκη συνένωσης> (R x S) ) Συνθηκη συνενωσης Προτασεις της μορφης =, >, <, ¹, ³, Ai <τελεστής σύγκρισης> B j Όπου A i γνώρισμα της R, Bj γνώρισμα της S, και dom(ai) = dom(bj) συνδυασμένες με AND το αποτέλεσμα είναι οι συνδυασμοί πλειάδων που ικανοποιούν τη συνθήκη η συνθήκη αποτιμάται για κάθε συνδυασμό αποτέλεσμα σχέση Q με n + m γνωρίσματα πλειάδες με τιμή null σε γνώρισμα συνένωσης δεν εμφανίζονται στο αποτέλεσμα Παραδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει 23

24 Α) π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος(Παίζει x (σ είδος = έγχρωμη (Ταινία))) Β) π όνομα,τίτλος,έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος (σ είδος = έγχρωμη (Ταινία)) Β1 Επιλογη στην ταινια Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Φυγη ασ/μαυρη Ανοιξη εγχρωμη Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Ανοιξη εγχρωμη Παιζει Ονομα Β2 Παιζει Β1 Παιζει Τιτλος Παιζει Ετος Ταινια Τιτλος Ταινια Ετος Ταινια Διαρκεια Ταινια Ειδος Μ. Στεργιου Ανοιξη 1998 Ανοιξη εγχρωμη Β3 Παιζει Ονομα Προβολη στο Β2 Παιζει Τιτλος Παιζει Ετος Μ. Στεργιου Ανοιξη 1998 Συνενωση ισοτητας ( Equijoin ) όταν χρησιμοποιείται μόνο τελεστής ισότητας 24

25 Συνθήκη συνένωσης Προτάσεις της μορφής Ai = Bj όπου Ai γνώρισμα της R, Bj γνώρισμα της S, και dom(ai) = dom(bj) συνδυασμένες με AND Παραδειγμα Α Β C R S Β C D R R.B=S.B S R R.B=S.B AND R.C=S.C S A R.B R.C S.B SC D A R.B R.C S.B S.C D Φυσική συνένωση ( natural join ) Είναι μια συνένωση ισότητας μεταξύ δύο σχέσεων R και S, με κριτήριο όλα τα κοινά γνωρίσματα (attributes) των R και S, τα οποία περιλαμβάνονται στο αποτέλεσμα μόνο μία φορά 25

26 συνένωση ισότητας όπου παραλείπουμε το γνώρισμα της δεύτερης σχέσης από το αποτέλεσμα για διαφορετικό όνομα κανουμε μετονομασία R * (λίστα1, λίστα2) S επιλεκτικότητα συνένωσης : μέγεθος αποτελέσματος / (nr * ns) Παραδειγμα Για κάθε ηθοποιό το όνομα και τον τίτλο-έτος για όλες τις έγχρωμες ταινίες στις οποίες παίζει π όνομα, τίτλος, έτος (σ Παίζει.τίτλος = Ταινία.τίτλος Παίζει.έτος =Ταινία.έτος (Παίζει x (σ είδος = έγχρωμη (Ταινία))) AND π όνομα, τίτλος, έτος (Παίζει Παίζει.τίτλος = Ταινία.τίτλος AND Παίζει.έτος =Ταινία.έτος(σ είδος = έγχρωμη (Ταινία)) π όνομα, τίτλος, έτος (Παίζει * (σ είδος = έγχρωμη (Ταινία))) Συνοψιζοντας Επιλογή (σ) 26

27 Προβολή (π) Ένωση (È) Διαφορά (-) Καρτεσιανό γινόμενο (x) Τομή (Ç) Συνένωση Συνένωση ισότητας Φυσική συνένωση (*) 27

28 2.7) Διαίρεση Χρήσιμη όταν το ερωτημα περιεχει την φραση για κάθε η ολα Παράδειγμα : βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και η Sharon Stone. R (Παίζει) : Όλοι η ηθοποιοί και οι τανίες που Παίζουν S : Όλες τις ταινίες που παίζει η Sharon Stone Q: Οι ηθοποιοί που (το όνομα τους) εμφανίζονται στη σχέση Παίζει (R) με υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S S A a 1 a 3 R R S A B a 1 b 1 Ζ = {Α, Β} a 1 b 2 a 1 b 4 a 2 b 2 a 2 b 4 Q(Υ)? a 3 b 2 Χ = {Α} R(Z) S(X), X Í Z Υ = Ζ - Χ Υ = {Β} $ t R ÎR, t R [Y] = t και " t R [X] = t S, t S Î S R(Z) S(X), X Í Z Το αποτέλεσμα είναι μια καινούργια σχέση Q(Y) όπου Y = Z - X και t Î Q(Y) ανν $ t R ÎR, t R [Y] = t και " t R [X] = t S, t S Î S αναλογία με τη διαίρεση ακεραίων διαίρεση ακεραίων: R / S το αποτέλεσμα Q τέτοιο ώστε: Q * S R διαίρεση σχέσεων: R S το αποτέλεσμα Q τέτοιο ώστε... 28

29 Παραδειγμα Βρες τον ηθοποιό που παίζει σε όλες (σε κάθε) ταινία που παίζει και η Sharon Stone. S: Όλες τις ταινίες που παίζει η Sharon Stone Q: Οι ηθοποιοί που (το όνομα τους) εμφανίζονται στη σχέση Παίζει (R) με υπόλοιπα γνωρίσματα να παίρνουν όλες τις τιμές του S S π τίτλος, έτος (σ Όνομα Ηθοποιού = Sharon Stone (Παίζει)) Q Παίζει S Iσοδύναμη έκφραση για το Q(Υ) R(Ζ) S(Χ) Υπολογισμός των πλειάδων που δεν πρέπει να είναι στο αποτέλεσμα. Μια πλειάδα y αποκλείεται από το αποτέλεσμα αν όταν τις συνάψουμε μια τιμή x από το S, η πλειάδα <y, x> δεν ανήκει στο R Τ 1 (S x π Y (R)) - R Q π Y (R) - π Y (T 1 ) 29

30 2.8 ) Πράξεις συναθροιστικών συναρτήσεων Χρήσιμη η δυνατότητα της συνάθροισης: συνδυασμός των πλειάδων μιας σχέσης για τον υπολογισμό μιας συναθροιστικής τιμής Παραδείγματα: πόσοι ηθοποιοί παίζουν σε μια ταινία, ποιος ηθοποιός πήρε το μεγαλύτερο μισθό, κ.λ.π. Συναρτήσεις που παίρνουν ως παράμετρο μια συλλογή (όχι σύνολο) από τιμές Συνήθεις συναρτήσεις: SUM, AVERAGE, MAX, MIN, COUNT (πλήθος πλειάδων) Αποτέλεσμα μια σχέση και όχι μια τιμή Ƒ <λίστα συναρτήσεων> (<όνομα σχέσης>) ζεύγη <συνάρτηση γνώρισμα> Παραδειγμα Μεση διαρκεια ταινιων Ƒ AVERAGE διάρκεια (Ταινία) Παλαιοτερη και πιο προσφατη εγχρωμη ταινια Ƒ ΜΙΝ έτος, ΜΑΧ έτος ( σ είδος = έγχρωμη (Ταινία)) Τιτλος Ετος Διαρκεια Ειδος Παραμυθι Φυγη Ανοιξη εγχρωμη ασπρομαυρη εγχρωμη 30

31 3. Σχεσιακος λογισμος (relational calculus) Ο σχεσιακός λογισμός ( relational calculus ) είναι μια γλώσσα που μπορεί να χρησιμοποιηθεί σαν εναλλακτική λύση της σχεσιακής άλγεβρας. Έχει αποδειχθεί ότι οι δυο γλώσσες είναι ισοδύναμες. Είναι ισοδυναμος της σχεσιακης αλγεβρας οσον αφορα τα αποτελεσματα ανακτησης Διαφερει στον τροπο εκφρασης Στη σχεσιακη αλγεβρα εχουμε μια ακολουθια πραξεων π Ονομα (σ Ετος-Γεννησης >1980 (Χ)) Στο σχεσιακο λογισμο εχουμε δηλωτικες εκφρασεις t.oνομα Ηθοποιος (t) and t.ετος-γεννησης > 1980 Δυο εναλλακτικές μορφές Σχεσιακός λογισμός πλειάδων Σχεσιακός λογισμός πεδίου 31

32 3.1) Σχεσιακός λογισμός πλειάδων Ορισμος {t1.a1,t2.a2,, tn.an COND(t1,t2, tn, tn+2, tn+m)} t1,t2,,tn : πλειαδες Α1,Α2,,Αn : γνωρισματα COND : συνθηκη Παραδειγματα Οι Τιτλοι των ταινιων που γυριστηκαν μετα το 1990 {t.τιτλος Ταινια(t) and t.ετος > 1990} Το ονομα και η διευθυνση ολων των ηθοποιων που επαιξαν στην ταινια «Ανοιξη» του 1998 {t.ονομα, t.διευθυνση Ηθοποιος(t) and (( d) (Παιζει(d) and d.τιτλος = Ανοιξη and d.ετος = 1998 and d. Ονομα = t.ονομα))} 32

33 3.2) Σχεσιακός λογισμός πεδιου Οι μεταβλητες είναι απλες τιμες του πεδιου ορισμου των γνωρισματων μεταβλητες πεδιου τιμων που παιρνουν τιμες από πεδια ορισμου γνωρισματων COND : συνθηκη η τυπος του σχεσιακου λογισμου πεδιων Παραδειγμα Το ονομα και η διευθυνση ολων των ηθοποιων που επαιξαν στην ταινια «Ανοιξη» του 1998 {t.ονομα, Διευθυνση Ηθοποιος (t) and (( d) (Παιζει(d) and d.τιτλος = Ανοιξη and d.ετος = 1998 and d.ονομα = t.ονομα ))} n:ηθοποιος.ονομα, a:ηθοποιος.διευθυνση, o:παιζει.ονομα, t:παιζει.τιτλος, y:παιζει.ετος {n, a Ηθοποιος(na )and (( o) ( t ) ( y) ( Παιζει(oty) and t = Ανοιξη and y = 1998 and n=o))} 33

34 4) Διδακτικά εργαλεία για την εκμάθηση της σχεσιακής άλγεβρας 4.1) WinRDBI Το WinRDBI είναι ένα εργαλείο διδασκαλίας για χρήση στην εισαγωγική σειρά μαθημάτων για βάσεις δεδομένων στο κρατικό πανεπιστήμιο της Αριζόνα. Επιτρέπει στο χρήστη για να πειραματιστεί αμφίδρομα με τη σχεσιακή άλγεβρα, το σχεσιακό λογισμό περιοχών, τον tuple σχεσιακό λογισμό, και τις δομημένες γλωσσικές εκφράσεις διατύπωσης ερωτήσεων(sql). Το WinRDBI αλληλεπιδρά με μια μηχανή Prolog που εκτελεί τους πραγματικούς χειρισμούς βάσεων δεδομένων. Το WinRDBI είναι βασισμένο σε RDBI, το οποίο γράφτηκε κατά τη διάρκεια πολλων ετών από τους σπουδαστές ως ανεξάρτητα προγράμματα μελέτης. Το RDBI γράφτηκε σε Quintus Prolog και έτρεξε κάτω από τη UNIX ή VMS. Χρησιμοποιώντας RDBI, οι σπουδαστές αλληλεπιδρούσαν με ένα περιβάλλον γραμμής εντολών. Αυτό ανάγκαζε τους σπουδαστές να χρησιμοποιήσουν τις εγκαταστάσεις των πανεπιστημίων, είτε τοπικά είτε μέσω της dialup σύνδεσης, για να έχουν πρόσβαση στο πρόγραμμα. Επιπλέον, το RDBI μπορούσε να χρησιμοποιηθεί μονο στα συστήματα που ειχαν άδεια για να τρέξουν Quintus Prolog. Το έτος 1996 γραφτηκε η έκδοση 1.0 WinRDBI. Η διεπαφή και η χρήση της είναι τεκμηριωμένες μέσα. Εκτός από την παροχή μιας απλούστερης, πιο διαδραστικής γραφικής διεπαφής με την (GUI) οποία οι σπουδαστές θα μπορούσαν να αλληλεπιδράσουν, το WinRDBI έδωσε τους σπουδαστές που έχουν συμβατούς με IBM υπολογιστές στο σπίτι τη δυνατότητα να τρέχουν RDBI στους υπολογιστές τους. Για να βοηθήσει στην ολοκληρώση του στόχου, WinRDBI χρησιμοποίησε το Amzi! Prolog Logic Server αντί του Quintus Prolog. Το Amzi! επιλέχτηκε επειδή δεν έχει κανέναν περιορισμό αδειών χρόνου εκτέλεσης για τη μη εμπορική χρήση. Αργότερα βγήκε το WinRDBI 2.0. Η έκδοση 2.0 είναι ένας πλήρης επανασχεδιασμός του περιβάλλοντος της έκδοσης 1.0. Η έκδοση 2.0 γράφτηκε σε Java και χρησιμοποιεί τις Java Foundation Classes (JFC), για να παρέχει το ενδιάμεσο περιβάλλον με τον χρήστη. Η έκδοση 2.0 ακόμα αλληλεπιδρά με το Amzi! Prolog Logic Server για να εκτελέσει τις διαδικασίες βάσεων δεδομένων, αλλά το περιβάλλον χρήσης είναι εξ ολοκλήρου διαφορετικό. Αρχιτεκτονική του WinRDBI Η αρχιτεκτονική WinRDBI, που παρουσιάζεται στο σχήμα όχι μόνο προσβλέπει στην αυξανόμενη διαθεσιμότητα του εκπαιδευτικού εργαλείου αλλά αυξάνει επίσης τη δυνατότητα διαχείρισης της εφαρμογής. Το ενδιάμεσο με τον χρήστη και η μηχανή Prolog του διερμηνέα σχεσιακής βάσης δεδομένων εφαρμόζονται ως χωριστά συστατικά με μια καθορισμένη με σαφήνεια διεπαφή. 34

35 Σχημα (πηγη 13) Το γραφικό περιβάλλον της εφαρμογής είναι γραμμένο πλέον σε Java, σε αντίθεση με την έκδοση 1.0 που ήταν σε Visual Basic 4.0. Το περιβάλλον χρήστη με τον χρήστη είναι μεταγλωττισμένο σε τυποποιημένη μορφή εκτελέσιμου αρχείου Windows και χρησιμοποιεί τις υπηρεσίες μιας βιβλιοθήκης Prolog που παρέχεται ως δυναμική βιβλιοθήκη διασύνδεσης παραθύρων(dll). Το περιβάλλον χρήστη εξάλλου αλληλεπιδρά επίσης με το σύστημα αρχείων (file system), που αποθηκεύει τις ερωτήσεις (queries), την επέκταση σχημάτων (schema) και βάσεων δεδομένων(databases). Το τμήμα σχεσιακής βάσης δεδομένων γράφτηκε σε Amzi! Prolog 3.3, που επιτρέπει τη διανομή των DLL του δωρεάν για τις μη εμπορικές εφαρμογές, όπως WinRDBI. Το τμήμα μεταγλωττιστών σχεσιακής βάσης δεδομένων αλληλεπιδρά επίσης με το σύστημα αρχείων στην έναρξη του WinRDBI με την ανάγνωση της πηγής Prolog που εφαρμόζει το διερμηνέα. 35

36 Περιβάλλον χρήσης WinRDBI Το αρχικό παράθυρο WinRDBI παρουσιάζεται στο σχήμα τα κύρια συστατικά είναι: Καθορισμός ερώτησης, αποτελέσματα ερώτησης, σχέσεις και περιπτώσεις σχέσης. Το μέγεθος του παραθύρου μπορεί να ρυθμιστεί σύμφωνα με τις προτιμήσεις του χρήστη. Το τρέχον όνομα αρχείου της βάσης δεδομένων παρουσιάζεται στην μπάρα τίτλου. Ένα αρχείο βάσεων δεδομένων έχει μια επέκταση `RDB και αποτελείται από μια συλλογή των ορισμών σχέσης μαζί με την περίπτωσή τους. Το αρχείο RDB είναι ένα αρχείο ASCII των γεγονότων Prolog, όπου τα μεταδεδομένα αποθηκεύονται ως base_table γεγονότα και μια περίπτωση σχέσης αποθηκεύεται ως γεγονότα που δίνονται από το όνομα σχέσης. Σχήμα (πηγή 17) Το τμήμα καθορισμού ερώτησης χρησιμοποιείται για τον καθορισμό ερώτηση σε οποιεσδήποτε από τις τέσσερις υποστηριγμένες γλώσσες διατύπωσης ερωτήσεων. Η επιλογή γλώσσας γίνεται με την επιλογή ενός από τα τέσσερα πλήκτρα: Relational Algebra, DRC (Domain Relational Calculus), TRC (Tuple Relational Calculus), ή 36

37 SQL (Structured Query Language). Η ερώτηση μπορεί να υποστεί επεξεργασία χρησιμοποιώντας τις κανονικές εντολές Windows. Επίσης υποστηρίζονται τα cut, copy και paste. Το κουμπί Execute εκτελεί την τρέχουσα ερώτηση για να γίνει αξιολόγηση. Τα αποτελέσματα της ερώτησης επιδεικνύονται στο τμήμα αποτελεσμάτων ερώτησης. Στην ερώτηση μπορεί να χρησιμοποιήσει σύνταξη ανάθεσης (: =) για να δημιουργήσει μια νέα σχέση, η οποία υλοποιείται με τα αποτελέσματα της ερώτησης. Το τμήμα διαχείρισης ερώτησης επιδεικνύει tuples που καθορίζονται από τη συγγενική έκφραση στο τμήμα καθορισμού ερώτησης. Το σχήμα και η αρίθμηση tuples επιδεικνύονται επίσης. Ο χρήστης μπορεί να τυλίξει τα αποτελέσματα οριζόντια ή κάθετα αλλά δεν μπορεί να αλλάξει τα στοιχεία. Οι λίστες αντικειμένων σχέσεων καθορίζονται στην τρέχουσα σύνοδο. Αυτός ο κατάλογος είναι κάθετα scrollable. Ο χρήστης μπορεί να επιδείξει την περίπτωση μιας σχέσης με την επιλογή μιας σχέσης από αυτόν τον κατάλογο με ένα click. Ο χρήστης μπορεί να επιδείξει τον καθορισμό μιας σχέσης με την επιλογή μιας σχέσης με ένα διπλό click. Το τμήμα περιπτώσεων σχέσης παρουσιάζει την αρίθμηση, το σχήμα και tuples για τη σχέση που επιλέγεται στο τμήμα σχέσεων. Ο χρήστης μπορεί να τυλίξει την περίπτωση σχέσης οριζόντια ή κάθετα αλλά δεν μπορεί να αλλάξει τα στοιχεία άμεσα. Παραδείγματα χρήσης του WinRDBI Παράδειγμα 1 Το πρώτο παράδειγμα που θα συζητήσουμε είναι πολύ απλό που ρωτά τη βάση δεδομένων επιχείρησης για να ανακαλύψει ποιοι υπάλληλοι απασχολούνται για το τμήμα που ονομάζεται 'Research'. Το αποτέλεσμα περιέχει το όνομα, το επώνυμο, και τη διεύθυνση κάθε υπαλλήλου. 37

38 Σχήμα (πηγή 17) Μορφή σχεσιακής άλγεβρας Η λύση σχεσιακής άλγεβρας δημιουργεί δύο προσωρινές σχέσεις για να λύσει αυτό το πρόβλημα. Η πρώτη σχέση θα έχει ενιαίο tuple που περιέχει τον αριθμό τμημάτων του ερευνητικού τμήματος. Αυτές οι πληροφορίες είναι απαραίτητες εφόσον μόνο ο αριθμός τμημάτων, όχι το όνομα, κρατιούνται στο αρχείο υπαλλήλων. Η δεύτερη προσωρινή σχέση διαμορφώνεται με τη λήψη του καρτεσιανού προϊόντος της πρώτης προσωρινής σχέσης με τη σχέση υπαλλήλων, και την επιλογή μόνο εκείνων των tuples στα οποία ο αριθμός τμήματος υπαλλήλου (dno) είναι ίσος με την αριθμός του τμήματος έρευνας (dnumber). Αυτό παράγει μια σχέση που περιέχει μόνο εκείνα τα tuples για τους υπαλλήλους που εργάζονται στο ερευνητικό τμήμα. 38

39 Τέλος, οι ιδιότητες fname, lname και η διεύθυνση προβάλλονται από τη δεύτερη προσωρινή σχέση για να επιδείξουν μόνο τις ζητούμενες πληροφορίες. research_dept:=select dname='research' (department); research_dept_emps:=select dnumber=dno (research_dept product employee); alg1:=project fname, lname, address (research_dept_emps); Μορφή σχεσιακού λογισμού περιοχής (DRC) Το DRC είναι μια δηλωτική γλώσσα. Η λύση διευκρινίζει κατωτέρω το σύνολο tuples για το οποίο υπάρχει ένας αριθμός DNO τμημάτων για ένα τμήμα που ονομάζεται ' Research' και υπάλληλοι το των οποίων εγχώριο τμήμα είναι το ίδιο με DNO. drc1:= {FNAME, LNAME, ADDRESS (exists DNO) (department('research',dno,_,_) and employee(fname,_,lname,_,_,address,_,_,_,dno))}; Μορφή tuple σχεσιακού λογισμού (TRC) Η λύση TRC είναι πολύ παρόμοια με τη λύση DRC δεδομένου ότι δηλώνει τους υπαλλήλους των οποίων αριθμός τμήματος είναι ο ίδιος με τον αριθμό τμήματος έρευνας. trc1:= {T.fname, T.lname, T.address employee(t) and (exists D) (department (D) and D.dname='Research' and D.dnumber=T.dno)}; Μορφή δομημένης διατύπωσης ερωτήσεων (SQL) Η λύση SQL εξάγει απλά το όνομα, το επώνυμο, και tuples διευθύνσεων από τη σχέση υπαλλήλων όπου το ο αριθμός τμήματος του υπαλλήλου είναι ο ίδιος με το τμήμα έρευνας. sql1 := select fname,lname,address from employee, department where dname = 'Research' and dnumber = dno; 39

40 Παράδειγμα 2 Το δεύτερο παράδειγμα που θα εξετάσουμε ρωτά ποιοι υπάλληλοι στη βάση δεδομένων επιχείρησης έχουν δύο ή περισσότερους εξαρτώμενους. Κατωτέρω είναι οι λύσεις και σε στις τέσσερις γλώσσες που υποστηρίζονται από WinRDBI. Μορφή σχεσιακής άλγεβρας Η σχεσιακή άλγεβρα δεν υποστηρίζει τις συνολικές λειτουργίες όπως max, min και count. Εντούτοις, είναι δυνατό να λύσει αυτό το πρόβλημα στη σχεσιακή άλγεβρα εάν υποθέτουμε ότι κανένας υπάλληλος δεν έχει περισσότερους του ενός εξαρτώμενους με το ίδιο όνομα. Υπό αυτές τις προϋποθέσεις, μια λύση μπορεί να κατασκευαστεί ως εξής: empdep1(essn1, depname1) := project essn, dependent_name(dependent); empdep2(essn2, depname2) := empdep1; emps_gtone_dep(ssn) := project essn1 (select (essn1 = essn2) and (depname1 <> depname2) (empdep1 product empdep2); alg5 := project lname, fname (employee njoin emps_gtone_dep); Μορφή σχεσιακού λογισμού περιοχής (DRC) Η δηλωτική λύση DRC που δίνεται κατωτέρω δηλώνει ότι υπάρχει ένας υπάλληλος που έχει δύο εξαρτώμενους των οποίων ονόματα δεν είναι ίσα. drc5 := {LNAME, FNAME (exists SSN) (employee(fname,_,lname,ssn,_,_,_,_,_,_) and (exists DEP1,DEP2) (dependent(ssn,dep1,_,_,_) and dependent(ssn,dep2,_,_,_) and DEP1 <> DEP2))}; Μορφή tuple σχεσιακού λογισμού (TRC) Η λύση TRC είναι πολύ παρόμοια με τη λύση DRC. Όπως το DRC, TRC είναι μια δηλωτική γλώσσα. Η λύση στην ερώτηση διαβάζει ακριβώς όπως τη λύση DRC. trc5:= {E.lname, E.fname employee(e) and (exists D1,D2) (dependent(d1) and dependent(d2) and D1.essn=E.ssn and D2.essn=E.ssn and D1.dependent_name <> D2.dependent_name)}; 40

41 Μορφή δομημένης διατύπωσης ερωτήσεων (SQL) Η λύση SQL ενσωματωμένη λειτουργία αρίθμησης του s για να μετρήσει τον αριθμό υποτελών ενός υπαλλήλου, ο οποίος αποθηκεύεται σε μια ενδιάμεση σχέση. Η ενδιάμεση σχέση χρησιμοποιείται έπειτα από κοινού με τη σχέση υπαλλήλων για να επιδείξει τα ονόματα των υπαλλήλων με περισσότερους εκείνο το ένα εξαρτώμενο. dep_num(ssn,depent) := select ssn, count(*) from employee,dependent where ssn = essn group by ssn; sql5 := select lname,fname from employee e,dep_num d where e.ssn = d.ssn and depent >= 2; Πρακτικό παράδειγμα χρήσης WinRDBI Από το φάκελο samples ανοίγουμε το αρχείο emptraining.rdb Το άνοιγμα του αρχείου μας φέρνει την ακόλουθη βάση δεδομένων: 41

42 Μεγενθύνουμε περαιτέρω το παράθυρο της βάσης δεδομένων, ώστε να μπορούμε να δούμε εύκολα όλα τα δεδομένα Μετέπειτα ανοίγουμε το αρχείο emptraining.alg, το οποίο περιέχει ερωτήματα σχεσιακής άλγεβρας: 42

43 Από το μενού Windows πατάμε Arrange για να βλέπουμε τα παραθυρα τακτοποιημένα: Πατώντας το κουμπί με το θαυμαστικό εκτελούμε(execute) τις εντολές του αρχείου σχεσιακής άλγεβρας: 43

44 Πραγματικά αν δούμε την πρώτη έστω απο τις εκτελεσθείσες εντολές του αρχείου σχεσιακής άλγεβρας emptraining.alg θα καταλάβουμε ότι έχει σωστή αντιστοιχία με τα στοιχεία της σχεσιακής βάσης δεδομένων emptraining.rdb 44

45 4.2) idfql Το idfql είναι ένα εργαλείο VQS(Visual Query System) δηλαδή Οπτικό Σύστημα Ερωτήσεων. Τέτοια συστήματα θεωρού-νται ότι είναι συστήματα ερωτήσεων βάσεων δεδομένων που εξηγούν με οπτική μέθοδο τα ερωτήματα για βάσεις δεδομένων και τις σχέσεις των ερωτημάτων αυτών. Υπάρχουν οι εξής κατηγορίες VQS : Βασισμένα σε φόρμες : χρησιμοποιεί τις μορφές ως αφαιρέσεις των πινάκων. Το κύριο χαρακτηριστικό του είναι η απεικόνιση των πρωτοτύπων πινάκων κατά τη διάρκεια της διατύπωσης ερώτησης, με την πλήρωση των πεδίων της φόρμας. Π.χ. το QBE είναι τέτοιο εργαλείο. Βασισμένα σε διαγράμματα : χρησιμοποιεί ένα διάγραμμα βασισμένο σε οπτικά τμήματα που έχουν σχέση το ένα με το άλλο με συγκεκριμένες έννοιες. Βασισμένα σε εικόνες : χρησιμοποιεί τα τυποποιημένα εικονίδια για να αντιπροσωπεύσει κάθε περιληφθείσα έννοια, τη δράση και τη διαδικασία. Υβριδικά : αυτά τα VQS χρησιμοποιούν τους βέλτιστους συνδυασμούς των προηγούμενων τριών οπτικών παραδειγμάτων. Τέτοιο εργαλείο είναι το idfql. Το εργαλείο idfql καθορίζει τρεις τύπους συνδέσεων (flows): Σύνδεση δεδομένων (D) : Στέλνει έναν πίνακα μεταξύ των χειριστών. Σύνδεση κατάστασης (C) : Στέλνει την κατάσταση για να ενώσει και να επιλέξει τους χειριστές Σύνδεση ιδιοτήτων (A) : Στέλνει τον κατάλογο ιδιοτήτων στο χειριστή προγράμματος. Κάθε χειριστής idfql μπορεί να λάβει οποιοδήποτε αριθμό ροών εισαγωγής αλλά παράγει μόνο μια ροή παραγωγής. Μια ροή εξόδου μπορεί συνδέεται με οποιοδήποτε αριθμό ροών εισαγωγής του ίδιου τύπου του. Κάθε τύπος ροής αντιπροσωπεύεται από ένα διαφορετικό χρώμα: μπλε για τα στοιχεία, κόκκινα για τους όρους και το πορτοκάλι για τις ιδιότητες. 45

46 Χρηστικότητα Το idfql επιτρέπει στο σπουδαστή να χτίσει και να εκτελέσει τις ερωτήσεις που βασίζονται στα διαγράμματα ροής στοιχείων. Το κύριο παράθυρο του idfql παρουσιάζεται στο σχήμα 4.2.1: Σχήμα 4.2.1(πηγή 16) Κατά τη διάρκεια του βήματος κατασκευής ερωτήσεων, οι σπουδαστές επιλέγουν χειριστές (που αντιπροσωπεύονται από τα εικονίδια) σύμφωνα με τις προθέσεις τους και «σταμπάρουν» το καθένα στο panel κατασκευής ερωτημάτων. Μετά από αυτόν, οι σπουδαστές μπορούν να ρυθμίσουν και να δημιουργήσουν τις συνδέσεις μεταξύ των χειριστών αμφίδρομα και να εκτελέσουν την ερώτηση από την αρχή μέχρι οποιοδήποτε σημείο του διαγράμματος. 46

47 Αναπαράσταση και εκτέλεση ερώτησης Για παράδειγμα βάσεων, εξετάστε μια βάση δεδομένων για την εγγραφή των σπουδαστών, που αντιπροσωπεύεται στο σχεσιακό πρότυπο όπως: Teacher = (Name, EmployeeNo., Degree, Age) Student = (Name, StudID, Age, City) Team = (CodeD, TeamCode, Nstudents) Discip = (CodeD, Name, RequiredCodeD, Ncredit) Enrollment = (TeamCode, StudIN, Grade) Teach = (EmployeeNo., TeamCode, Book) Τώρα, θέτοντας το εξής ερώτημα : παράθεσε το StudID, Όνομα και Βαθμό όλων των αποδεκτών φοιτητών (Grade 6) σε κάθε σειρά. Έχει τις πολλαπλές μορφές στη σχεσιακή άλγεβρα, όπως στο σχήμα 4.2.2: Σχήμα 4.2.2(πηγή 20) Οι σπουδαστές που μαθαίνουν τη σχεσιακή άλγεβρα αντιμετωπίζουν πολλά προβλήματα όταν πρέπει να δημιουργήσουν τις εκφράσεις όπως αυτή που παρουσιάζεται ανωτέρω. Το πρώτο πρόβλημα οφείλεται στην «ξερή» επεξεργασία που δίνεται στις αλγεβρικές έννοιες. Ο δεύτερος είναι η έλλειψη από τα εργαλεία που επιτρέπουν στους σπουδαστές για να «τρυπήσουν» βαθύτερα τα ερωτήματα και να τα επεξεργαστούν εκτενέστερα. Επομένως, εάν θέλουν να εκτελέσουν την έκφραση, πρέπει να την μεταφράσουν σε μια άλλη γλώσσα διατύπωσης ερωτήσεων, όπως η SQL. Στην idfql, η διαδικασία μια ερώτηση απλοποιείται με τη χρησιμοποίηση των γραφικών στοιχείων (εικονίδια) που συνδέονται ως διαγράμματα. Η ίδια ερώτηση που παρουσιάζεται στο σχήμα 1 αντιπροσωπεύεται στο idfql όπως φαίνεται στο σχήμα 2 παρακάτω. Η απεικόνιση διαγραμμάτων του idfql επιτρέπει γνωστική βελτίωση της απεικόνισης ερωτήματος ενώ κρατά τις όλες ικανότητές του. Για να χτίσουν το ερώτημά τους,οι σπουδαστές πρέπει να εγκαταστήσετε τη σύνδεση σε μια βάση 47

48 δεδομένων και έτσι, να μετατοπίσετε, οργανώσουν και να συνδέσουν τους χειριστές για να καθορίσουν την ερώτηση. Ενώ οι σπουδαστές χτίζουν τις ερωτήσεις τους, πρέπει να θέσουν τις παραμέτρους χειριστών, όπως : να θέσουν τον πίνακα που διαβάζεται από έναν χειριστή εισαγωγής,να καθορίσουν τους όρους των υπό όρους χειριστών και των καθορισμένων καταλόγων ιδιοτήτων. Το Σχ παρουσιάζει τη διεπαφή που θέτει τον πίνακα βάσεων δεδομένων ενός χειριστή εισαγωγής. Οι σπουδαστές είναι σε θέση καθορισμένοι χειριστές μόνο μετά από την εγκατάσταση μιας σύνδεσης με μια βάση δεδομένων που χρησιμοποιεί το εργαλείο σύνδεσης (που παρουσιάζεται ως περιοχή IV στο Σχ 4.2.1). Ένα ερώτημα, ή μέρος από του, μπορεί να εκτελεσθεί μόνο εάν κάθε χειριστής συνδέεται και οι παράμετροί του ρυθμιστούν κατάλληλα. Προκειμένου να συνδεθούν δύο χειριστές, ο χρήστης: κάνει δεξί click τον πρώτο χειριστή, διαλέγει την επιλογή Connect(με pop-up μενού), κάνει αριστερό click τον 2 ο χειριστή, διαλέγει στη λίστα Outputs to χειριστή που «παράγει» το διάγραμμα και στη λίστα Inputs το χειριστή που «καταναλώνει το διάγραμμα, κάνει click το εικονίδιο Connect και επιβεβαιώνει τη λειτουργίες. Το εργαλείο idfql σύρει μια γραμμή για να αντιπροσωπεύσει σύνδεση μεταξύ των χειριστών που χρησιμοποιούν το συγκεκριμένο χρώμα βασισμένο στο σωστό τύπο ροής. Σχήμα 4.2.3(πηγή 15) 48

49 Σχήμα 4.2.4(πηγή 20) Είναι επίσης δυνατό να επιθεωρηθεί η εκτέλεση του ερωτήματος βαθμιαία, βήμα προς βήμα. Αυτό επιτρέπει στο σπουδαστή για να ανακαλύψει τα πιθανά προβλήματα και να τα επισημάνει ή ακόμα και μελετήστε τη συμπεριφορά των επιλεγμένων συνδυασμών χειριστών (Σχημα και Σχημα 4.2.6). Σχήμα (πηγή 16) 49

50 Σχήμα (πηγή 16) Πρακτικό παράδειγμα Ανοίγουμε το idfql, επιλέγουμε τι βάση δεδομένων ALUNO και πατάμε connect. 50

51 Ακολούθως ανοίγουμε το αρχείο exe1.dfq, όπου βλέπουμε ένα πίνακα απο τη βάση ALUNO και επιλογή(select) με κριτήρια και εμφάνιση αποτελέσματος με διαφανή τρόπο. Πατώντας Query στο κουτάκι εξόδου(μολυβάκι) εκτελεί τις εντολές σειριακά και μας δίνει τις εντολές και πίνακα αποτελεσμάτων: 51

52 Αντίστοιχα ανοίγωντας το αρχείο exe2.dfq, μας δίνει ένα λίγο πιο περίπλοκο παράδειγμα ποθ περιλαμβάνει και φυσική ένωση(natural join) Αντίστοιχα πατώντας στο κουμπάκι εξόδου το Query μας δίνει όλες τις πράξεις και πίνακα αποτελεσμάτων : 52

53 Εφάμιλλα είναι τα παραδειγματα με τα αρχεία exe3.dfq 53

54 Και exe4.dfq 54

55 Πλεονεκτήματα από τη διδασκαλία με idfql Τη σχεσιακή άλγεβρα μπορεί να τη δει κανείς ως γλώσσα διατύπωσης ερωτημάτων επειδή περιγράφει ολοκληρωμένα ένα ερώτημα που, όταν εκτελείται, παράγει επιθυμητό αποτέλεσμα. Στις βασικές αρχές των βάσεων δεδομένων, η σχεσιακή άλγεβρα παρουσιάζεται μόνο από θεωρητική άποψη: οι δάσκαλοι εξηγούν τη συμπεριφορά κάθε χειριστή που συνθέτει την άλγεβρα και έπειτα οι σπουδαστές προσπαθούν να κάνουν μερικές ασκήσεις (ερωτήσεις κατασκευής) στο έγγραφο. Επιπλέον, η διαδικασία διδασκαλίας της σχεσιακής άλγεβρα έχει μερικές εγγενείς δυσκολίες, όπως η απόσταση από τις έννοιες που μαθαίνονται στην πραγματικότητα εκτελώντας τις πραγματικές ερωτήσεις. Αυτό οδηγεί στις δυσκολίες των σπουδαστών για να γίνει κατανοητή η σχεσιακή άλγεβρα, η οποία αποτελεί μια ενδιαφέρουσα πρόκληση διδασκαλίας/εκμάθησης. Δεδομένου ότι η σχεσιακή άλγεβρα είναι η βάση των διαδικασιών βελτιστοποίησης ερωτήματος σε RDBMS (όταν η RDBMS λαμβάνει μια ερώτηση σε SQL, δημιουργεί διάφορες εκφράσεις σχεσιακής άλγεβρας που αντιπροσωπεύουν εκείνη την ερώτηση χρησιμοποιώντας τις αλγεβρικές ιδιότητες, για να επιλέξει την καλύτερη), είναι επιτακτικό λόγος οι σπουδαστές να κατέχουν τις έννοιές του. Αν και στην πράξη, η γλώσσα SQL είναι αρκετή για απεικόνιση ενός ερωτήματος, η χρήση των εκφράσεων σχεσιακής άλγεβρας επιτρέπει στους σπουδαστές να αναπτύξουν τις βελτιστοποιημένες δηλώσεις SQL που, μερικές φορές, δεν μπορούν να βρεθούν από τους αυτόματους βελτιωτές(optimizers) της RDBMS. Το idfql βοηθά τους σπουδαστές να βελτιώσουν την κατανόηση της σχέσης μεταξύ των εκφράσεων σχεσιακής άλγεβρας και SQL κατά τη διάρκεια της διαδικασίας διδασκαλίας/εκμάθησης. Δοκιμή και αξιολόγηση του idfql Προκειμένου να αξιολογηθούν οι λειτουργίες και η χρησιμότητα του εργαλείου idfql, μια περιπτωσιολογική μελέτη πραγματοποιήθηκε με τους σπουδαστές από τη σειρά μαθημάτων «εισαγωγής βάσεων δεδομένων» στον τμήμα Εφαρμοσμένης Μηχανική Υπολογιστών στο ομοσπονδιακό πανεπιστήμιο São Carlos (UFSCar) κατά τη διάρκεια του δεύτερου εξαμήνου του Η περιπτωσιολογική μελέτη είχε δύο στάδια. Στον πρώτο, οι σπουδαστές έλυσαν ένα σύνολο ασκήσεων σε χαρτί. Έλαβαν απλή περιγραφή βάσεων δεδομένων και τέσσερις ερωτήσεις που πρέπει να περιγραφούν χρησιμοποιώντας τη σχεσιακή άλγεβρα. Στο δεύτερο, έλαβαν την ίδια περιγραφή βάσεων δεδομένων και πρέπει να απαντήσουν στις παρόμοιες ασκήσεις χρησιμοποιώντας το εργαλείο idfql. 55

56 Είκοσι πέντε (25) σπουδαστές συμμετείχαν στην πρώτης φάσης και των είκοσι οχτώ (28) στην δεύτερης. Το σχήμα συνοψίζει τα αποτελέσματα που αποκτώνται από τις σε χαρτί και idfql-βασισμένες δοκιμές. Αυτός ο πίνακας παρουσιάζει τη σύγκριση μεταξύ των δοκιμών από την άποψη του σωστού αριθμού ερωτήσεων που γίνονται από τους σπουδαστές σε κάθε στάδιο. Σχήμα (πηγή 20) Όπως μπορεί να παρατηρηθεί στο σχήμα 4.2.7, χρησιμοποιώντας idfql, οι περισσότεροι από τους σπουδαστές έχουν κάνει τουλάχιστον τρεις σωστές ερωτήσεις. Χρησιμοποιώντας τνη προσέγγιση εγγράφου, οι περισσότεροι από τους σπουδαστές δεν πέτυχαν καμία σωστή απάντηση (επτά από αυτούς δοκίμασαν να απαντήσουν στις ασκήσεις με τη χρήση της SQL). Ο μέσος όρος των σωστών απαντήσεων αυξήθηκε από 1.24 ερωτήσεις σε χαρτί, σε 3.07 ερωτήσεις στην βασισμένη σε idfql προσέγγιση. Μετά από τη λύση των ασκήσεων με χρήση του εργαλείο idfql, οι σπουδαστές κλήθηκαν να απαντήσουν σε ένα ερωτηματολόγιο για αυτό. Μερικές από τις σημαντικότερες ερωτήσεις παρουσιάζονται στο σχήμα

57 Σχήμα (πηγή 20) 57

58 4.3) LEAP Το LEAP είναι ένα σύστημα διαχείρισης σχεσιακής βάσης δεδομένων (RDBMS). Το LEAP υποστηρίζει τις σχέσεις, έχει μια γλώσσα διατύπωσης ερωτήσεων από την οποία οι πληροφορίες μπορούν να εξαχθούν από τις σχέσεις, και έχει ένα περιβάλλον υποστήριξης για τους χρήστες που ζητούν τα στοιχεία. Σε ένα τέτοιο βασικό επίπεδο, το LEAP είναι ακριβώς όπως οι μεγάλου μεγέθους, σύνθετες, κρίσιμες υλοποιήσεις RDBMS από Sybase, τη Oracle και τη IBM. Σαφέστατα δεν είναι τόσο ισχυρό όσο αυτές οι βαρέων βαρών εφαρμογές. Το LEAP είναι διαφορετικό υπό την έννοια ότι γράφτηκε αρχικά ως εκπαιδευτικό εργαλείο από έναν σπουδαστή. (πηγή 18) Η γλώσσα διατύπωσης ερωτήσεων κάνει το LEAP αυτό που είναι. Αποτελεί μια πλήρη εφαρμογή σχεσιακής άλγεβρας, η οποία είναι η θεωρητική βάση για τις πολύ πιο προηγμένες γλώσσες διατύπωσης ερωτήσεων όπως η SQL. Κατά τη μελέτη της θεωρίας βάσεων δεδομένων, οι σπουδαστές θα αντιμετωπίσουν γενικά τη σχεσιακή άλγεβρα μαζί με το σχεσιακό λογισμό ως μέσα με τα οποία η συμπεριφορά του σχεσιακού μοντέλου μπορεί να οριστεί. Το LEAP έχει ενσωματωθεί σε σειρές μαθημάτων σε διάφορα πανεπιστήμια σε όλο τον κόσμο. Παρέχει στους σπουδαστές ένα εργαλείο με το οποίο μπορούν να πειραματιστούν με τη σχεσιακή άλγεβρα, εφαρμόζοντας πρακτικά παραδείγματα ώστε μπορούν να γίνει η εκμάθηση πολύ πιο ενδιαφέρουσα. Το LEAP έχει χρησιμοποιηθεί, με μεγάλη επιτυχία σε διάφορες σειρές μαθημάτων για τις βάσεις δεδομένων που οργανώνονται στο πανεπιστήμιο της Οξφόρδης Brookes, και με αυξανόμενο ρυθμό σε ιδρύματα σε όλο τον κόσμο. Οι σπουδαστές έχουν χρησιμοποιήσει το LEAP για να βελτιώσουν την κατανόηση σχεσιακής θεωρίας και τις σχεσιακές γλώσσες διατύπωσης ερωτήσεων. Διάφορα πανεπιστήμια στ η Γαλλία, τη Νέα Ζηλανδία, την Αυστραλία, τη Βραζιλία, τη Σουηδία και την Αμερική αναφέρουν ότι χρησιμοποιούν το LEAP. Χρήση του LEAP και παραδείγματα Το LEAP σχεδιάζεται ως διερμηνέας για τη σχεσιακή άλγεβρα. Υποτίθεται ότι εξοικειώνεται με αυτό κανείς μαθαίνοντας τις έννοιες της. Εν συντομία, μπορεί να τρέξει κάποιος το LEAP δίνοντας τις διάφορες εκφράσεις από τα γραπτά παραδείγματα και να δει τα αποτελέσματα για την οθόνη. Παράδειγμα Ένα απλό παράδειγμα είναι το παρακάτω, το οποίο μάλιστα περιλαμβάνεται στο πακέτο λογισμικού LEAP για την καλύτερη κατανόηση των λειτουργιών του : 58

59 Μετά από την εκκίνηση του LEAP, θα εμφανιστεί κάτι σαν τα εξής: LEAP An extensible and free RDBMS Copyright (C) Richard Leyton. LEAP comes with ABSOLUTELY NO WARRANTY; for details type "warranty". This is free software, and you are welcome to redistribute it under certain conditions; type "copying" for details. [NON-FATAL] #2 - Error opening file [./configs/vars]. Message: No variables set! Message: Directory specified [./] not valid. Trying [../] Message: Debug level set to: 0 Message: Minimum debug level set to: 0 Message: Variables are now set. Message: Applying command line options... Message: Completed application of command line options... Message: LEAP is starting... Message: Opening [tempdb] database... Message: Creating hash table for [zzfxrh]. Message: Opening [master] database... Message: Opening [user] database... Message: Startup sequence initiated. Message: Sourcing startup.src in master Message: Readline library available for command history/editing Message: Sourcing open.src in user [user] :-) Αυτή η οθόνη λέει τι τρέχουμε, ποιες επιλογές και ρυθμίσεις έχουμε κάνει καθώς και άλλες πληροφορίες. Στο τέλος υπάρχει ένα σύντομο μήνυμα καλωσορίσματος και κάποιες υπενθυμίσεις για χρήση μερικών αντικειμένων. Μέσα στο LEAP, οι διάφορες σχέσεις διαχωρίζονται σε ξεχωριστές βάσεις δεδομένων. Μια βάση θεωρείται η συλλογή λογικά συσχετιζόμενων σχέσεων, που σε αυτή την περίπτωση είναι σχέσεις από συγκεκριμένο κείμενο βάσης. Ξεκινώντας χρησιμοποιούμε την βάση του Stanczyk οπότε πληκτρολογούμε "use stanczyk" για να αλλάξουμε βάση : [user] :-) use stanczyk Updating Hash Tables: leapattributes leaprel leapscripts leaptypes relship Message: Disposing relations Message: Opening [stanczyk] database... > This is the Stanczyk database. Examples are taken from > 'Theory and Practice of relational databases'. > This database has a number of useful examples that > clearly demonstrate the relational algebra Τώρα είμαστε μέσα στη βάση stanczyk. Υπάρχουν διάφορες σχέσεις τις οποίες μπορούμε να δούμε αν πληκτρολογήσουμε "list": 59

60 [stanczyk] :-) NAME leaprel leapattributes leaptypes relship leapscripts auction book delivery ex_auth ex_book ex_publi example goods index lc names q r s stock subject Message: Relation zzzcbx returned Για να εμφανίσουμε μια συγκεκριμένη σχέση,ας πούμε την book πατάμε "print book": [stanczyk] :-) print book reference author title R003 JOYCE ULYSSES R004 JOYCE ULYSSES R023 GREENE SHORT STORIES R025 ORWELL ANIMAL FARM R033 LEM ROBOTS TALES R034 LEM RETURN FROM STARS R036 GOLDING LORD OF THE FLIES R028 KING STRENGTH TO LOVE R143 HEMINGWAY DEATH IN THE AFTERNOON R149 HEMINGWAY TO HAVE AND HAVE NOT Message: Relation book returned Απλό ως τώρα. Παραπέρα ένα παράδειγμα σχεσιακής άλγεβρας μέσα στο LEAP. Μία λίστα συγγραφέων βιβλίων. Ο χειριστής project είναι ο κατάλληλος γι αυτό το μικρό ερώτημα. Πληκτρολογούμε "project (book) (author)" : 60

61 [stanczyk] :-) project (book) (author) Message: Relation zzqqil returned. [stanczyk] :-) print zzqqil author JOYCE GREENE ORWELL LEM GOLDING KING HEMINGWAY Message: Relation zzqqil returned Όπως και να δακτυλογραφήσει τις εντολές το αποτέλεσμα μιας έκφρασης μπορεί να οριστεί σε μια συγκεκριμένη σχέση, π.χ. πληκτρολογώντας "r1=project (book) (author)" δίνει το αποτέλεσμα στη σχέση r1. Η σχέση που θέλουμε να δούμε δεν πρέπει να υπάρχει ήδη. Ισχύουν επίσης κάποιοι κανόνες : κάθε σχέση ή αλγεβρική εξίσωση πρέπει να είναι μέσα σε εισαγωγικά και η λίστες ιδιοτήτων πρέπει να διαχωρίζονται με κόμμα. Συνδυάζοντας εκφράσεις Αφότου έχουμε ορίσει το αποτέλεσμα μιας έκφρασης σε μια σχέση, μετέπειτα μπορούμε να προσθέσουμε επιπλέον λειτουργίες για να φτάσουμε σε επιπλέον αποτελέσματα, π.χ. να θέλουμε «να βρούμε θέματα που δεν υπάρχουν στη βιβλιοθήκη». Υπάρχουν δύο τρόποι : Α) Ο ένας είναι να προσδιορίσουμε κάθε λειτουργία σε ξεχωριστή γραμμή και να χρησιμοποιήσουμε ορισμό των αποτελεσμάτων : subjcl=project (subject) (class) indcla=project (index) (class) result=difference (subjcl) (indcla) print result B) O δεύτερος είναι να χρησιμοποιήσουμε τη αρχή της σχεσιακής περάτωσης. Είναι η αρχή σύμφωνα με την οποία κάθε χειριστής επιστρέφει μία σχέση σαν αποτέλεσμα. 61

62 Το αποτέλεσμα της έκφρασης μετακινείται σε έκφραση υψηλότερου επιπέδου, η ποία μετά αξιολογείται : (project(subject) (class)) difference (project (index) (class) ) Προσχεδιασμένες εκφράσεις Είναι πιθανό ότι θα θελήσουμε να εργαστούμε σε μια σύνθετη έκφραση, και να μη μας παίρνει για να κάνουμε ότι θέλουμε. Αντί να πληκτρολογούμε εκφράσεις επαναλαμβανόμενα, μπορούμε να αποθηκεύουμε εκφράσεις σε ένα αρχείο και να το εκτελούμε. Για να δούμε τη λίστα των χειρογράφων(scripts) πληκτρολογούμε sources. Ένα χειρόγραφο είναι ορισμένο για μια συγκεκριμένη βάση δεδομένων, π.χ. δε μπορούμε να εκτελέσουμε χειρόγραφο που βρίσκεται στη βάση ημερομηνιών για τη βάση ονομάτων. Εκτελούμε με scriptname : [stanczyk] :-) l ex41b Source File: ex41b # This example is taken from STA90 and is given in the infix form # Example 4.1 (b) r2=(project (subject) (class)) difference (project (index) (class)) print r2 [stanczyk] ex41b [stanczyk] :-) [stanczyk] :-) [stanczyk] :-) r2=(project (subject) (class)) difference (project (index) (class)) Message: Relation r2 returned. [stanczyk] :-) print r2 class C4 C5 C6 Message: Relation r2 returned

63 Σχεσιακοί χειριστές Αντί να εξηγηθεί τι κάνουν οι μεμονωμένοι χειριστές, δίνουμε μια απλή επισκόπηση του τρόπου που εκφράζονται στο LEAP. project (expression) (attrib1, attrib2,..., attribn) (expression) union (expression) (expression) intersect (expression) (expression) difference (expression) (expression) product (expression) select (expression) ((condition) {[and or] (condition)} ) join (relation) (relation) ((condition) {[and or] (condition)}) natjoin (relation) (relation) Η έκφραση difference μπορεί να αντικατασταθεί με την minus κατά προτίμηση, όπως και η select με την restrict.ας σημειωθεί ότι με την ένωση, τομή, διαφορά και το γινόμενο μπορούμε να τοποθετήσουμε το χειριστή σε οποιοδήποτε σημείο θέλουμε μέσα στην έκφραση. Χειρισμός βάσεων Οι σχέσεις ομαδοποιούνται σε χωριστές βάσεις δεδομένων. Οι σχέσεις μέσα σε μια βάση δεδομένων συσχετίζονται συνήθως η μία με την άλλη, π.χ. μια επιχείρηση να έχει μια βάση δεδομένων μισθοδοτικών καταστάσεων, μια βάση της επιτροπής και τα λοιπά. Οι βάσεις δεδομένων του LEAP δεν είναι τόσο πολύπλοκες. Ομαδοποιούνται από τα διαφορετικά βιβλία κειμένων, από τα οποία λαμβάνονται τα παραδείγματα. Δύο βάσεις είναι ειδικές: οι master και user. Η master έχει το λεξικό δεδομένων. Η user είναι η εξ ορισμού βάση όπου συνδέεται κανείς. Επιπλέον, η βασική διανομή του LEAP περιέχει τρεις ακόμη βάσεις: date, stanczyk και korth. Δημιουργούμε βάση με: create dbname Χρησιμοποιούμε βάση με: use dbname 63

64 Παράδειγμα: [stanczyk] :-) create example Message: Updating Hash Tables: leapattributes leaprel leapscripts leaptypes relship Message: Disposing relations Message: Opening [example] database... Message: Creating hash table for [leapscripts]. [stanczyk] :-) use example Message: Updating Hash Tables: auction book delivery ex_auth ex_book ex_publi example goods index lc leapattributes leaprel leapscripts leaptypes names q r r2* relship s stock subject Message: Disposing relations Message: Opening [example] database... [example] :-) [example] :-) [example] :-) list NAME leaprel leapattributes leaptypes relship leapscripts Message: Relation zziclt returned. [example] :-) use Valid databases are: master user tempdb stanczyk date korth example 64

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Τι έχουμε δει έως σήμερα Σχεδιασμό και Υλοποίηση Σχεσιακών Βάσεων δεδομένων Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για τον ορισμό των σχημάτων)

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2017-2018 1 Τι έχουμε δει έως σήμερα Σχεδιασμό βάσεων δεδομένων μοντέλο Οντοτήτων/Συσχετίσεων σχεσιακό μοντέλο (ορισμός σχήματος) Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Βάσεις Δεδομένων 2018-2019 1 Τι έχουμε δει έως σήμερα Σχεδιασμό βάσεων δεδομένων μοντέλο Οντοτήτων/Συσχετίσεων σχεσιακό μοντέλο (ορισμός σχήματος) Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα 1 Ανακοινώθηκε το 1 ο Σύνολο Ασκήσεων στη σελίδα του μαθήματος Ημερομηνία Παράδοσης 3/11/2016 2 Τι έχουμε δει έως σήμερα Σχεδιασμό και Υλοποίηση Σχεσιακών Βάσεων δεδομένων Μια γλώσσα ορισμού

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

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

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακή Άλγεβρα Ευαγγελία Πιτουρά 1 Τι έχουμε δει έως σήμερα Σχεδιασμό και Υλοποίηση Σχεσιακών Βάσεων δεδομένων Μια γλώσσα ορισμού δεδομένων ΓΟΔ (για τον ορισμό των σχημάτων) ένας μεταφραστής της ΓΟΔ

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (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

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

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

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

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

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα

Σχεσιακός Λογισμός. Σχεσιακός Λογισμός Πλειάδων. σχεσιακά πλήρης γλώσσα Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Πλειάδων Πεδίου Βάσεις Δεδομένων 2005-2006 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2005-2006 Ευαγγελία Πιτουρά 2 Γιατί σχεσιακό λογισμό;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Σύνθετα 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, τα ονόματα των πεδίων (γνωρισμάτων) σε κάθε σχέση είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Πλειάδων Πεδίου Βάσεις εδοµένων 2004-2005 Ευαγγελία Πιτουρά 1 Βάσεις εδοµένων 2004-2005 Ευαγγελία Πιτουρά 2 Γιατί σχεσιακό λογισµό; αδυναµία

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

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

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

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

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

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

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

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η SQL ως γλώσσα ερωτημάτων Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα) Η γλώσσα SQL Η SQL αποτελείται από: DDL (Data Definition Language)

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

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

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

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

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

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

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

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

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

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

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

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

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) Δένδρο Επερώτησης (Query Tree) Δένδρο Επερώτησης (Query Tree) Είναι μια δενδρική δομή που αντιστοιχεί

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 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,

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

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

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

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

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

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

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισµός Σχεσιακό Μοντέλο Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

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

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS

Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS Ακαδημαϊκό Έτος 2016-2017, Χειμερινό Εξάμηνο Μάθημα: Εργαστήριο «Πληροφορική Υγείας» ΕΙΣΑΓΩΓΗ ΣΤΗΝ ACCESS A. Εισαγωγή στις βάσεις δεδομένων - Γνωριμία με την ACCESS B. Δημιουργία Πινάκων 1. Εξήγηση των

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

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

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

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

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

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

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

Σχεσιακός Λογισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακός Λογισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Εισαγωγή Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Θα δούμε μόνο το σχεσιακό λογισμό

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

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

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

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι Απλά ερωτήματα Επιλογής Ερωτήματα με Ενώσεις πινάκων Ερωτήματα με Παραμετρικά Κριτήρια Ερωτήματα με Υπολογιζόμενα πεδία Απλά ερωτήματα Επιλογής Τα Ερωτήματα μας επιτρέπουν

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

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων

Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Κεφάλαιο 10 Άλλες Πράξεις Θεωρίας Συνόλων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιαστεί η πράξη της διαίρεσης. Στο κομμάτι των ασκήσεων θα γίνει συνολική επισκόπηση ερωτημάτων που εμπλέκουν πράξεις συνόλων.

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

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

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

Τμήμα Πληροφορικής ΑΠΘ

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

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

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου Βάσεις εδοµένων

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Query by Example QBE Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos CMU)

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

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

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

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

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

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

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

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

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

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

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

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Απρίλιος 2007 1 Περιεχόμενα Εισαγωγή...2

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

Σχεσιακός Λογισμός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

Σχεσιακός Λογισμός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Σχεσιακός Λογισμός Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Βάσεις Δεδομένων

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

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου

Σχεσιακός Λογισµός. Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Σχεσιακός Λογισµός Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Σχεσιακό Μοντέλο Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός Πλειάδων Σχεσιακός Λογισμός Πεδίου Θα δούμε μόνο

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

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

Σχεδίαση Βάσεων Δεδομένων Οδηγίες Μέρος 1: Απαντήστε κάθε ερώτηση. 1. Ποια είναι τα πλεονεκτήματα που παρέχει το Περιβάλλον Βάσεων Δεδομένων της Oracle για τις επιχειρήσεις; Το σύστημα διαχείρισης βάσεων δεδομένων της Oracle δίνει

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Σύνοψη Σ αυτό το κεφάλαιο θα περιγράψουμε τη δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες

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

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ 2014-2015 Βάσεις Δεδομένων Εργαστήριο ΙV Τμήμα Πληροφορικής ΑΠΘ 2014-2015 2 Σκοπός του 4 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: η μελέτη ερωτημάτων σύνδεσης η μελέτη ερωτημάτων συνάθροισης 3 Εκφράσεις

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

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006 Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006 A Θέμα 1 ο (30%) 1. (10%) α) Ποια τα πλεονεκτήματα ενός B + -tree ευρετηρίου; β) Αναφέρετε τις διαφορές ανάμεσα στα αραιά και τα πυκνά ευρετήρια.

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

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

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

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

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. Σχεσιακός Λογισμός Σχεσιακός Λογισμός Γλώσσα βασισμένη στον Κατηγορηματικό Λογισμό 1 ης Τάξης (First Order Predicate Calculus) Οι περισσότερες γλώσσες επερώτησης σχεσιακών βάσεων δεδομένων βασίζονται στον Σχεσιακό Λογισμό

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

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

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

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

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

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

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

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

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

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

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

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

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

Γνωρίστε το Excel 2007

Γνωρίστε το Excel 2007 Εισαγωγή τύπων Γνωρίστε το Excel 2007 Πληκτρολογήστε το σύμβολο της ισότητας (=), χρησιμοποιήστε ένα μαθηματικό τελεστή (+,-,*,/) και πατήστε το πλήκτρο ENTER. Πρόσθεση, διαίρεση, πολλαπλασιασμός και αφαίρεση

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQLΜέρος Α Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

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

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων Αικατερίνη Καμπάση, PhD Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων Ζάκυνθος 2011 2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΝΟΤΗΤΑ 1: ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ 5 1.1 Βάσεις Δεδομένων 7 1.2

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

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

ΗΥ360: Αρχεία και Βάσεις Δεδομένων Διδάσκων: Πλεξουσάκης Δημήτρης. Φροντιστήριο Σχεσιακή Άλγεβρα Δημητράκη Κατερίνα ΗΥ360: Αρχεία και Βάσεις Δεδομένων Διδάσκων: Πλεξουσάκης Δημήτρης Φροντιστήριο Σχεσιακή Άλγεβρα Δημητράκη Κατερίνα Αντιστοίχιση Μοντέλο Οντοτήτων Σχέσεων Σχεσιακό μοντέλο ID Customer ID Name 1928 Γιώργος

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