Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ ...

92
Βάζεηο Γεδνκέλωλ ρεζηαθή Άιγεβξα Φξνληηζηήξην 4ν 10-11-2011

Transcript of Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ ...

Page 1: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Βάζεηο Γεδνκέλωλ

ρεζηαθή Άιγεβξα

Φξνληηζηήξην 4ν

10-11-2011

Page 2: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

ύλδεζε κε ηα Πξνεγνύκελα

(ρεζηαθή) Βάζε Γεδνκέλσλ έλα ζύλνιν από ζρέζεηο (πίλαθεο)

Γξακκέο: πιεηάδεο

ηήιεο: Γλσξίζκαηα

Βαζκόο ζρέζεο: πιήζνο γλσξηζκάησλ

ηηγκηόηππν ζρέζεο r(R): ζύλνιν από πιεηάδεο όπνπ θάζε πιεηάδα έρεη t ηηκέο (t = v1, v2,…, vn) θαη θάζε ηηκή είλαη έλα ζηνηρείν dom(Ai) (πεδίν νξηζκνύ γηα ην γλώξηζκα Αη) ή null

Κιεηδί

ππεξ-θιεηδί,

ππνςήθην,

πξσηεύνλ

Page 3: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

ΥΔΗΑΚΖ ΑΛΓΔΒΡΑ

Page 4: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Οξηζκόο

ρεζηαθή Άιγεβξα: ζύλνιν πξάμεσλ ηνπ

ζρεζηαθνύ κνληέινπ πνπ όηαλ εθαξκνζηνύλ

ζε πίλαθεο (ζρέζεηο) καο δίλνπλ λέεο ζρέζεηο

από ηηο ππάξρνπζεο ζρέζεηο ηεο ΒΓ

Μηα εξώηεζε εθαξκόδεηαη ζε έλα ζηηγκηόηππν ζρέζεο θαη ην

αποηέιεζκα ηεο εξώηεζεο είλαη πάιη έλα ζηηγκηόηππν ζρέζεο

• Δίλαη Γηαδηθαζηηθή γιώζζα εξσηεκάησλ Πεξηγξάθεηαη ν

ηξόπνο πνπ ζα αλαθηεζνύλ δεδνκέλα από ηελ βάζε.

Page 5: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξάμεηο ρεζηαθήο Άιγεβξαο

1. Πξάμεηο ζρεζηαθήο ΒΓ (αθνξνύλ ηκήκαηα πιεηάδσλ)

ΔΠΗΛΟΓΖ (SELECT) : ζΔ(Α)

ΠΡΟΒΟΛΖ (PROJECT) : π1,2,...,n(Α)

2. Μεηνλνκαζία γλσξηζκάησλ

ΑΝΑΘΔΖ (ASSIGNMENT) ΑΒ

ΜΔΣΟΝΟΜΑΗΑ (RENAME) ξS(B1,..Bn)(R)

3. Πξάμεηο ζπλόισλ (αθνξνύλ ζύλνια πιεηάδσλ)

ΔΝΩΖ (UNION) : ΑΒ

ΣΟΜΖ (INTERSECTION) : ΑΒ

ΓΗΑΦΟΡΑ (DIFFERENCE) : Α-Β

4. Πξάμεηο πνπ ζπλδπάδνπλ πιεηάδεο από δύν ζρέζεηο

ΚΑΡΣΔΗΑΝΟ ΓΗΝΟΜΔΝΟ (CARTESIAN PRODUCT) : Α X B

ΤΝΔΝΩΖ (JOIN) Α⋈Β

ΔΩΣΔΡΗΚΖ ΤΝΔΝΩΖ (INNER JOIN) Α ⋈ <ζπλζήθε ζπλέλσζεο>Β

ΔΞΩΣΔΡΗΚΖ ΤΝΔΝΩΖ Πιήξεο (FULL OUTER JOIN)

Αξηζηεξή (LEFT OUTER JOIN)

Γεμηά (RIGHT OUTER JOIN)

ΓΗΑΗΡΔΖ (Division) : AB

Page 6: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Ζ Πξάμε ηεο Δπηινγήο (select)

Δπηινγή ελόο ππνζπλόινπ ησλ πιεηάδσλ

κηαο ζρέζεο πνπ ηθαλνπνηεί κηα ζπλζήθε

επηινγήο

ζ<ζοκζήθε επηιμγήξ> (<όκμμα ζπέζεξ>)

Page 7: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δπηινγή (select)

ζ = ηειεζηήο ηεο πξάμεο ΔΠΗΛΟΓΖ

<ζπλζήθε επηινγήο> = Boolean έθθξαζε γηα ηα γλσξίζκαηα ηεο ζρέζεο

Λνγηθή έθθξαζε = πξνηάζεηο ηεο κνξθήο :

<όλοκα γλωρίζκαηος> <ηειεζηής ζύγθρηζες> <ζηαζερή ηηκή>

<όλοκα γλωρίζκαηος> <ηειεζηής ζύγθρηζες> <όλοκα γλωρίζκαηος>

Σειεζηέο ζύγθξηζεο:

AND, OR, NOT (γηα γεληθά SELECT)

=, <, , >, , ≠ (γηα δηαηεηαγκέλεο ηηκέο γλσξηζκάησλ)

=, ≠ (γηα κε δηαηεηαγκέλεο ηηκέο γλσξηζκάησλ)

ζ<ζοκζήθε επηιμγήξ> (<όκμμα ζπέζεξ>)

Page 8: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

Σαινία Σίηλος Έηος Γιάρκεια Δίδος

Παίζει Όνομα-Ηθοποιού Σίηλος Έηος

Όνομα Γιεύθσνζη Έηος-Γέννηζης ύζσγος-Ηθοποιού

Ηθοποιός

Page 9: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δπηινγή (select)

ηίηλος τρόνος διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Mighty Ducks 1991 104 έγτρωμη

Wayne’s World 1992 95 έγτρωμη

1. Σαηκίεξ με δηάνθεηα μεγαιύηενε ηωκ 100 ιεπηώκ)

ζ δηάνθεηα > 100 (Σαηκία)

ηίηλος τρόνος διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Mighty Ducks 1991 104 έγτρωμη

Page 10: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δπηινγή (select)

ηίηλος τρόνος διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Mighty Ducks 1991 104 έγτρωμη

Wayne’s World 1992 95 έγτρωμη

2. Σαηκίεξ με δηάνθεηα μεγαιύηενε ηωκ 100 ιεπηώκ πμο γονίζηεθακ μεηά ημ 1995

ζ δηάνθεηα > 100 AND πνόκμξ > 1995 (Σαηκία)

ηίηλος τρόνος διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Page 11: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δπηινγή (select)

