2. gyakorlat – emlékeztető, feladatok

Sidló Csaba

2005. szeptember 26.

1. Fogalmak

1.1. Relációs algebra származtatott műveletei

1.1. Definíció (metszet). Legyenek r és s azonos sémájú relációk, ekkor

r ∩ s := {t|t ∈ r ∧ t ∈ s},

tehát

r ∩ s = r \ (r \ s).

1.2. Definíció (összekapcsolás (join)). Legyenek r : R(A_{1}, ..., A_{n}) és s : S(B_{1}, ..., B_{m}) relációk. Ekkor

r _{A_{i}θB_{j}} s := σ_{A_{i}θB_{j}}(r × s).

1.3. Definíció (természetes összekapcsolás). Legyenek r : R(A_{1}, ..., A_{n}, B_{1}, ..., B_{m}) és s : S(B_{1}, ..., B_{m}, C_{1}, ..., C_{l}) relációk. Ekkor r s P(A_{1}, ..., A_{n}, B_{1}, ..., B_{m}, C1, ..., C_{l}) sémájú reláció, melyre

r s = ∏_{A_{1},...,A_{n},B_{1},...,B_{m},C_{1},...,C_{l}}σ_{r.B_{1}=s.B_{1}∧...∧r.B_{m}=s.B_{m}}(r × s)

(A definíció szigorúbb annál, mint amit mi használni fogunk; átnevezések segítségével biztosítható, hogy ne számítson az attribútumok sorrendje.)

1.4. Definíció (féligösszekapcsolás). Legyenek r : R(A_{1}, ..., A_{n}, B_{1}, ..., B_{m}) és s : S(B_{1}, ..., B_{m}, C_{1}, ..., C_{l}) relációk. Ekkor

r s := ∏_{R} (r s).

1.5. Definíció (külső összekapcsolás).

r _{LEFTOUTER}s = r s ∪ {(t, NULL, ..., NULL)|t ∈ r}

1.6. Definíció (osztás). Legyenek r : R(Ā, B̄) és s : S(B̄) relációk. Ekkor r ÷ s az a P(Ā) sémájú reláció, melyre

• (r ÷ s) × s ⊆ r, valamint

• r ÷ s a legnagyobb ilyen halmaz.

Tehát legyen

r ÷ s := ∏ ; Ā (r) \ ∏ ; Ā ((∏ ; Ā (r) × s) \ r).

2. Feladatok

2.1. Bárok, sörök és fogyasztóik sémája

Legyenek L, E és Sz relációk a következő sémáknak megfelelőek:

L : Látogat(név, bár)
E : Elad(bár, sör)
Sz : Szeret(név, sör)

A Sz reláció tartalmazza, hogy ki milyen sört szeret, a L, hogy milyen bárokba jár, valamint az E, hogy adott bárokban milyen söröket árulnak.

1. Kik azok, akik legalább egy olyan bárba járnak, ahol legalább egy olyan sört adnak, amit ő szeret?

2. Kik azok, akik nem járnak olyan bárba, ahol adnak olyan sört, amit ő szeret?

3. Kik azok, akik csak olyan bárba járnak, ahol adnak olyan sört, amit ő szeret?

4. Kik azok, akik csak olyan bárba járnak, ahol minden szeretett sörük kapható?

5. Kik azok, akik legalább / legfeljebb / pontosan azokat a söröket szeretik, mint Mici?

2.2. Nemzeti parkok séma

A : NemzetiPark(NParkID, NParkNév, Ország)
B : Hegycsúcs(HNév, Magasság, NParkID)

1. A legmagasabb csúcs mely ország mely nemzeti parkjának területére esik? (NParkNév, Ország)

2. Melyek azok a nemzeti parkok, melyekben nincs 1000 méternél magasabb hegy? (NParkNév, Ország)

3. Milyen kérdésre ad választ a relációs algebrai kifejezés? Ábrázold a kifejezésfát.

σ_{A.NParkID=B.NParkID∧(A.Ország=′HU′∨A.Ország=′HR′)∧B.Magasság<800} (A × B)

2.3. Filmek, színészek és mozik adatbázisa

F : Film(cím, év, hossz, stúdió, rendező)
J : Játszik(cím, év, színész)
V : Vetít(cím, év, mozinév, dátum, óra, helyár)

Feltesszük, hogy a filmeket az év (amikor készítették), valamint a címe azonosítják egyértelműen. A filmek hossza percben adott.

1. Hol vetítik a Pulp Fiction című filmet?

2. Melyek azok a névpárok, melyekre igaz, hogy kölcsönösen szerepelnek egymás legalább egy filmjében?

3. Melyek azok a Tarantino rendezte filmek, melyekben Tarantino nem szerepel?

4. Kik azok, akik szerepelnek Tarkovszkij rendezte filmben?

5. Kik azok, akik csak Tarkovszkij rendezte filmben szerepelnek?

6. Mennyibe kerül a legdrágább / legolcsóbb mozijegy?

7. Milyen filmeket vetít csak egyetlen mozi ((mozinév, cím, év) alakban) ?

2.4. Két tetszőleges relációséma

R : tetszőleges reláció
S : tetszőleges reláció

1. Fogalmazzunk meg egy olyan relációs algebrai kifejezést, amelynek eredményéül kapott T(Válasz) sémájú reláció egyetlen sort tartalmaz, és ennek értéke′igen′, ha R nem üres, illetve′nem′, ha R üres.

2. Fogalmazzunk meg egy olyan relációs algebrai kifejezést, amelynek eredményéül kapott T(Válasz) sémájú reláció egyetlen sort tartalmaz, és ennek értéke′igen′, ha R-nek és S-nek van megegyező sora, illetve′nem′minden más esetben.