Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ -...

47
ΠΑΝΔΠΙΣΗΜΙΟ ΠΑΣΡΩΝ - ΣΜΗΤΠ ΒΑΔΙ ΓΔΓΟΜΔΝΩΝ Ι Β. Μεγαιννηθνλόκνπ Γ. Υξηζηνδνπιάθεο Σχεσιακό Μοντέλο –SQL- Μέρος Β (παξνπζίαζε βαζηζκέλε ελ κέξε ζε ζεκεηώζεηο ησλ Silberchatz, Korth θαη Sudarshan θαη ηνπ C. Faloutsos)

Transcript of Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ -...

Page 1: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

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

Β. Μεγαιννηθνλόκνπ

Γ. Υξηζηνδνπιάθεο

Σχεσιακό Μοντέλο –SQL- Μέρος Β

(παξνπζίαζε βαζηζκέλε ελ κέξε ζε ζεκεηώζεηο ησλ Silberchatz, Korth θαη Sudarshan θαη ηνπ C. Faloutsos)

Page 2: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε – ζρεζηαθό κνληέιν

Σππηθέο γιώζζεο εξσηεκάησλ

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

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

SQL

QBE, (QUEL)

Page 3: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε -αλαιπηηθά - SQL

ΓΥΓ

select, from, where, κεηνλνκαζία, δηάηαμε,

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

Δηζαγσγή (insertion), δηαγξαθή (deletion), ελεκέξσζε (update)

Άιια κέξε:ΓΟΓ, εκθπηεπκέλε SQL, εμνπζηνδόηεζε, θα.

Page 4: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Θπκεζείηε: ηε κηθξή καο ΒΓ

ΦΟΙΣΗΣΗ

ΑΜ Όνομα Διεύθσνζη

123 ηαύροσ Αιόλοσ

234 Ανηωνίοσ Θράκης

ΠΑΙΡΝΔΙ

ΑΜ Κωδ βαθμός

123 cis331 A

234 cis331 B

ΜΑΘΗΜΑ

Κωδ Όνομα ΓΜ

cis331 ΓΒ 2

cis321 C 2

Page 5: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – εηζαγσγή....

insert into θνηηεηήο

values (“234”, “Αλησλίνπ”, “Θξάθεο”)

insert into θνηηεηήο(ΑΜ, όλνκα, δηεύζπλζε)

values (“234”, “Αλησλίνπ”, “Θξάθεο”)

Page 6: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – εηζαγσγή....