Ζ <ζπλζήθε επηινγήο> εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πιεηάδα θαη αλ είλαη true ηόηε ε πιεηάδα επηιέγεηαη

Ο ηειεζηήο ζ (ΔΠΗΛΟΓΖ) είλαη κνλαδηαίνο (δει. εθαξκόδεηαη

ζε κία ζρέζε)

Ο βαζκόο ηεο ζρέζεο πνπ πξνθύπηεη κεηά από κηα πξάμε

ΔΠΗΛΟΓΖ είλαη ίδηνο κε ην βαζκό ηεο αξρηθήο ζρέζεο ζηελ

νπνία εθαξκόζηεθε (δει. έρεη ηα ίδηα γλσξίζκαηα)

Σν πιήζνο ηωλ πιεηάδωλ ηεο πξνθύπηνπζαο ζρέζεο είλαη

κηθξόηεξν ή ίζν κε ην πιήζνο ησλ πιεηάδσλ ηεο αξρηθήο (%

πιεηάδσλ πνπ επηιέγνληαη – selectivity)

Page 12: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δπηινγή (select)

Ηδηόηεηεο

Αληηκεηαζεηηθή ζ <ζπλζ1> (ζ<ζπλζ2> (R)) = ζ<ζπλζ2> (ζ<ζπλζ1> (R))

ζ <ζπλζ1> (ζ<ζπλζ2> ( … ζ<ζπλζn> (R) ..)) =

ζ <ζπλζ1> AND <ζπλζ2> ... AND <ζπλζn> (R)

Page 13: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Ζ Πξάμε ηεο Πξνβνιήο (Project)

Δπηιέγεη νξηζκέλεο ζηήιεο (δει. γλσξίζκαηα)

από ηνλ πίλαθα ζρέζεο

π<ιίζηα γκωνηζμάηωκ> (<όκμμα ζπέζεξ>)

Page 14: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξνβνιή (Project)

π = ηειεζηήο πξάμεο ΠΡΟΒΟΛΖ

<ιίζηα γλσξηζκάησλ> = ιίζηα από γλσξίζκαηα ηεο αξρηθήο

ζρέζεο R

Ζ πξνθύπηνπζα ζρέζε έρεη κόλν ηα γλσξίζκαηα πνπ

πξνζδηνξίδνληαη ζηε <ιίζηα γλσξηζκάησλ> κε ηελ ίδηα δηάηαμε

πνπ πξνζδηνξίδνληαη ζηε ιίζηα

π<ιίζηα γκωνηζμάηωκ> (<όκμμα ζπέζεξ>)

Page 15: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

ηίηλος τρόνος διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Mighty Ducks 1991 104 έγτρωμη

Wayne’s World 1992 95 έγτρωμη

Page 16: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

1. Σίηιμξ, πνόκμξ, δηάνθεηα ηωκ ηαηκηώκ

π ηίηιμξ, πνόκμξ, δηάνθεηα (Σαηκία)

ηίηλος τρόνος διάρκεια

Star Wars 1997 124

Mighty Ducks 1991 104

Wayne’s World 1992 95

Page 17: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

2. Γίδμξ ηαηκηώκ

π είδμξ (Σαηκία)

είδος

έγτρωμη

Πνμζμπή: απαιμηθή δηπιόηοπωκ

ΠΡΟΟΧΗ

Με βάζε ηοκ ορηζμό ηο αποηέιεζμα πρέπεη κα είκαη ζτέζε (δει.ζύκοιο πιεηάδωκ)

Page 18: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Γηπιόηππα

Αλ ε ιίζηα γλσξηζκάησλ πεξηιακβάλεη κόλν

γλσξίζκαηα ηεο αξρηθήο ζρέζεο πνπ δελ είλαη

θιεηδηά, ελδέρεηαη λα εκθαληζηνύλ δηπιέο πιεηάδεο

ζην απνηέιεζκα ηεο πξάμεο ΠΡΟΒΟΛΖ

Ζ πξάμε ΠΡΟΒΟΛΖ απνκαθξύλεη δηπιόηππεο

πιεηάδεο έηζη ώζηε ην απνηέιεζκά ηεο λα είλαη κηα

έγθπξε ζρέζε

Page 19: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξνβνιή (Project)

Σα γλσξίζκαηα έρνπλ ηελ ίδηα δηάηαμε

Ο ηειεζηήο π είλαη κνλαδηαίνο

Ο βαζκόο ηεο ζρέζεο είλαη ίζνο κε ηνλ αξηζκό γλσξηζκάησλ ζηε <ιίζηα γλσξηζκάησλ>

Σν πιήζνο ηωλ πιεηάδωλ ηεο πξνθύπηνπζαο ζρέζεο είλαη κηθξόηεξν ή ίζν κε ην πιήζνο ησλ πιεηάδσλ ηεο αξρηθήο

Αλ ε ιίζηα γλσξηζκάησλ πξνβνιήο είλαη ππεξθιεηδί ηεο R (δει. πεξηιακβάλεη έλα θιεηδί ηεο R) ην απνηέιεζκα έρεη ην ίδην πιήζνο πιεηάδσλ κε ηελ R

Page 20: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξνβνιή (Project)

Ηδηόηεηεο

ΗΥΤΔΗ: π <ιίζηα1> (π<ιίζηα2> (R)) = π<ιίζηα1> (R)

ΓΔΝ είλαη αληηκεηαζεηηθε:

Γηαηί;

Α Β

1 5

2 7

3 8

Β Α

5 1

7 2

8 3

Page 21: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα Select - Project

διάρκεια

124

104

Παράδεηγμα

Δηάνθεηεξ μεγαιύηενεξ ηωκ 100 ιεπηώκ

π δηάνθεηα (ζ δηάνθεηα > 100 (Σαηκία))

Page 22: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Αλάζεζε (Assignment)

Όηαλ έρνπκε κηα πνιύπινθε αθνινπζία

πξάμεσλ κπνξνύκε λα «κεηνλνκάζνπκε» ηηο

ελδηάκεζεο ζρέζεηο

R

ΙΓΓΑΘΕ_ΔΖΑΡΗΓΖΑ ζ δηάνθεηα > 100 (Σαηκία)

Πανάδεηγμα

Page 23: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Μεηνλνκαζία (Rename)

Με ηελ πξάμε RENAME κπνξνύκε λα κεηνλνκάζνπκε

θαη ηα γλσξίζκαηα ηεο ζρέζεο πνπ πξνθύπηεη από ηελ

εθαξκνγή κηαο πξάμεο ζρεζηαθήο άιγεβξαο

R(ιίζηα-με-κέα-μκόμαηα)

