Ένα Αλγεβρικό Σύστημα, Συντίθεται Από Τελεστές (Πράξεις) Και Τελεσταίους (Τα Αντικείμενα Πάνω Στα Οποία Εφαρμόζονται Οι Πράξεις). π.χ. Α+Β ή 5*Α+3*Β Σχεσιακό Αλγεβρικό Σύστημα, Είναι Το Αλγεβρικό Σύστημα Εκείνο, Το Οποίο Περιλαμβάνει Καλά Εδραιωμένους Κανόνες, Για Τη Διαχείριση Δεδομένων, Αποθηκευμένων Σε Σχεσιακές Βάσεις Και Ορίζει Ερωτήματα Προς Αυτές. Οι Κύριες Πράξεις Της Σχεσιακής Άλγεβρας Είναι Οι Πράξεις Επί Συνόλων. Edgar F. Ted Codd 1923-2003 Γηαθάλεηα 1ε
Η ρέζε (Relation) Δίλαη Έλα Τπνζύλνιν Καξηεζηαλνύ Γηλνκέλνπ (x) Πεδίωλ Οξηζκνύ (Domains). ρήκα ρέζεο (Relation Scheme) Ολνκάδεηαη Μηα Παξάζεζε Υαξαθηεξηζηηθώλ (ή Ιδηνηήηωλ Attributes) Κάζε Έλα Από Σα Οπνία Έρεη Σν Πεδίν Οξηζκνύ Σνπ. Μπνξνύκε Να Θεωξήζνπκε Όηη Μηα ρέζε Δίλαη Έλα ύλνιν Από Όκνηεο Πιεηάδεο (Tuples). Κάζε Πιεηάδα Απνηειείηαη Από Ν πληζηώζεο (Components) Γηαθνξεηηθνύ Πηζαλόλ Σύπνπ (Ν-άδεο). Σν Ν Λέγεηαη Πνιιαπιόηεηα (Arity) Σεο ρέζεο. Κάζε Υαξαθηεξηζηηθό (ή Ιδηόηεηα) Παίξλεη Σηκέο Από Έλα πγθεθξηκέλν ύλνιν Σηκώλ. Σα ύλνια Απηά Γηα Έλα ρήκα ρέζεο (ή Πίλαθα) Δίλαη Σα Πεδία Οξηζκνύ (Domains) Σεο. Ο Αξηζκόο Σωλ Ιδηνηήηωλ Γίλεη Σελ Πνιιαπιόηεηα (Arity) Σνπ ρήκαηνο ρέζεο. Γηαθάλεηα 2ε
SQL Query Relational Algebra Expression Query Execution Plan Executable Code Parser Query Optimizer Code Generator Σν SQL Δξώηεκα «Πεξλάεη» Από Σνλ Parser Σνπ Πεξηβάιινληνο θαη Μεηαηξέπεηαη ζε Έθθξαζε Σεο ρεζηαθήο Άιγεβξαο. Οη Πξάμεηο Σεο ρεζηαθήο Άιγεβξαο Τινπνηνύληαη πλήζωο Μέζω Σεο Γιώζζαο Γηαρείξηζεο Γεδνκέλωλ (DML) Η Οπνία Υξεζηκνπνηείηαη Γηα Γηαηύπωζε Δξωηήζεωλ ην ΓΒΓ θαη Σελ Αλάθηεζε Πιεξνθνξηώλ Γηαθάλεηα 3ε
Τπάξρεη Σνπιάρηζηνλ Μηα Ηδηόηεηα ή Έλαο πλδπαζκόο Ηδηνηήησλ Με Σηκέο Μνλαδηθέο Γηα Κάζε ρέζε. Απηέο Οη Ηδηόηεηεο ή Απηνί Οη πλδπαζκνί Μπνξνύλ Να Θεσξεζνύλ Κιεηδηά, Μπνξνύλ Γειαδή Να Υξεζηκνπνηεζνύλ Γηα Σνλ Καζνξηζκό (Identification) Σσλ Πιεηάδσλ Σεο ρέζεο. Αλ Έρνπκε Πνιινύο Σέηνηνπο πλδπαζκνύο Σνπο Ολνκάδνπκε Τπνςήθηα Κύξηα Κιεηδηά (Candidate Keys), Δλώ Έλαο Από Απηνύο Δπηιέγεηαη αλ Κύξην Κιεηδί (Primary Key). Έλα πλεζηζκέλν Υαξαθηεξηζηηθό Σσλ ρέζεσλ Δίλαη ηη Μηα ρέζε Μπνξεί Να Πεξηέρεη Έλα ή Πεξηζζόηεξα Ξέλα Κιεηδηά (Foreign Keys). Έλα Ξέλν Κιεηδί ε Μηα ρέζε πλήζσο Αλαπαξίζηαηαη Με Μηα Ηδηόηεηα (Attribute) Πνπ Δίλαη Κύξην Κιεηδί ε Κάπνηα Άιιε ρέζε. ΚΑΝΟΝΑ ΠΡΩΣΟ ή ΚΑΝΟΝΑ ΑΚΔΡΑΙΟΣΗΣΑ ΟΝΣΟΣΗΣΑ ΚΑΜΗΑ ΤΝΗΣΩΑ ΣΖ ΣΗΜΖ ΔΝ ΚΤΡΗΟΤ ΚΛΔΗΓΗΟΤ ΓΔΝ ΜΠΟΡΔΗ ΝΑ ΜΖΝ ΔΥΔΗ ΣΗΜΖ. ΑΝΑ ΓΤΟ ΟΗ ΟΝΣΟΣΖΣΔ (ΔΓΓΡΑΦΔ) ΔΊΝΑΗ ΓΗΑΚΔΚΡΗΜΜΔΝΔ. ΚΑΝΟΝΑ ΓΔΤΣΔΡΟ ή ΑΝΑΦΔΡΟΜΔΝΗ ΑΚΔΡΑΙΟΣΗΣΑ ΔΣΩ D ΈΝΑ ΠΡΩΣΟ ΠΔΓΗΟ ΟΡΗΜΟΤ (ΓΖΛ. ΈΝΑ ΠΔΓΗΟ ΟΡΗΜΟΤ ΔΠΑΝΩ ΣΟ ΟΠΟΗΟ ΟΡΗΕΔΣΑΗ ΈΝΑ ΑΠΛΟ ΚΤΡΗΟ ΚΛΔΗΓΗ) ΚΑΗ R 1 ΜΗΑ ΥΔΖ ΜΔ ΗΓΗΟΣΖΣΑ Α ΠΟΤ ΟΡΗΕΔΣΑΗ ΣΟ Α ΚΑΗ ΔΣΩ ΥΔΖ R 2 ΜΔ ΚΤΡΗΟ ΚΛΔΗΓΗ ΟΡΗΕΟΜΔΝΟ ΣΟ D. ΣΟΣΔ Ζ ΣΗΜΖ ΣΖ ΗΓΗΟΣΖΣΑ Α ΣΟ R 1 ΠΡΔΠΔΗ ΝΑ ΔΊΝΑΗ Ή NULL Ή ΗΖ ΜΔ ΚΑΠΟΗΑ ΣΗΜΖ ΣΟΤ ΚΤΡΗΟΤ ΚΛΔΗΓΗΟΤ ΚΑΠΟΗΑ ΠΛΔΗΑΓΑ ΣΖ ΥΔΖ R 2. Γηαθάλεηα 4ε
Το Σχεσιακό Μοντέλο Είναι Ένα Σύστημα, Με Δομικά Στοιχεία Τις Σχέσεις (Relations), Τις Οποίες Και Αντιλαμβανόμαστε Ως Πίνακες (Tables). Με Βάση Τα Στοιχεία Αυτών Των Πινάκων Μπορούμε Να Εκτελέσουμε Ορισμένες Λειτουργίες (Πράξεις) Χειρισμού Δεδομένων. Οι Πράξεις Αυτές Περιγράφουν Τις Περισσότερες Από Τις Ενέργειες Που Θέλουμε Να Πραγματοποιήσουμε Σε Μια Βάση Και Υλοποιούνται Με Τη Μορφή Εντολών SQL. i. ΔΠΙΛΟΓΗ (SELECTION ή RESTRICTION) = ii. ΠΡΟΒΟΛΗ (PROJECTION) π iii. ΚΑΡΣΔΙΑΝΟ ΓΙΝΟΜΔΝΟ (TIMES ή CARTESIAN PRODUCT) x iv. ΔΝΩΗ (UNION) U v. ΓΙΑΦΟΡΑ (DIFFERENCE) - vi. ΤΝΓΔΗ (JOIN) vii. ΣΟΜΗ (INTERSECTION) viii.μδσονομαια (RENAME) ξ ix. ΓΙΑΡΔΗ (DIVISION) Γηαθάλεηα 5ε
R 1 = σ Ε (R) Σν Απνηέιεζκα Σεο Πξάμεο Απηήο, Πνπ πκβνιίδεηαη Με ζ Καη Δθαξκόδεηαη Πάλσ ε Μηα ρέζε R, Δίλαη Μηα ρέζε R 1 Πνπ Έρεη Σελ Ίδηα Πνιιαπιόηεηα Με Σελ R Καη Πεξηιακβάλεη Σηο Πιεηάδεο Σεο R Γηα Σηο Οπνίεο Ηζρύεη Ζ πλζήθε Δ. AR. ONOMA THESI OMADA 1 ΝΗΚΟΠΟΛΗΓΖ G/K Π.Α.Ο. 5 ΓΔΛΛΑ DEF ROMA 14 ΦΤΑ DEF BENFICA 9 ΥΑΡΗΣΔΑ FW WERDER BR. PAIKTES 1 = ζ THESI = DEF (PAIKTES) SELECT * FROM Paiktes WHERE Thesi = DEF ; AR. ONOMA THESI OMADA 5 ΓΔΛΛΑ DEF ROMA 14 ΦΤΑ DEF BENFICA Γηαθάλεηα 6ε
R 1 = π a1, a2, a3,,ak (R) Ζ Πξνβνιή Δθαξκόδεηαη ε Μία ρέζε Καη Γείρλεη Σε ηήιε ή Σηο ηήιεο Σεο ρέζεο (ή Πίλαθα) Πνπ Θέινπκε. Αλαθέξεηαη Γειαδή ηελ Δπηινγή Κάπνησλ πγθεθξηκέλσλ Πεδίσλ Από Μηα ρέζε. Σελ Υξεζηκνπνηνύκε ηαλ Θέινπκε Μηα Παξνπζίαζε Σσλ ηνηρείσλ Δλόο Πίλαθα Πνπ Να Πεξηιακβάλεη Μεξηθέο Μόλν Από Σηο ηήιεο Σνπ. EMPNO ENAME SAL JOB 01 ΠΔΣΡΟΤ Π. 950 ΛΟΓΗΣΖ 02 ΓΖΜΖΣΡΗΟΤ Γ. 1010 ΑΝΑΛΤΣΖ 15 ΥΡΖΣΟΤ Υ. 1200 ΠΡΟΓΡΑΜΜΑΣΗΣΖ EMP 1 = π Empno, Ename (EMP) 21 ΑΡΓΤΡΗΟΤ Α. 800 ΑΠΟΘΖΚΑΡΗΟ SELECT Empno, Ename FROM Emp; EMPNO ENAME 01 ΠΔΣΡΟΤ Π. 02 ΓΖΜΖΣΡΗΟΤ Γ. 15 ΥΡΖΣΟΤ Υ. 21 ΑΡΓΤΡΗΟΤ Α. Γηαθάλεηα 7ε
R 1 x R 2 = {(α λ, β μ ) α λ R 1, β μ R 2 } Τπάξρνπλ Πεξηπηώζεηο, Πνπ Θέινπκε Να πλδπάζνπκε Σηο Πιεξνθνξίεο Οη Οπνίεο Βξίζθνληαη Απνζεθεπκέλεο ε Γύν Ή Πεξηζζόηεξεο ρέζεηο. ε Απηή Σελ Πεξίπησζε Κάλνπκε Υξήζε Σεο Πξάμεο Σνπ Καξηεζηαλνύ Γηλνκέλνπ, Ζ Οπνία Δίλαη Αληίζηνηρε Με Σελ Πξάμε Σνπ Πνιιαπιαζηαζκνύ. K_PISTAS ONOMASIA XWRA MHKOS 101 Silverstone UK 320 102 Imola St Marino 300 103 Melbourne Australia 295 K_ODHGOU ONOMA OMADA 1001 Schumaher Ferrari 1002 Hakkinen Mc Larren PISTES x ODHGOI = (K_P,., ONOMA, OMADA) SELECT * FROM PISTES, ODHGOI; K_P ONOMASIA XWRA MHKOS K_OD ONOMA OMADA 101 Silverstone UK 320 1001 Schumaher Ferrari 101 Silverstone UK 320 1002 Hakkinen Mc Larren 102 Imola St Mar. 300 1001 Schumaher Ferrari 102 Imola St Mar. 300 1002 Hakkinen Mc Larren 103 Melbourne Australia 295 1001 Schumaher Ferrari 103 Melbourne Australia 295 1002 Hakkinen Mc Larren Γηαθάλεηα 8ε
R = R 1 U R 2 Ζ Πξάμε Σεο Έλσζεο Γύν ρέζεσλ R1 θαη R2 Δίλαη Μηα Πξάμε, Ζ Οπνία Έρεη Ωο Απνηέιεζκα, Μηα Νέα ρέζε Σελ (R1 U R2), Ζ Οπνία Απνηειείηαη Από ιεο Σηο Πιεηάδεο Πνπ Δκθαλίδνληαη Καη ηηο Γύν ρέζεηο. Σα Γηπιόηππα Δμαιείθνληαη Απηνκάησο. Ζ Πξάμε Σεο Έλσζεο, Δίλαη Αληίζηνηρε Με Σελ Πξάμε Σεο Πξόζζεζεο. Οι Δύο Στέζεις Θα Πρέπει Να Είναι Σσμβαηές Ως Προς Την Ένωζη, Δηλαδή Να Έτοσν Το Ίδιο Στήμα (Αριθμό Πεδίων Και Κοινά Σύνολα Τιμών Από Τα Οποία Τα Πεδία Παίρνοσν Τιμές.) Δ_ΝΟ E_NAME JOB SAL 10 Αξγπξίνπ Α. Λνγηζηήο 1000 20 Μάξθνπ Μ. Αλαιπηήο 1500 30 Πέηξνπ Π. Λνγηζηήο 900 SELECT * FROM EMP1 UNION SELECT * FROM EMP2; Δ_ΝΟ E_NAME JOB SAL 40 Γεσξγίνπ Γ. Καζαξηζηήο 700 50 Ησάλλνπ Η. Απνζεθάξ. 750 EMP = EMP1 U EMP2 E_NO E_NAME JOB SAL 10 Αξγπξίνπ Α. Λνγηζηήο 1000 20 Μάξθνπ Μ. Αλαιπηήο 1500 30 Πέηξνπ Π. Λνγηζηήο 900 40 Γεσξγίνπ Γ. Καζαξηζηήο 700 50 Ησάλλνπ Η. Απνζεθάξ. 750 Γηαθάλεηα 9ε
R = R 1 - R 2 Ζ Γηαθνξά Γύν ρέζεσλ R1 θαη R2, Δίλαη Μηα Πξάμε, Πνπ Έρεη αλ Απνηέιεζκα Μηα Νέα ρέζε Ζ Οπνία Απνηειείηαη Από ιεο Σηο Πιεηάδεο Πνπ Βξίζθνληαη ηελ Πξώηε ρέζε Αιιά ρη Καη ηε Γεύηεξε. Για Να Εθαρμοζηεί Θα Πρέπει Οι R1 και R2 Να Είναι Σσμβαηές. Ζ Πξάμε Σεο Γηαθνξάο Έρεη πγθεθξηκέλε Καηεύζπλζε πσο Αθξηβώο Καη Ζ Αθαίξεζε Γύν Αξηζκώλ. Σν Απνηέιεζκα R1-R2 Δίλαη Γηαθνξεηηθό Από Σν R2-R1. TITLE CATEGORY DUR CTRY Green Mile Φαληαζίαο 188 USA Jean D Arc Δπνρήο 165 FR Πνιίηηθε Κνπδίλα Κνηλσληθό 160 GR Φνβνύ Σνπο Έιιελεο Κσκσδία 145 GR SELECT * FROM MOV1 MINUS SELECT * FROM MOV2; TITLE CATEGORY DUR CTRY Πνιίηηθε Κνπδίλα Κνηλσληθό 160 GR Φνβνύ Σνπο Έιιελεο Κσκσδία 145 GR MOV = MOV1 MOV2 TITLE CATEGORY DUR CTRY Green Mile Φαληαζίαο 188 USA Jean D Arc Δπνρήο 165 FR Γηαθάλεηα 10ε
R = R 1 R 2 Αλ R 1, R 2 Δίλαη ρέζεηο Με Πνιιαπιόηεηεο Ν 1 Καη Ν 2 θαη Με Μ Κνηλά Υαξαθηεξηζηηθά Σσλ Γύν ρέζεσλ Καηαζθεπάδνπκε Σελ R Πνπ Δίλαη Μηα ρέζε Με Πνιιαπιόηεηα Ν = Ν 1 + Ν 2 Μ. Ζ R Γεκηνπξγείηαη Με Σελ Παξάζεζε (Concatenation) ισλ Σσλ Πιεηάδσλ t 1 R 1 θαη t 2 R 2 Πνπ Ηθαλνπνηνύλ Σε πλζήθε Σεο ύλδεζεο. ρεκαηηθά γηα ηηο πιεηάδεο ησλ δύν ζρέζεσλ αθνινπζνύκε ηελ παξαθάησ κεζνδνινγία : πλδένπκε θάζε πιεηάδα ηεο R1 κε όιεο ηηο πιεηάδεο ηεο R2 θαη δεκηνπξγνύκε έηζη πιεηάδεο κε πνιιαπιόηεηα Ν1 + Ν2. Από απηέο θξαηάκε κόλν απηέο πνπ έρνπλ ζε όια ηα θνηλά ραξαθηεξηζηηθά ηηο ίδηεο ηηκέο. (-M) ε απηέο θξαηάκε ηα θνηλά ραξαθηεξηζηηθά κόλν κηα θνξά. (DISTINCT) Σύπνη πλδέζκωλ 1. Δζσηεξηθόο ύλδεζκνο (Inner Join) 2. Αξηζηεξόο Δμσηεξηθόο ύλδεζκνο (Left Outer Join) 3. Γεμηόο Δμσηεξηθόο ύλδεζκνο (Right Outer Join) 4. Πιήξεο Δμσηεξηθόο ύλδεζκνο (Full Outer Join) 5. ύλδεζκνο Γηαζηαύξσζεο (Cross Join) Γηαθάλεηα 11ε
Ένας Σύνδεσμος Ο Οποίος Εμφανίζει Μόνο Τις Γραμμές Που Ταιριάζουν Και Στους Δύο Συνδεδεμένους Πίνακες. Πρόκειται Για Τον Εξ Ορισμού (Προεπιλεγμένο) Τύπο Συνδέσμου Της Σχεδίασης Ερωτήματος (Κάτω Από Περιβάλλον ACCESS). Οι Στήλες Που Περιέχουν Τιμές NULL, Δεν Ταιριάζουν Με Καμιά Τιμή, Όταν Δημιουργούμε Έναν Εσωτερικό Σύνδεσμο Και Επομένως Εξαιρούνται Από Το Σύνολο Των Αποτελεσμάτων! Οι Τιμές NULL Δεν Ταιριάζουν Με Άλλες Τιμές NULL! title_id title pages price pub_id B01 OLYMPIC GAMES 500 30,00 01 B02 ANCIENT GREECE 280 45,00 01 B03 VISUAL STUDIO.NET 1100 65,50 02 B04 MS OFFICE XP 890 37,00 02 B05 TURBO C 2 1200 55,00 03 B06 WINDOWS 2003 80 10,00 pub_id pub_name pub_addr 01 ΣΔΓΟΠΟΤΛΟ GR 02 MICROSOFT PRESS USA 03 SYBEX USA 04 ΝΔΑ ΔΠΟΥΖ GR ΣΗΝ ΠΔΡΙΠΣΩΗ ΙΟΣΗΣΑ ΣΟΤ ΚΛΔΙΓΙΟΤ Ο ΤΝΓΔΜΟ ΑΤΣΟ ΚΑΛΔΙΣΑΙ EQUIJOIN SELECT title, pub_name FROM titles INNER JOIN publishers ON titles.pub_id=publishers.pub_id; title OLYMPIC GAMES ANCIENT GREECE VISUAL STUDIO.NET MS OFFICE XP TURBO C 2 pub_name ΣΔΓΟΠΟΤΛΟ ΣΔΓΟΠΟΤΛΟ MICROSOFT PRESS MICROSOFT PRESS SYBEX Γηαθάλεηα 12ε
Ένας Σύνδεσμος, Ο Οποίος Περιέχει Γραμμές, Ακόμα Κι Αν Δεν Υπάρχουν Σχετιζόμενες Γραμμές Στο Συνδεδεμένο Πίνακα. (Μπορούμε Να Δημιουργήσουμε Τρεις Παραλλαγές Εξωτερικού Συνδέσμου, Ώστε Να Καθορίσουμε Αν Θα Συμπεριλαμβάνονται Οι Αταίριαστες Γραμμές. Περιλαμβάνονται Όλες Οι Γραμμές Του Πρώτου Πίνακα (Αυτού Που Εμφανίζεται Πρώτος Στα Αριστερά Της Έκφρασης JOIN). Οι Αταίριαστες Γραμμές Του δεξιού Πίνακα Δεν Εμφανίζονται. Για Παράδειγμα, Η Παρακάτω Έκφραση SQL Απεικονίζει Ένα Εξωτερικό Σύνδεσμο Μεταξύ Των Προηγούμενων Πινάκων (Titles, Publishers), Ο Οποίος Συμπεριλαμβάνει Όλους Τους Τίτλους, Ακόμα Και Αυτούς Για Τους Εκδότες Των Οποίων Δεν Έχουμε Πληροφορίες. title_id title pub_name SELECT titles.title_id, titles.title, publishers.pub_name FROM titles LEFT OUTER JOIN publishers ON titles.pub_id=publishers.pub_id; B01 OLYMPIC GAMES ΣΔΓΟΠΟΤΛΟ B02 ANCIENT GREECE ΣΔΓΟΠΟΤΛΟ B03 VISUAL STUDIO.NET MICROSOFT PRESS B04 MS OFFICE XP MICROSOFT PRESS B05 TURBO C 2 SYBEX B06 WINDOWS 2003 Γηαθάλεηα 13ε
Περιλαμβάνονται Όλες Οι Γραμμές Του Δεύτερου Πίνακα (Του Πίνακα Που Εμφανίζεται Πρώτος Στα Δεξιά Της Έκφρασης JOIN). Οι Αταίριαστες Γραμμές Του Αριστερού Πίνακα Δεν Συμπεριλαμβάνονται. Για Παράδειγμα, Ένας Δεξιός Εξωτερικός Σύνδεσμος Μεταξύ Των Πινάκων Titles και Publishers Του Προηγούμενου Παραδείγματος Θα Συμπεριλάβει Όλους Τους Εκδότες Ακόμη Και Αυτούς Που Δεν Έχουν Βιβλία Στον Πίνακα Titles. SELECT titles.title_id, titles.title, publishers.pub_name FROM titles RIGHT OUTER JOIN publishers ON titles.pub_id=publishers.pub_id; title_id title pub_name B02 ANCIENT GREECE ΣΔΓΟΠΟΤΛΟ B01 OLYMPIC GAMES ΣΔΓΟΠΟΤΛΟ B04 MS OFFICE XP MICROSOFT PRESS B03 VISUAL STUDIO.NET MICROSOFT PRESS B05 TURBO C 2 SYBEX ΝΔΑ ΔΠΟΥΖ Γηαθάλεηα 14ε
Περιλαμβάνονται όλες οι γραμμές όλων των ενωμένων πινάκων, ανεξάρτητα με το αν ταιριάζουν. Για παράδειγμα ένας πλήρης εξωτερικός σύνδεσμος μεταξύ των πινάκων titles και publishers εμφανίζει όλους τους τίτλους και όλους τους εκδότες, ακόμα και αυτούς που δεν ταιριάζουν με άλλο πίνακα. SELECT titles.title_id, titles.title, publishers.pub_name FROM titles FULL OUTER JOIN publishers ON titles.pub_id=publishers.pub_id; title_id title pub_name B02 ANCIENT GREECE ΣΔΓΟΠΟΤΛΟ B01 OLYMPIC GAMES ΣΔΓΟΠΟΤΛΟ B04 MS OFFICE XP MICROSOFT PRESS B03 VISUAL STUDIO.NET MICROSOFT PRESS B05 TURBO C 2 SYBEX B06 WINDOWS 2003 ΝΔΑ ΔΠΟΥΖ Γηαθάλεηα 15ε
Ένας Σύνδεσμος, του οποίου το σύνολο των αποτελεσμάτων περιλαμβάνει μια γραμμή για κάθε πιθανό ζευγάρι γραμμών από τους δύο πίνακες. Ο Σύνδεσμος Διασταύρωσης Είναι Ουσιαστικά Το Καρτεσιανό Γινόμενο! pub_id pub_name pub_addr 01 ΣΔΓΟΠΟΤΛΟ GR 02 MICROSOFT PRESS USA 03 SYBEX USA 04 ΝΔΑ ΔΠΟΥΖ GR auth_id author country A01 KAZANTZAKIS GR A02 SCHILDT USA A03 CODD UK SELECT pub_name, author FROM authors CROSS JOIN publishers; SELECT pub_name, author FROM authors, publishers; pub_name ΣΔΓΟΠΟΤΛΟ ΣΔΓΟΠΟΤΛΟ ΣΔΓΟΠΟΤΛΟ MICROSOFT PRESS MICROSOFT PRESS MICROSOFT PRESS SYBEX SYBEX SYBEX ΝΔΑ ΔΠΟΥΖ ΝΔΑ ΔΠΟΥΖ ΝΔΑ ΔΠΟΥΖ author KAZANTZAKIS SCHILDT CODD KAZANTZAKIS SCHILDT CODD KAZANTZAKIS SCHILDT CODD KAZANTZAKIS SCHILDT CODD Γηαθάλεηα 16ε
R = R 1 R 2 = R 1 (R 1 R 2 ) Η Τομή Είναι Μια Δυαδική (Binary) Πράξη (Με Την Έννοια, Ότι Δέχεται Δύο Τελεσταίους). Για Την Υλοποίησή Της Οι Σχέσεις (Πίνακες) Θα Πρέπει Να Είναι Μεταξύ Τους Συμβατές (ή Να Γίνονται Συμβατές Μέσω Προβολής). Η Πράξη Ορίζεται Όπως Ακριβώς Και Η Τομή Στη Θεωρία Των Συνόλων. Name EmpId Name EmpId Harriet 2202 Harriet 2202 Sally 2241 George 3401 Harry 3415 SELECT * FROM Emp INTERSECT SELECT * FROM Mgr; αλ Παξάδεηγκα, Θα Μπνξνύζακε Να Πάξνπκε Σνλ Πίλαθα Σσλ Τπαιιήισλ Καη Σνλ Πίλαθα Σσλ Πξντζηακέλσλ. Ζ Σνκή Σνπο Φαίλεηαη Παξαθάησ. Σππηθά Ζ Σνκή Οξίδεηαη Ωο Δμήο : Name EmpId Harriet 2202 R S = {t: t R, t S} Γηαθάλεηα 17ε
ρ α/β (R) = { t[α/β]: t R } Η Μετονομασία Είναι Μια Μονοσήμαντη (Unary) Πράξη, Με Την Έννοια Ότι Δέχεται, Ένα Μόνο Τελεσταίο. Η Πράξη Αυτή Γράφεται ρ α/β (R), Με Το α Και Το β Να Είναι Ονόματα Ιδιοτήτων (Στηλών) Και Το R Σχέση (Πίνακας). Το Αποτέλεσμα Είναι Πανομοιότυπο Της Σχέσης R, Με Μόνη Διαφορά, Ότι Η Ιδιότητα (Στήλη ή Πεδίο) β, Για Όλες Τις Πλειάδες, Έχει Μετονομαστεί Σε α. Name EmpId Harriet 2202 Sally 2241 Harry 3415 Μεηνλνκαζία, Μπνξεί Να Γίλεη Καη ε Οιόθιεξεο ρέζεηο (Πίλαθεο), Δξωηήκαηα ή θαη Τπνεξωηήκαηα Καζώο θαη ε πλαξηήζεηο πγθεληξωηηθώλ Απνηειεζκάηωλ, Αλάινγα Πάληα Με Σν Πεξηβάιινλ Πνπ Υξεζηκνπνηνύκε. SELECT Name AS Onoma, EmpId FROM Emp; Onoma EmpId Harriet 2202 Sally 2241 Harry 3415 Γηαθάλεηα 18ε
R = R 1 R 2 Ζ Πξάμε Σεο Γηαίξεζεο, Απνηειεί Οπζηαζηηθά Σελ Αληίζεηε Πξάμε Σνπ Πνιιαπιαζηαζκνύ. ηαλ Δθαξκόδεηαη ε Γύν ύλνια (Πίλαθεο / ρέζεηο) Δπηζηξέθεη Σηο Πιεηάδεο Δθείλεο Σνπ Πξώηνπ πλόινπ, Οη Οπνίεο ρεηίδνληαη ΜΔ ΟΛΔ Σηο Πιεηάδεο Σνπ Γεπηέξνπ πλόινπ. m C 4 8 n D 3 X 1 = 7 o C D 4 3 4 1 4 7 8 3 8 1 8 7 Αο Τπνζέζνπκε ηη ε Μηα ρέζε Τπάξρνπλ Σξεηο Πίλαθεο Α, Β, C Με Σνλ C Να Δίλαη Ο Πίλαθαο Πνπ Αλαπαξηζηά Σηο ρέζεηο Πνιιά- Πξνο-Πνιιά Μεηαμύ Σνπ Α θαη Σνπ Β. Ρσηάκε Πνηα Σα Κιεηδηά Σνπ Α Σα Οπνία ρεηίδνληαη Με ΛΑ Σα Κιεηδηά Σνπ Β; Ζ Πξάμε Σεο Γηαίξεζεο Μεηαμύ Απηώλ Σσλ Πηλάθσλ Θα Γώζεη Σα Παξαθάησ Απνηειέζκαηα : o n = m C 4 8 o m = SELECT DISTINCT a_key FROM c WHERE NOT EXISTS (SELECT b_key FROM b n WHERE NOT EXISTS (SELECT * FROM c WHERE a.a_key = c.a_key AND D 3 1 7 b.b_key = c.b_key)); Γηαθάλεηα 19ε