Μαδηθή εηζαγσγή: πώο ζα εηζάγνπκε ηα δεδνκέλα ελόο πίλαθα (πρ. „μέλνο-θνηηεηήο‟, καδηθά;

Page 7: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – εηζαγσγή....

Μαδηθή Δηζαγσγή:

insert into θνηηεηήο

select ΑΜ, όλνκα, δηεύζπλζε

from μέλνο-θνηηεηήο

Page 8: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – δηαγξαθή....

Γηαγξαθή ηεο θαηαρώξεζεο γηα ηνλ „Αλησλίνπ‟

Page 9: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – δηαγξαθή....

Γηαγξαθή ηεο θαηαρώξεζεο γηα ηνλ „Αλησλίνπ‟:

delete from θνηηεηήο

where όλνκα=„Αλησλίνπ‟

(πξνζνρή – δηαγξάθεη ΟΛΟΤ ηνπο Αλησλίνπ!)

Page 10: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – Δλεκέξσζε...

Καηέγξαςε ηνλ βαζκό „A‟ γηα ην ΑΜ=123 ζην κάζεκα cis351

update παίξλεη

set βαζκόο=“A”

where ΑΜ=“123” and θσδ=“cis351”

(ζα δώζεη ηελ ηηκή “A” ζε ΟΛΑ ηα αξρεία πνπ ηαηξηάδνπλ)

Page 11: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ – ελεκέξσζε όςεο

Έζησ ε αθόινπζε όςε γηα ηε ΒΓ-παίξλεη:

create view ΒΓ-παίξλεη as

(select * from παίξλεη where θσδ=“cis351”)

Η ελεκέξσζε ησλ όςεσλ είλαη επηξξεπήο ζε ιάζε -ηππηθά, κπνξνύκε κόλν λα ελεκεξώζνπκε όςεηο πνπ δελ έρνπλ ζπλελώζεηο νύηε ζπλαζξνίζεηο

Αθόκα θαη ηόηε, ζθεθηείηε ηελ πεξίπησζε λα αιιάμνπκε έλαλ θσδηθό καζήκαηνο ζε cis333....

Page 12: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ΓΥΓ - πλελώζεηο

Μέρξη ηώξα: „INNER‟ joins, πρ:

select ΑΜ, κάζεκα.όλνκα

from παίξλεη, κάζεκα

where παίξλεη.θσδ = κάζεκα.θσδ

Page 13: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Θπκεζείηε: ηε κηθξή καο ΒΓ

ΦΟΙΣΗΣΗ

ΑΜ Όνομα Διεύθσνζη

123 ηαύροσ Αιόλοσ

234 Ανηωνίοσ Θράκης

ΠΑΙΡΝΔΙ

ΑΜ Κωδ βαθμός

123 cis331 A

234 cis331 B

ΜΑΘΗΜΑ

Κωδ Όνομα ΓΜ

cis331 ΓΒ 2

cis321 C 2

Page 14: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

inner join

ΑΜ όνομα

123 d.b.

234 d.b. o.s.: τάνεται!

ΠΑΙΡΝΔΙ

ΑΜ κωδ βαθμός

123 cis331 A

234 cis331 B

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

cis331 d.b. 2

cis321 o.s. 2

Page 15: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

outer join

ΑΜ όνομα

123 d.b.

234 d.b.

null o.s.

ΠΑΙΡΝΔΙ

ΑΜ κωδ βαθμός

123 cis331 A

234 cis331 B

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

cis331 d.b. 2

cis321 o.s. 2

Page 16: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

outer join

ΑΜ όνομα

123 d.b.

234 d.b.

null o.s.

select ΑΜ, κάζεκα.όλνκα

from παίξλεη outer join κάζεκα onπαίξλεη.θσδ=κάζεκα.θσδ

Page 17: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

outer join

left outer join

right outer join

full outer join

natural join

Page 18: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε -αλαιπηηθά- SQL

ΓΥΓ

select, from, where, κεηνλνκαζία, δηάηαμε,

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

Δηζαγσγή (insertion), δηαγξαθή (deletion), ελεκέξσζε (update)

Άιια κέξε: ΓΟΓ, εκθπηεπκέλε SQL, εμνπζηνδόηεζε, θα.

Page 19: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

create table θνηηεηήο

(ΑΜ char(9) not null,

όλνκα char(30),

δηεύζπλζε char(50),

primary key (ΑΜ) )

Page 20: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

create table r( A1 D1, …, An Dn,

πεξηνξηζκόο αθεξαηόηεηαο1,

πεξηνξηζκόο αθεξαηόηεηαο-n)

Page 21: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

πεδία:

char(n), varchar(n)

int, numeric(p,d), real, double precision

float, smallint

date, time

Page 22: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

Πεξηνξηζκνί αθεξαηόηεηαο:

primary key

foreign key

check(P)

Page 23: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

create table παίξλεη

(ΑΜ char(9) not null,

θσδ char(5) not null,

βαζκόο char(1),

primary key (ΑΜ, θσδ),

check βαζκόο in (“A”, “B”, “C”, “D”, “F”))

Page 24: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

Γηαγξαθή ελόο πίλαθα: δηαθνξά κεηαμύ

drop table θνηηεηήο

delete from θνηηεηήο

Page 25: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γιώζζα Οξηζκνύ Γεδνκέλσλ

Σξνπνπνίεζε πίλαθα:

alter table θνηηεηήο drop δηεύζπλζε

alter table θνηηεηήο add θαηεύζπλζεchar(10)

Page 26: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε- αλαιπηηθά- SQL

ΓΥΓ

select, from, where, κεηνλνκαζία, δηάηαμε,

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

Δηζαγσγή (insertion), δηαγξαθή (deletion), ελεκέξσζε (update)

Άιια κέξε: ΓΟΓ, εκθπηεπκέλε SQL, εμνπζηνδόηεζε, θα.

Page 27: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δκθπηεπκέλε SQL

κέζα από κηα „host‟ γιώζζα πξνγξακκαηηζκνύ (π.ρ. „C‟, „VB‟)

EXEC SQL <emb. SQL stmnt> END-EXEC

Δξώηεζε: γηαηί ρξεηαδόκαζηε ηελ εκθπηεπκέλεSQL??

Page 28: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δκθπηεπκέλε SQL

Η SQL επηζηξέθεη ζύλνια. Η θηιόμελε γιώζζα αλακέλεη κηα πιεηάδα – εγγελήο δηαθνξά ζηνλ ηξόπν αλαπαξάζηαζεο δεδνκέλσλ!

ιύζε: „cursor‟, δει. έλαο „δείθηεο‟ ζηα ζύλνια ησλ πιεηάδσλ

παξάδεηγκα:

Page 29: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δκθπηεπκέλε SQL

main(){

EXEC SQL

declare c cursor for

select * from θνηηεηήο

END-EXEC

Page 30: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δκθπηεπκέλε SQL - ζπλέρεηα

EXEC SQL open c END-EXEC

while( !sqlerror ){

EXEC SQL fetch c into :cΑΜ, :cόλνκα, :cδηεπζ

END-EXEC

fprintf( … , cΑΜ, cόλνκα, cδηεπζ);

}

Page 31: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δκθπηεπκέλε SQL - ζπλέρεηα

EXEC SQL close c END-EXEC

} /* end main() */

Page 32: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

δπλακηθή SQL

Γεκηνπξγία θαη ππνβνιή SQL εξσηεκάησλ ζε πξαγκαηηθό ρξόλν

“?”: ζέζε θαηαρώξεζεο ηεο ηηκήο θαηά ηελ εθηέιεζε ηεο εληνιήο

main(){ /* θαζόξηζε όινπο ηνπο βαζκνύο ζύκθσλα κε ηα δεδνκέλα πνπ εηζάγεη ν ρξήζηεο */

…char *sqlcmd=“update παίξλεη set βαζκόο = ?”;EXEC SQL prepare dynsql from :sqlcmd ;char inputgrade[5]=“a”;EXEC SQL execute dynsql using :inputgrade;…} /* end main() */

Page 33: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε -αλαιπηηθά - SQL

ΓΥΓ

select, from, where, κεηνλνκαζία, δηάηαμε,

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

Δηζαγσγή (insertion), δηαγξαθή (deletion), ελεκέξσζε (update)

Άιια κέξε: ΓΟΓ, εκθπηεπκέλε SQL, εμνπζηνδόηεζε, θα.

Page 34: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

SQL - δηάθνξα

ηε ζπλέρεηα, ζα δνύκε

Δμνπζηνδόηεζε (authorization):

grant select on θνηηεηήο to <id-ρξήζηε>

δνζνιεςίεο

Άιια ραξαθηεξηζηηθά: ζθαλδάιεο (triggers), βεβαηώζεηο (assertions), θα.

Page 35: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε – ζρεζηαθό κνληέιν

Σππηθέο γιώζζεο εξσηεκάησλ

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

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

SQL

QBE, (QUEL)

Page 36: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό – εηζαγσγή ζηε QBE

Δκπλεπζκέλε από ην ζρεζηαθό ινγηζκό πεδίσλ

“P.” -> print (δει. „select‟ ζηελ SQL)

_x, _y: κεηαβιεηέο πεδίνπ (δει. νλόκαηα γλσξηζκάησλ)

Παξάδεηγκα: βξεο ηα νλόκαηα ησλ θνηηεηώλ πνπ έρνπλ πάξεη ην κάζεκα cis351

Page 37: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

ΦΟΙΣΗΣΗ

ΑΜ Όνομα Διεύθσνζη

123 ηαύροσ Αιόλοσ

234 Ανηωνίοσ Θράκης

ΠΑΙΡΝΔΙ

ΑΜ Κωδ βαθμός

123 cis331 A

234 cis331 B

ΜΑΘΗΜΑ

Κωδ Όνομα ΓΜ

cis331 ΓΒ 2

cis321 C 2

Page 38: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

ΠΑΙΡΝΕΙ

ΑΜ κωδ βαθμός

ΦΟΙΣΗΣΗ

ΑΜ όνομα διεύθσνζη

Page 39: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

ΑΜ κωδ βαθμός

_x cis351

ΦΟΙΣΗΣΗ

AM όνομα διεύθσνζη

_x P.

Τα ονόματα των υοιτητών ποσ έτοσν

πάρει το μάθημα cis351

Page 40: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

Πιαίζην ζπλζήθεο (condition box)

self-joins (νη παππνύδεο ηνπ Θσκά)

δηάηαμε (AO., DO.)

ζπλάζξνηζε (SUM.ALL., COUNT.UNIQUE. …)

group-by (G.)

Page 41: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

ΑΜ κωδ βαθμός

P.AVG.ALL.

ΦΟΙΣΗΣΗ

ΑΜ όνομα διεύθσνζη

σσνάθροιση: avg βαθμός σσνολικά:

Page 42: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QBE

ΜΑΘΗΜΑ

κωδ όνομα ΓΜ

AM κωδ βαθμός

P.G. P.AVG.ALL.

ΦΟΙΣΗΣΗ

ΑΜ όνομα διεύθσνζη

σσνάθροιση: avg. βαθμός ανά υοιτητή:

Page 43: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Δπηζθόπεζε –ζρεζηαθό κνληέιν

Σππηθέο γιώζζεο εξσηεκάησλ

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

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

SQL

QBE, (QUEL)

Page 44: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QUEL

Υξεζηκνπνηείηαη ζην INGRES κόλν – από ηζηνξηθό ελδηαθέξνλ.

Π.ρ: βξεο όια ηα ΑΜ ζηε κηθξή καο ΒΓ:

range of s is θνηηεηήο;

retrieve (s.ΑΜ);

{ | [ ] [ ]}t s ή s t

Page 45: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QUEL

Γεληθή ζύληαμε:

range of …. is t-όλνκα

retrieve (ιίζηα γλσξηζκάησλ)

where ζπλζήθε

SQL

select λίστα

γνωρισμάτων

from t-όνομα

where συνθήκη

Page 46: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

ρεζηαθό κνληέιν - QUEL

Παξόκνηα κε ηελ SQL

Δπίζεο ππνζηεξίδεη ζπλαζξνίζεηο, δηάηαμε, θηι

Page 47: Temple University – CIS Dept. CIS661 – Principles of Data … · 2010-11-20 · ΑΔΗ ΑΩ - Η ΒΑΔ ΓΔΓΔΩ Β. εγαιννηθνλόκνπ Γ. ξηζηνδνπιάθεο

Γεληθή Δπηζθόπεζε

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

Δκπνξηθέο γιώζζεο εξσηεκάησλ SQL

QBE, (QUEL)

Πεξηνξηζκνί αθεξαηόηεηαο

πλαξηεζηαθέο Δμαξηήζεηο

Καλνληθνπνίεζε – „θαιόο‟ ζρεδηαζκόο ΒΓ