ΙΓΓΑΘΕ_ΔΖΑΡΗΓΖΑ (όκμμα ηαηκίαξ, έημξ παναγωγήξ, δηάνθεηα, είδμξ) ζ δηάνθεηα > 100 (Σαηκία)

Πανάδεηγμα

όνομα ηαινίας έηος παραγωγής διάρκεια είδος

Star Wars 1997 124 έγτρωμη

Mighty Ducks 1991 104 έγτρωμη

Page 24: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Μεηνλνκαζία (Rename)

Με ηελ πξάμε RENAME κπνξνύκε λα κεηνλνκάζνπκε θαη ηηο ελδηάκεζεο ζρέζεηο θαη ηα νλόκαηα ησλ γλσξηζκάησλ ηνπο

Ζ πξάμε RENAME ζπκβνιίδεηαη

ξS (B1, B2, …, Bn) (R) : (κεηνλνκάδεη ηε ζρέζε θαη ηα γλσξίζκαηά ηεο)

ξS(R): (κεηνλνκάδεη κόλν ηε ζρέζε)

ξ(B1,B2, Bn) (R): (κεηνλνκάδεη κόλν ηα γλσξίζκαηα)

Page 25: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξάμεηο πλόινπ

Οη πξάμεηο ζπλόινπ είλαη δπαδηθέο, δει. εθαξκόδνληαη ζε δύν ζρέζεηο

Γηα λα επηηεπρζεί απηό πξέπεη νη δύν ζρέζεηο λα έρνπλ ηνλ ίδην ηύπν πιεηάδσλ ζπλζήθε ζπκβαηόηεηαο ωο πξνο ηελ έλωζε, δει.

1. Έρνπλ ηνλ ίδην βαζκό n (πιήζνο γλσξηζκάησλ)

2. i, dom(Ai) = dom(Bi) (ίδην πεδίν νξηζκνύ γλσξηζκάησλ)

Πνάλεηξ ζοκόιμο

• Έκωζε ()

• Σμμή ()

• Δηαθμνά (-)

Page 26: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξάμεηο πλόινπ

ΔΝΩΖ

Ζ πξάμε έλσζεο κεηαμύ δύν ζρέζεσλ παξάγεη κηα ζρέζε πνπ πεξηιακβάλεη όιεο ηηο πιεηάδεο πνπ αλήθνπλ είηε ζηελ 1ε είηε ζηε 2ε είηε θαη ηηο δύν αξρηθέο ζρέζεηο

ΣΟΜΖ

Ζ πξάμε ηνκήο κεηαμύ δύν ζρέζεσλ παξάγεη κηα ζρέζε πνπ πεξηιακβάλεη όιεο ηηο πιεηάδεο πνπ αλήθνπλ θαη ζηελ 1ε θαη ζηε 2ε ζρέζε

ΓΗΑΦΟΡΑ

Ζ πξάμε δηαθνξάο κεηαμύ δύν ζρέζεσλ παξάγεη κηα ζρέζε πνπ πεξηιακβάλεη όιεο ηηο πιεηάδεο πνπ αλήθνπλ ζηελ 1ε θαη όρη ζηε 2ε

Page 27: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξάμεηο πλόινπ

ύκβαζε: ε πξνθύπηνπζα ζρέζε έρεη ηα ίδηα

νλόκαηα γλσξηζκάησλ κε ηελ πξώηε ζρέζε

Απαινηθή δηπινηύπσλ

Page 28: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα - Άζθεζε

Α Β

1 2

1 4

2 1

6 5

1.ζ Α > Β (R) 2. Π Α (R) R

A B

2 3

2 5

1 4

S

3. R S

4. R S 6. R - S

5. S - R

Α Β

2 1

6 5

Α

1

2

6 Α Β

1 2 1 4 2 1 2 3 2 5 6 5

Α Β

1 4

Α Β

1 2 2 1 6 5

Α Β

2 3 2 5

Page 29: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πξάμεηο πλόινπ

Ηδηόηεηεο

Ζ ΔΝΩΖ θαη ε ΣΟΜΖ είλαη αληηκεηαζεηηθέο

R U S = S U R θαη R ∩ S = S ∩ R

θαη πξνζεηαηξηζηηθέο

R U (S U T) = (R U S) U T θαη

R ∩ (S ∩ T) = (R ∩ S) ∩ T

Ζ ΓΗΑΦΟΡΑ δελ είλαη αληηκεηαζεηηθή

R – S ≠ S – R

Page 30: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Καξηεζηαλό Γηλόκελν (Cartesian

product ή cross join)

πκβνιίδεηαη κε x

Δίλαη δπαδηθή πξάμε ζπλόισλ

Οη ζρέζεηο ζηηο νπνίεο εθαξκόδεηαη δε ρξεηάδεηαη λα είλαη ζπκβαηέο ωο πξνο ηελ έλωζε, δει. δε ρξεηάδεηαη λα έρνπλ ηνλ ίδην ηύπν πιεηάδσλ

R(A1, A2, …, An) x S(B1, B2, …, Bm)

απμηέιεζμα ε ζπέζε Q: Q(A1, A2, …, An, B1, B2, …, Bm)

• n + m γκωνίζμαηα με αοηή ηε ζεηνά!!

• nR * nS πιεηάδεξ

Page 31: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Καξηεζηαλό Γηλόκελν

Α Β

1 2

3 4

B C D

2 5 6

4 7 8

9 10 11

R S

R x S

A R.B S.B C D

1 2 2 5 6

1 2 4 7 8

1 2 9 10 11

3 4 2 5 6

3 4 4 7 8

3 4 9 10 11

Page 32: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

Σαινία Σίηλος Έηος Γιάρκεια Δίδος

Παίζει Όνομα-Ηθοποιού Σίηλος Έηος

Όνομα Γιεύθσνζη Έηος-Γέννηζης ύζσγος-Ηθοποιού

Ηθοποιός

Page 33: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Καξηεζηαλό Γηλόκελν

Σαηκία

Σίηιος Έηος Δηάρθεηα Είδος

Παναμύζη 1990 90 Έγπνωμε

Παναμύζη 1930 120 Αζπνόμαονε

Φογή 2000 98 Αζπνόμαονε

Άκμηλε 1998 101 Έγπνωμε

Όκομα-Ηζοποηού Σίηιος Έηος

Αιίθε Παππά Παναμύζη 1930

Ιανία Γεωνγίμο Παναμύζη 1990

Ηώζηαξ Υνήζημο Φογή 2000

Ιανία ηενγίμο Άκμηλε 1998 Παίδεη

Page 34: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Σαηκία

Σαηκία.Σίηιος Σαηκία.Έηος Δηάρθεηα Είδος

