kategória | ||||||||||
|
||||||||||
|
||
Def: Legyen , akkor R projekciója -ra. Ekkor =
Példa: Az OLVASO (o_azon, vnev, unev, lakcim, kiad_azon, beir_dat, okod) tábla projekciója a vnev, unev, lakcim attribútumokra.
VNEV |
UNEV |
LAKCIM |
GIPSZ |
JAKAB |
DEBRECEN FAL U. 1. |
KEMENY |
HELEN |
APAFA FA U. 12. |
MINTA |
MOKUS |
SARAND FELFAL U. 9. |
KEREK |
ERNO |
SZOB TINTA U.13. |
POR |
OSZKAR |
EGER DOBO U.21. |
Jelölése:, ahol SQL keresési feltétel
A szelekció a reláció azon elemei (sorok), amelyek eleget tesznek a SQL keresési feltételnek.
Példa: Szelekció az OLVASO (o_azon, vnev, unev, lakcim, kiad_azon, beir_dat, okod) táblából, feltétel: vnev='GIPSZ' and unev='JAKAB'.
O_AZON |
VNEV |
UNEV |
LAKCIM |
BEIR_DAT |
OKOD |
|
GIPSZ |
JAKAB |
DEBRECEN FAL U. 1. |
04-JAN-90 |
|
Az unió, metszet és különbség műveletek csak pontosan azonos attribútumokat tartalmazó táblákon végezhetők. Mivel a reláció egy halmaz, ezek a műveletek a halma 414d39e zelméletben tanultakkal megegyező eredményt szolgáltatnak.
Példa
Q(A,B,C) R(D,A,E) relációk uniója az S reláció.
Q |
A |
B |
C |
R |
D |
A |
E |
S |
|
|
|
|
a |
a |
b |
|
a |
a |
b |
|
a |
a |
b |
|
a |
c |
b |
|
b |
c |
d |
|
a |
c |
b |
|
|
|
|
|
e |
f |
g |
|
b |
c |
d |
|
|
|
|
|
|
|
|
|
e |
f |
g |
Példa
S |
|
|
|
|
a |
a |
b |
S |
|
|
|
|
a |
c |
b |
Példa
S |
Q.A |
B |
C |
D |
R.A |
E |
|
a |
a |
b |
a |
a |
b |
|
a |
a |
b |
b |
c |
d |
|
a |
a |
b |
e |
f |
g |
|
a |
c |
b |
a |
a |
b |
|
a |
c |
b |
b |
c |
d |
|
a |
c |
b |
e |
f |
g |
összekapcsolás/join, a Descartes szorzással kapott halmaz egy részhalmaza
Def: Legyen ; . Legyen .
A és relációk összekapcsolása a D kapcsoló attribútum szerint az a D(,), amire D(,)=
Két kiinduló táblát használ. Az eredmény a két tábla soraiból épül fel. Mindkét kiinduló táblában ki kell jelölni egy attribútumot (kapcsoló attribútum). Az eredménytábla sorai a következőképpen keletkeznek:
a) Válasszuk ki az első tábla első sorát (aktuális sor).
b) Keressük meg a második táblában azokat a sorokat, amelyek kapcsoló attribútuma ugyanazt az értéket tartalmazza, mint az aktuális sor kapcsoló attribútuma. Ha van ilyen sor, akkor folytassuk a következő lépéssel, ha nincs válasszuk a következő aktuális sort.
c) Az eredménytábla sorait úgy kapjuk, hogy az aktuális sort az összes lehetséges módon folytatjuk az előző lépésben megkeresett kapcsolódó sorokkal.
d) Az eredménytábla összes sorát úgy kapjuk, ha az első tábla összes során mint aktuális soron végiglépkedünk.
Ez volt az equijoin. (kapcsoló attribútumok értékegyenlőségén alapszik)
A nem equijoin a kapcsoló attribútumok egyenlőségtől eltérő relációján alapszik.
A külső join nemcsak a kapcsolódó sorokat teszi az eredménytáblába, hanem az első tábla azon sorait is, amelyhez nem létezett kapcsolódó sor a második táblából.
Példa equijoinra
S |
Q.A |
B |
C |
D |
R.A |
E |
|
a |
a |
b |
a |
a |
b |
|
a |
c |
b |
a |
a |
b |
kiad_azon |
kiad_nev |
varos |
isbn |
cim |
K001 |
TANKONYVKIADO |
LONDON |
|
EGRI CSILLAGOK |
K001 |
TANKONYVKIADO |
LONDON |
|
KOSZIVU EMBER FIAI |
K002 |
AKADEMIAI KIADO |
NEW YORK |
|
TUSKEVAR |
K002 |
AKADEMIAI KIADO |
NEW YORK |
|
ANATOMIA |
K003 |
GONDOLAT KIADO |
LONDON |
|
EMPATIA |
K003 |
GONDOLAT KIADO |
LONDON |
|
RECEPTEK |
Példa külső joinra
kiad_azon |
kiad_nev |
varos |
isbn |
cim |
K001 |
TANKONYVKIADO |
LONDON |
|
EGRI CSILLAGOK |
K001 |
TANKONYVKIADO |
LONDON |
|
KOSZIVU EMBER FIAI |
K002 |
AKADEMIAI KIADO |
NEW YORK |
|
TUSKEVAR |
K002 |
AKADEMIAI KIADO |
NEW YORK |
|
ANATOMIA |
K003 |
GONDOLAT KIADO |
LONDON |
|
EMPATIA |
K003 |
GONDOLAT KIADO |
LONDON |
|
RECEPTEK |
K004 |
KOSSUTH KIADO |
LONDON |
|
|
Találat: 1264