Παναμύζη 1990 90 Έγπνωμε

Παναμύζη 1930 120 Αζπνόμαονε

Φογή 2000 98 Αζπνόμαονε

Άκμηλε 1998 101 Έγπνωμε

Όκομα-Ηζοποηού Παίδεη.Σίηιος Παίδεη.Έηος

Αιίθε Παππά Παναμύζη 1930

Ιανία Γεωνγίμο Παναμύζη 1990

Ηώζηαξ Υνήζημο Φογή 2000

Ιανία ηενγίμο Άκμηλε 1998

Ηαηενίκα Απμζηόιμο Φογή 2000

Παίδεη

Σαηκία.Σίηιος Σαηκία.Έηος Δηάρθεηα Είδος Όκομα-Ηζοποηού Παίδεη.Σίηιος Παίδεη.Έηος

Παξακύζη 1990 90 Έγρξσκε Αιίθε Παππά Παξακύζη 1930

Παξακύζη 1990 90 Έγρξσκε Μαξία Γεσξγίνπ Παξακύζη 1990

Παξακύζη 1990 90 Έγρξσκε Κώζηαο Υξήζηνπ Φπγή 2000

Παξακύζη 1990 90 Έγρξσκε Μαξία ηεξγίνπ Άλνημε 1998

Παξακύζη 1990 90 Έγρξσκε Καηεξίλα Απνζηόινπ Φπγή 2000

Παξακύζη 1930 120 Αζπξόκαπξε Αιίθε Παππά Παξακύζη 1930

Παξακύζη 1990 120 Αζπξόκαπξε Μαξία Γεσξγίνπ Παξακύζη 1990

Παξακύζη 1930 120 Αζπξόκαπξε Κώζηαο Υξήζηνπ Φπγή 2000

Παξακύζη 1930 120 Αζπξόκαπξε Μαξία ηεξγίνπ Άλνημε 1998

Παξακύζη 1930 120 Αζπξόκαπξε Καηεξίλα Απνζηόινπ Φπγή 2000

Φπγή 2000 98 Αζπξόκαπξε Αιίθε Παππά Παξακύζη 1930

Page 35: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Καξηεζηαλό Γηλόκελν

Παξάδεηγκα

Γηα θάζε εζνπνηό ην όλνκα θαη ηνλ ηίηιν-έηνο γηα όιεο ηηο

έγρξσκεο ηαηλίεο ζηηο νπνίεο παίδεη

π όκμμα, ηίηιμξ, έημξ

(ζ είδμξ = “έγπνωμε” AND Παίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ = Σαηκία.έημξ (Παίδεη x Σαηκία))

π όκμμα, ηίηιμξ, έημξ (ζ Παίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ

=Σαηκία.έημξ(Παίδεη x (ζ είδμξ = “έγπνωμε” (Σαηκία)))

ή

Page 36: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε (join)

πλδπάδεη ζρεηηδόκελεο πιεηάδεο από δύν ζρέζεηο

R <ζσκζήθε ζσκέκωζες> S

( ζ <ζοκζήθε ζοκέκωζεξ> (R x S) )

υνένωση (ή θήτα συνένωση) (join)

Page 37: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε (join)

Σειεζηήο πξάμεο ΤΝΔΝΩΖ

<ζπλζήθε ζπλέλσζεο> = πξνηάζεηο ηεο κνξθήο

=, >, <, , ,

Ai <ηειεζηήξ ζύγθνηζεξ> Bj

όπμο

•Ai γκώνηζμα ηεξ R,

•Bj γκώνηζμα ηεξ S,

•dom(Ai) = dom(Bj)

ζπλδπαζκέλεο κε AND

Page 38: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε (join)

Απνηέιεζκα ζπλέλσζεο: ζρέζε Q κε n + m

γλσξίζκαηα Q(A1, A2, …, An, B1, B2, …, Bm) κε απηή

ηε ζεηξά. Ζ Q έρεη κία πιεηάδα από θάζε ζπλδπαζκό

πιεηάδσλ –κία από ηελ R θαη κία από ηελ S- όηαλ ν

ζπλδπαζκόο ηθαλνπνηεί ηε ζπλζήθε ζπλέλσζεο

Ζ ζπλζήθε απνηηκάηαη γηα θάζε ζπλδπαζκό

Πιεηάδεο ησλ νπνίσλ ηα γλσξίζκαηα ζπλέλσζεο

έρνπλ ηηκή null δελ εκθαλίδνληαη!!

ΘΖΣΑ ΤΝΔΝΩΖ (THETA JOIN)

Page 39: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Γηαθνξά Καξηεζηαλνύ

Γηλνκέλνπ θαη πλέλωζεο

ηε ζπλέλωζε κόλν νη ζπλδπαζκνί

πιεηάδσλ πνπ ηθαλνπνηνύλ ηε ζπλζήθε

ζπλέλσζεο εκθαλίδνληαη ζην απνηέιεζκα

ην θαξηεζηαλό γηλόκελν εκθαλίδνληαη ζην

απνηέιεζκα όινη νη ζπλδπαζκνί πιεηάδσλ

Page 40: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα πλέλωζεο

B C D

2 3 4

2 3 5

7 8 10

U V

Α Β C

1 2 3

6 7 8

9 7 8

U ⋈ A < D V

A U.B U.C V.B V.C D

1 2 3 2 3 4

1 2 3 2 3 5

1 2 3 7 8 10

6 7 8 7 8 10

9 7 8 7 8 10

U⋈A<D AND U.B V.BV Δίλαη δπλαηή ζπλέλσζε ηεο κνξθήο:

Page 41: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

Σαινία Σίηλος Έηος Γιάρκεια Δίδος

Παίζει Όνομα-Ηθοποιού Σίηλος Έηος

Όνομα Γιεύθσνζη Έηος-Γέννηζης ύζσγος-Ηθοποιού

Ηθοποιός

Page 42: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα - πλέλωζε

Γηα θάζε εζμπμηό ημ όκμμα θαη ημκ ηίηιμ-έημξ γηα όιεξ ηηξ έγπνωμεξ ηαηκίεξ ζηηξ μπμίεξ παίδεη

π όκμμα, ηίηιμξ, έημξ (ζ Παίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ

=Σαηκία.έημξ (Παίδεη x (ζ είδμξ = “έγπνωμε” (Σαηκία)))

π όκμμα, ηίηιμξ, έημξ (Παίδεη⋈Παίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ

=Σαηκία.έημξ(ζ είδμξ = “έγπνωμε” (Σαηκία))

Page 43: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε Ηζόηεηαο (Equijoin)

Όηαλ ε ζπλζήθε ζπλέλσζεο πεξηιακβάλεη κόλν

ζπγθξίζεηο ηζόηεηαο, δει. ρξεζηκνπνηεί κόλν ηνλ

ηειεζηή =

σκζήθε ζσκέκωζες

Ai = Bj

όπμο Ai γκώνηζμα ηεξ R, Bj γκώνηζμα ηεξ S, θαη dom(Ai) = dom(Bj)

Πνμηάζεηξ ηεξ μμνθήξ

ζοκδοαζμέκεξ με AND

Page 44: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε Ηζόηεηαο

Α Β

1 2

3 4

B C D

2 5 6

4 7 8

9 10 11

R S

A R.B S.B C D

1 2 2 5 6

3 4 4 7 8

R⋈R.B = S.BS

ην απνηέιεζκα ηεο ζπλέλσζεο ηζόηεηαο ηα δεύγε γλσξηζκάησλ από ηηο δύν ζρέζεηο έρνπλ ηηο ίδηεο ηηκέο ζε θάζε πιεηάδα

Παξάδεηγκα

Page 45: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Φπζηθή πλέλωζε (natural

join)

ηελ πξάμε ηεο ζπλέλσζεο ηζόηεηαο ηα δεύγε

γλσξηζκάησλ έρνπλ ηηο ίδηεο ηηκέο ζε θάζε πιεηάδα

πιενλαζκόο

Γηα ηελ απαινηθή ηνπ δεύηεξνπ γλσξίζκαηνο ζε κηα

ζπλέλσζε ηζόηεηαο δεκηνπξγήζεθε ε πξάμε

ΦΤΗΚΖ ΤΝΔΝΩΖ (NATURAL_KOIN)

* ηειεζηήο Φπζηθήο πλέλσζεο

Page 46: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Φπζηθή πλέλωζε - Οξηζκόο

Μηα ζπλέλσζε ηζόηεηαο αθνινπζνύκελε από ηελ

απαινηθή ησλ γλσξηζκάησλ ηεο δεύηεξεο ζρέζεο

από ην απνηέιεζκα

Τη γίλεηαη όηαλ ηα γλωρίζκαηα δελ έτοσλ ηο ίδηο

όλοκα?

Page 47: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Φπζηθή πλέλωζε

Όηαλ δεύγε γλσξηζκάησλ πνπ πξνθύπηνπλ από

ζπλέλσζε ηζόηεηαο έρνπλ ηηο ίδηεο ηηκέο ζε θάζε

πιεηάδα αιιά δελ έρνπλ ην ίδην όλνκα ηόηε

εθαξκόδνπκε πξώηα ηελ πξάμε ηεο

κεηνλνκαζίαο θαη κεηά ηελ πξάμε ηεο θπζηθήο

ζπλέλωζεο

Μεηνλνκαζία γλσξηζκάησλ!!

Page 48: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Φπζηθή πλέλωζε

Σν γλώξηζκα πνπ κεηνλνκάδεηαη πξνθεηκέλνπ λα

εθηειεζηεί ε πξάμε ηεο θπζηθήο ζπλέλσζεο ιέγεηαη:

Γνώριζμα Σσνένωζες (join attribute)

εκ. Αλ ηα γλσξίζκαηα πάλσ ζηα νπνία

πξνζδηνξίδεηαη ε θπζηθή ζπλέλσζε έρνπλ ην

ίδην όλνκα θαη ζηηο δύν ζρέζεηο, ηόηε δε

ρξεηάδεηαη κεηνλνκαζία

Page 49: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα 1

Α Β

1 2

3 4

B C D

2 5 6

4 7 8

9 10 11

R S R * S

A B C D

1 2 5 6

3 4 7 8

Page 50: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα 2

B C D

2 3 4

7 8 10

U V

Α Β C

1 2 3

6 7 8

9 7 8

U * V

A B C D

1 2 3 4

6 7 8 10

9 7 8 10

Page 51: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα 3

Γηα θάζε εζμπμηό ημ όκμμα θαη ημκ ηίηιμ-έημξ γηα όιεξ ηηξ έγπνωμεξ ηαηκίεξ ζηηξ μπμίεξ παίδεη

π όκμμα, ηίηιμξ, έημξ (ζ Παίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ

=Σαηκία.έημξ(Παίδεη x (ζ είδμξ = “έγπνωμε” (Σαηκία)))

π όκμμα, ηίηιμξ, έημξ (Παίδεη * (ζ είδμξ = “έγπνωμε” (Σαηκία)))

είκαη ε ηνίηε έθθναζε πνηκ ηεκ πνμβμιή ηζμδύκαμε ηωκ άιιωκ δύμ;

π όκμμα, ηίηιμξ, έημξ (ΠαίδεηΠαίδεη.ηίηιμξ = Σαηκία.ηίηιμξ AND Παίδεη.έημξ

=Σαηκία.έημξ(ζ είδμξ = “έγπνωμε” (Σαηκία))

Page 52: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε Ηζόηεηαο & Φπζηθή

πλέλωζε

ΗΓΗΟΣΖΣΔ

Μπνξνύλ λα νξηζηνύλ κεηαμύ πνιιώλ πηλάθσλ

(ζρέζεσλ), νδεγώληαο ζε ζπλέλσζε ηάμεσο n

Παξάδεηγκα

((ΔΡΓΟ Κ_ΣΜΖΜΑ = ΚΩΓ_ΣΜΖΜΑ ΣΜΖΜΑ)

ΓΗΔΤΘΤΝΣΖ = ΑΡ_ΣΑΤ ΔΡΓΑΕΟΜΔΝΟ)

Page 53: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλέλωζε

ΗΓΗΟΣΖΣΔ

Αλ θαλέλαο ζπλδπαζκόο πιεηάδσλ δελ ηθαλνπνηεί ηε

ζπλζήθε ζπλέλσζεο, ην απνηέιεζκα ηεο

ζπλέλσζεο είλαη κηα θελή ζρέζε κε κεδέλ πιεηάδεο

Έζησ δύν ζρέζεηο R θαη S κε πιεηάδεο nR θαη nS

αληίζηνηρα. Αλ εθαξκόζνπκε κηα πξάμε ζπλέλσζεο

ζηηο παξαπάλσ ζρέζεηο ην απνηέιεζκα ζα έρεη

κεηαμύ 0 θαη nR* nS πιεηάδεο

Page 54: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Υηαζηί πλέλωζε (Cross join)

Αλ δελ ππάξρεη <ζπλζήθε ζπλέλσζεο> λα

ηθαλνπνηεζεί, όινη νη ζπλδπαζκνί πιεηάδσλ

ζεσξνύληαη ηθαλνπνηεηηθνί θαη ε ζπλέλσζε

γίλεηαη έλα θαξηεζηαλό γηλόκελν πνπ ιέγεηαη

θαη ΥΗΑΣΗ ΤΝΔΝΩΖ (CROSS JOIN)

Page 55: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δμωηεξηθή πλέλωζε

Όηαλ ζέινπκε λα θξαηήζνπκε ζην απνηέιεζκα όιεο ηηο

πιεηάδεο - θαη απηέο πνπ δελ ηαηξηάδνπλ) είηε ηεο ζρέζεο

ζηα αξηζηεξά (αξηζηεξή εμωηεξηθή ζπλέλωζε) είηε ηεο

ζρέζεο ζηα δεμηά (δεμηά εμωηεξηθή ζπλέλωζε)

R S

Α C

1 6

2 4

Α B

1 3

1 5

3 9

Α C B

1 6 3

1 6 5

R.Α C B S.A

1 6 3 1

1 6 5 1

2 4 null null

R.Α C S.A B

1 6 1 3

1 6 1 5

null null 3 9

R * S Left Join Right join

Page 56: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Πιήξεο Δμωηεξηθή πλέλωζε

Ζ πξάμε πιήξεο εμωηεξηθή ζπλέλωζε

(FULL OUTER JOIN) δηαηεξεί όιεο ηηο

πιεηάδεο ηεο αξηζηεξήο θαη ηεο δεμηάο ζρέζεο

θαη όηαλ δελ βξεζνύλ πιεηάδεο πνπ λα ηνπο

ηαηξηάδνπλ, ζπκπιεξώλνληαη ηηκέο null όπνπ

ρξεηάδεηαη

Page 57: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Ζ Πξάμε ηεο Γηαίξεζεο (Division)

Έζησ R (A1, …, An,B1, …, Bm) θαη S (B1, …, Bm)

Ζ δηαίξεζε R S είλαη κηα ζρέζε Σ κε ζρήκα A1, …, An.

Πεξηέρεη ηηο πιεηάδεο t νη νπνίεο είλαη ηέηνηεο ώζηε, γηα θάζε πιεηάδα s ηεο S, ε πιεηάδα πνπ πξνθύπηεη από ηελ παξάζεζε ησλ t θαη s αλήθεη ζηελ R.

O ηειεζηήο ηεο δηαίξεζεο κπνξεί λα ζεσξεζεί σο αληίζηξνθνο ηνπ ηειεζηή ηνπ Καξηεζηαλνύ γηλνκέλνπ:

Σ S παξάγεη κηα ζρέζε ζπκβαηή κε ηελ R θαη ελδέρεηαη λα ηζρύεη Σ S = R

ελ γέλεη, αλ T = R S , ηόηε ε Σ είλαη ην κεγαιύηεξν δπλαηό ζύλνιν πιεηάδσλ ώζηε Σ S R

Page 58: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

• Παραδείγμαηα:

Α Β C

a1 b1 c1

a2 b1 c1

a1 b2 c1

a1 b2 c2

a2 b1 c2

a1 b2 c3

a1 b2 c4

a1 b1 c5

R C

c1

S A B

a1 b1

a2 b1

a1 b2

T:= R S

S T R

T μέγιζηο

Παξάδεηγκα Γηαίξεζεο

Page 59: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Example - Division

Page 60: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο

πλαξηήζεηο

Aggregate Functions

Page 61: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Τπάξρνπλ ηύπνη εξσηεκάησλ πνπ δελ κπνξνύλ λα

εθθξαζηνύλ ζηε ζρεζηαθή άιγεβξα, π.ρ.

Βρες ηο κέζο όρο ηοσ κηζζού όιωλ ηωλ εργαδοκέλωλ

Βρες ηο πιήζος ηωλ πιεηάδωλ εργαδοκέλωλ

Δθθξάδνπκε ηα παξαπάλσ εξσηήκαηα κε ρξήζε

ζπλαζξνηζηηθώλ ζπλαξηήζεωλ

Page 62: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Δθαξκόδνληαη ζε ζπιινγέο πιεηάδσλ κε

αξηζκεηηθέο ηηκέο

Σέηνηεο ζπλαξηήζεηο είλαη νη:

ΑΘΡΟΗΜΑ (SUM)

ΜΔΟ ΟΡΟ (AVEGARE)

ΜΔΓΗΣΟ (MAXIMUM)

ΔΛΑΥΗΣΟ (MINIMUM)

ΠΛΖΘΟ (COUNT)

Page 63: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

F <ιίζηα ζπλάξηεζεο> (R)

Όπνπ:

F : ην ζύκβνιν ηεο πξάμεο

<ιίζηα ζπλάξηεζεο> : κηα ιίζηα από δεύγε ηεο κνξθήο (<ζπλάξηεζε><γλώξηζκα>)

Όπνπ:

<ζπλάξηεζε> : είλαη κία από ηηο επηηξεπηέο ζπλαξηήζεηο όπσο SUM, AVERAGE, MAXIMUM, MINIMUM, COUNT

<γλώξηζκα> : είλαη έλα γλώξηζκα ηεο ζρέζεο (R)

Γηαβάδεηαη «θαιιηγξαθηθό F»

Page 64: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

ε θάπνηεο πεξηπηώζεηο εξσηεκάησλ πξώηα

νκαδνπνηνύκε ηηο πιεηάδεο κηαο ζρέζεο κε βάζε ηηο

ηηκέο θάπνησλ γλσξηζκάησλ θαη ζηε ζπλέρεηα

εθαξκόδνπκε κηα πξάμε ζπλαζξνηζηηθήο

ζπλάξηεζεο

<γλωξίζκαηα νκαδνπνίεζεο> F <ιίζηα ζπλάξηεζεο> (R)

Όπνπ <γλσξίζκαηα νκαδνπνίεζεο> είλαη κηα ιίζηα από

γλσξίζκαηα ηεο ζρέζεο (R)

Page 65: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Σν απνηέιεζκα ηεο πξάμεο είκαη κηα ζρέζε πνπ έρεη ηα γλσξίζκαηα νκαδνπνίεζεο θαη έλα επηπιένλ γλώξηζκα γηα θάζε ζηνηρείν ηεο ιίζηαο ζπλαξηήζεσλ

Απαξαίηεηε ε κεηνλνκαζία ησλ γλσξηζκάησλ ηεο πξνθύπηνπζαο ζρέζεο δηαθνξεηηθά ην θαζέλα ζα είλαη ε ζπλέλσζε ηνπ νλόκαηνο ηεο ζπλάξηεζεο κε ην όλνκα ηνπ γλσξίζκαηνο

Page 66: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Παράδεηγκα

Να βξεζεί

1. ν θσδηθόο θάζε ηκήκαηνο,

2. ην πιήζνο ησλ εξγαδνκέλσλ ζην ηκήκα θαη

3. ν κέζνο κηζζόο ησλ εξγαδνκέλσλ ζην ηκήκα

ΑΡΗΘ_Σ F COUNT ΑΡ_ΣΑΤΣ, AVERAGE ΜΗΘΟ (ΔΡΓΑΕΟΜΔΝΟ)

ρ ΑΡΙΘ_Τ, ΕΡΓΑΖΟΜΕΝΟΙ, ΜΕΣΟΣ_ΜΙΣΘΟΣ)

( ΑΡΗΘ_Σ F COUNT ΑΡ_ΣΑΤΣ,AVERAGE ΜΗΘΟ (ΔΡΓΑΕΟΜΔΝΟ) )

ΧΩΡΙ ΜΕΣΟΝΟΜΑΙΑ

ΜΕ ΜΕΣΟΝΟΜΑΙΑ

Page 67: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

ΑΡΙΘ_Σ ΕΡΓΑΖΟΜΕΝΟΙ ΜΕΟ_ΜΙΘΟ

5 4 33250

4 3 31000

1 1 55000

ΑΡΙΘ_Σ COUNT_ΑΡ_ΣΑΤ AVERAGE_ΜΙΘΟ

5 4 33250

4 3 31000

1 1 55000

Page 68: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Αλ δελ πξνζδηνξίδνληαη γλσξίζκαηα νκαδνπνίεζεο

ηόηε νη ζπλαξηήζεηο εθαξκόδνληαη ζηηο ηηκέο ησλ

γλσξηζκάησλ όισλ ησλ πιεηάδσλ ηεο ζρέζεο θαη

επνκέλσο ην απνηέιεζκα έρεη κόλν κία πιεηάδα!!

F COUNT ΑΡΗΘ_Σ, AVERAGE ΜΗΘΟ (ΔΡΓΑΕΟΜΔΝΟ)

COUNT_ ΑΡΙΘ_Σ AVERAGE _ΜΙΘΟ

8 35125

Page 69: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

πλαζξνηζηηθέο πλαξηήζεηο

Γε γίλεηαη απαινηθή δηπινηηκώλ όηαλ

εθαξκόδεηαη κηα ζπλαζξνηζηηθή ζπλάξηεζε

Σν απνηέιεζκα ηεο πξάμεο είλαη κία ζρέζε

θαη όρη έλαο αξηζκόο αθόκα θη αλ πξόθεηηαη

γηα κηα απιή ηηκή!

Page 70: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξαδείγκαηα

Παξάδεηγκα 1ν

Πξντόληα Πιεξνθνξηθήο

Page 71: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δθθώλεζε

έζησ ην παξαθάησ ζρήκα κηαο βάζεο

δεδνκέλσλ:

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 72: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξωηήκαηα

1. Πνηα κνληέια PCs έρνπλ ηαρύηεηα ηνπιάρηζηνλ 2,3 GHz;

2. Βξείηε ηνπο αξηζκνύο κνληέινπ θάζε έγρξσκνπ Laser εθηππσηή

3. Πνηνη θαηαζθεπαζηέο θηηάρλνπλ laptops κε ζθιεξό κεγαιύηεξν από 1 Gb;

4. Πνηνο είλαη ν αξηζκόο κνληέινπ θαη ε ηηκή θάζε πξντόληνο ηνπ θαηαζθεπαζηή Β;

5. Βξείηε ηνπο θαηαζθεπαζηέο πνπ θηηάρλνπλ laptops αιιά όρη PCs

6. Βξείηε ηα κεγέζε ησλ ζθιεξώλ πνπ ππάξρνπλ ζε πεξηζζόηεξα από έλα PC

7. Βξείηε ηα δεπγάξηα (κνληέισλ) ησλ PCs κε ίδην επεμεξγαζηή θαη κλήκε

8. Όπσο ην 7, αιιά κε κε δηαθξηηά δεπγάξηα δειαδή (Α,Β)=(Β,Α)

9. Βξείηε ηνπο θαηαζθεπαζηέο πνπ θαηαζθεπάδνπλ αθξηβώο δύν κνληέια PCs

Page 73: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

1. Πνηα κνληέια PCs έρνπλ ηαρύηεηα

ηνπιάρηζηνλ 2,3 GHz;

model speed 2.3( (PC))GHz

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 74: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

2. Βξείηε ηνπο αξηζκνύο κνληέινπ

θάζε έγρξσκνπ Laser εθηππσηή

model color=True AND type='Laser'( (Printer))

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 75: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

3. Πνηνη θαηαζθεπαζηέο θηηάρλνπλ

laptops κε ζθιεξό κεγαιύηεξν από

1 Gb;

maker hd 1 Product.Model=Laptop.Model( (Product Laptop))GB

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 76: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

4. Πνηνο είλαη ν αξηζκόο κνληέινπ θαη ε ηηκή

θάζε πξντόληνο ηνπ θαηαζθεπαζηή Β;

model,price maker='B'

model,price maker='B'

model,price maker='B'

( (Product PC))

( (Product Laptop))

( (Product Printer))

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 77: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

5. Βξείηε ηνπο θαηαζθεπαζηέο πνπ

θηηάρλνπλ laptops αιιά όρη PCs

maker maker(Product Laptop) (Product PC)

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 78: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

6. Βξείηε ηα κεγέζε ησλ ζθιεξώλ πνπ

ππάξρνπλ ζε πεξηζζόηεξα από έλα

PC

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

pc1.ram = pc2.ram AND pc1.speed = pc2.speed AND pc1.model pc2.model

pc1.model,pc2.model ((PC AS pc1)

(PC AS pc2))

Page 79: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

7. Βξείηε ηα δεπγάξηα (κνληέισλ) ησλ

PCs κε ίδην επεμεξγαζηή θαη κλήκε

pc1.ram = pc2.ram AND pc1.speed = pc2.speed AND pc1.model pc2.model

pc1.model,pc2.model ((PC AS pc1)

(PC AS pc2))

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 80: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξώηεκα - Λύζε

8. Όπσο ην 7, αιιά κε κε δηαθξηηά

δεπγάξηα δειαδή (Α,Β)=(Β,Α)

pc1.ram = pc2.ram AND pc1.speed = pc2.speed AND pc1.model < pc2.model

pc1.model,pc2.model ((PC AS pc1)

(PC AS pc2))

Product (maker, model, type)

PC (model, speed, ram, hd, cd, price)

Laptop (model, speed, ram, hd, screen, price)

Printer (model, color, type, price)

Page 81: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Βξείηε ηνπο θαηαζθεπαζηέο πνπ θαηαζθεπάδνπλ

αθξηβώο δύν κνληέια PCs

9.

maker,modelPCMaker (Product PC)

mp1.maker = mp2.maker AND mp1.model < mp2.model

makerLeastTwo (

(PCMaker AS mp1)

(PCMaker AS mp2))

mp1.maker = mp2.maker AND mp1.model < mp2.model

mp2.maker = mp3.maker AND mp2.model < mp3.model

makerLeastThree (

(PCMaker AS mp1)

(PCMaker AS mp2)

(PCMaker AS mp3))

ExactlyTwo LeastTwo - LeastThree

Page 82: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξαδείγκαηα

Παξάδεηγκα 2ν

Πόηεο....Μπύξαο!!!

Page 83: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Παξάδεηγκα

1. Σμοξ πόηεξ πμο ζοπκάδμοκ ζε μαγαδηά πμο ζενβίνμοκ μπύνα «Guinness»

2. Tα μαγαδηά πμο ζενβίνμοκ μπύνα «Guinness» ή μπύνα «Leffe Brune» ή θαη ηα δύμ

3. Tα μαγαδηά πμο ζενβίνμοκ μπύνα «Guinness» θαη μπύνα «Leffe Brune»

4. Tα μαγαδηά πμο ζενβίνμοκ μόκο μπύνα «Guinness»

5. Ιαγαδηά πμο ζενβίνμοκ ηοσιάτηζηοκ δύο δηαθμνεηηθέξ μπύνεξ. (μόκμ μία;)

6. Ιαγαδηά πμο ζενβίνμοκ αθρηβώς δύο δηαθμνεηηθέξ μπύνεξ.

7. Σα μαγαδηά πμο ζενβίνμοκ μπύνεξ πμο πνμηημά μ πόηεξ «Δεμήηνεξ».

8. Σα μαγαδηά πμο ζενβίνμοκ όιεξ ηηξ μπύνεξ πμο πνμηημά μ Δεμήηνεξ

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

Page 84: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

1. Τοσς πόηες ποσ ζστλάδοσλ ζε καγαδηά ποσ

ζερβίροσλ κπύρα «Guinness»

Πότης Μπύρα='Guiness'

. .

( (

))

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

•Ζεηούμενο

Page 85: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

2. Tα καγαδηά ποσ ζερβίροσλ κπύρα

«Guinness» ή κπύρα «Leffe Brune» ή θαη

ηα δύο

ΜΑΓΑΖΙ Μπύρα='Guiness'

ΜΑΓΑΖΙ Μπύρα='Leffe Brune'

1 ( ( ))

2 ( ( ))

1 2

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

•Ζεηούμενο

Page 86: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

3. Tα καγαδηά ποσ ζερβίροσλ κπύρα

«Guinness» και κπύρα «Leffe Brune»

ΜΑΓΑΖΙ Μπύρα='Guiness'

ΜΑΓΑΖΙ Μπύρα='Leffe Brune'

1 ( ( ))

2 ( ( ))

1 2

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

•Ζεηούμενο

Page 87: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

4. Tα καγαδηά ποσ ζερβίροσλ μόνο

κπύρα «Guinness»

ΜΑΓΑΖΙ Μπύρα='Guiness'

ΜΑΓΑΖΙ Μπύρα 'Guiness'

1 ( ( ))

2 ( ( ))

1 2

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

•Ζεηούμενο

Page 88: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

5. Μαγαδηά ποσ ζερβίροσλ ηοσλάτιζηον

δύο δηαθορεηηθές κπύρες. (κόλο κία;)

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

•Μόνο κία:

•Τοσλάτιζηον Δύο δηαθορεηηθές κπύρες:

ΜΑΓΑΖΙ

ΜΑΓΑΖΙ 1.ΜΠΤΡΑ 2.ΜΠΤΡΑ AND 1.ΜΑΓΑΖΙ=2.ΜΑΓΑΖΙ

1 ( )

2 ( 1 )

1 2

2ASAS

ΜΑΓΑΖΙ 1.ΜΠΤΡΑ 2.ΜΠΤΡΑ AND 1.ΜΑΓΑΖΙ=2.ΜΑΓΑΖΙ( 1 2)AS AS

Page 89: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

6. Μαγαδηά ποσ ζερβίροσλ ακριβώς

δύο δηαθορεηηθές κπύρες.

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

2 2 3Exactly Atleast AtLeast

ΜΑΓΑΖΙ

1.ΜΠΤΡΑ 2.ΜΠΤΡΑ AND 1.ΜΑΓΑΖΙ=2.ΜΑΓΑΖΙAND 1.ΜΠΤΡΑ 3.ΜΠΤΡΑ

2.ΜΠΤΡΑ 3.ΜΠΤΡΑ AND 2.ΜΑΓΑΖΙ=3.ΜΑΓΑΖΙ

3 ( 1

( 2 3))

AtLeast AS

AS AS

ΜΑΓΑΖΙ

1.ΜΠΤΡΑ 2.ΜΠΤΡΑ AND 1.ΜΑΓΑΖΙ=2.ΜΑΓΑΖΙ

2 ( 1

2)

AtLeast AS

AS

•Ζεηούμενο

Page 90: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

7. Τα καγαδηά ποσ ζερβίροσλ κπύρες

ποσ προηηκά ο πόηες «Δεκήηρες».

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

ΜΠΤΡΑ ' '1 ( ( ))

ΜΑΓΑΖΙ ΑΠ1.ΜΠΤΡΑ=ΕΡΒΙΡΕΙ.ΜΠΤΡΑ( 1 )

•Όλες οι μπύρες ποσ προηιμά ο Δεμήηρες

•Ζεηούμενο

Page 91: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

8. Τα καγαδηά ποσ ζερβίροσλ όιες ηης

κπύρες ποσ προηηκά ο Δεκήηρες

ΠΡΟΣΖΙΑ(ΠΟΣΕ, ΙΠΤΡΑ)

ΤΥΚΑΔΓΖ(ΠΟΣΕ, ΙΑΓΑΔΖ)

ΓΡΒΖΡΓΖ(ΙΑΓΑΔΖ, ΙΠΤΡΑ)

' '( ( ( ))R

•Όλες οι μπύρες ποσ προηιμά ο Δεμήηρες

•Όλα ηα μαγαδιά και οι μπύρες ποσ ασηά ζερβίροσν

•Ζεηούμενο

R

Page 92: Βάζεηο Γεδνκέλωλ - dblab.upatras.gr · Δπηινγή (select) Ζ  εθαξκόδεηαη αλεμάξηεηα ζε θάζε

Δξωηήζεηο....

Δπραξηζηώ!!!