4.gyak.
Többrelációs
lekérdezések
kifejezése a relációs
algebrában
és SQL SELECT-tel valamint ekvivalens
átírások egymásba
Feladatok: A 3-4. gyakorlaton az 1-2. gyakorlatok
feladatait oldjuk meg SQL-ben,
célszerű ezeket az SQL megoldásokat
táblánál is felírni
és
megbeszélni,
majd gépnél
is
kipróbálni az
Oracle adatbázis környezetben,
lásd Oracle
adatbázis elérhetősége Emlékeztető
az előző gépes
gyakorlatról,
csatlakozás az Oracle
adatbázishoz: Gépes gyakorlathoz:Oracle
adatbázis elérhetősége
A lekérdezési feldatatok
megoldásához előbb
az alaptáblákat kell létrehoznunk
(aki volt az előző gyakorlaton, azoknak megvan, aki nem volt,
most
hozza létre) 1.) Oracle
segédanyag
példáinak
kipróbálása:
- Ehhez előkészítés: HR
séma tábláihoz
készítsük el a
szinonimákat create_synonym
2.) Az
órai gyakorlatok
példái: - Dolgozo
és Osztaly táblák és
kérdések: table_dolgozo.txt
és a táblák
létrehozása
(scriptként futtatva le)
create_dolgozo
- Termékek, lásd table_termekek.txt
és a táblák
létrehozása: create_termekek
Termék(gyártó, modell,
típus)
PC(modell,
sebesség, memória,
merevlemez,
ár)
Laptop(modell,
sebesség,
memória, merevlemez,
képernyő, ár)
Nyomtató(modell,
színes,
típus,
ár)
- Csatahajók, lásd table_csatahajok.txt és
a táblák
létrehozása
create_csatahajok
Hajóosztályok(osztály,
típus,
ország, ágyúkSzáma,
kaliber,
vízkiszorítás)
Hajók(név, osztály,
felavatva)
Csaták(név, dátum)
Kimenetelek(hajó,
csata,
eredmény)
3.) A
példatár feladatai
önálló
gyakorlásra:
-- Lásd Feladatok.pdf (3.1-3.4.fej.
feladatai)
és a táblák
létrehozása cr_dept_emp Többrelációs
lekérdezések:
Összekapcsolások és
halmazműveletek
1.3.
FROM záradék:
Összekapcsolások az SQL-ben
1.3.1. Descartes szorzat
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table [, table, ...]
[WHERE condition(s)]
[ORDER BY column(s) [DESC]];
SELECT table1.column, table2.column
FROM table1
[CROSS JOIN table2];
1.3.2. JOIN - Természetes összekapcsolás
SELECT table1.column, table2.column
FROM table1
[NATURAL JOIN table2] |
[JOIN table2 USING (column_name)] |
[JOIN table2
ON (table1.column_name = table2.column_name)]
Fejezd
ki a
lekérdezéseket SQL SELECT-tel és
relációs algebrában,
a relációs algebrai
kidefejézes
átírása SQL SELECT-re, és
vissza. 2.)
A gyakorlatok feladatai itt: table_dolgozo.txt
Feladatok a 4.gyakorlatra
- Kik azok a dolgozók, akiknek a főnöke KING?
(CROSS JOIN)
- Kik azok a dolgozók, akik
osztályának telephelye
BOSTON vagy CHICAGO?
(Keressünk több megoldást:
JOIN, NATURAL JOIN,
alkérdéssel is fejezzük ki!)
- Kik azok a dolgozók, akik
osztályának telephelye
nem BOSTON vagy CHICAGO? (MINUS)
- Adjuk meg azoknak a nevét, akiknek a fizetése
> 2000
vagy a 30-as osztályon dolgoznak (UNION)
Végül nézzük
meg az 1-2. gyakorlat
Termékek és Csatahajós
példáit
is!
3.) További
gyakorló feladatok: Oracle
példatár Feladatok.pdf
a 4.gyakorlathoz: 3.fejezet: Táblák
összekapcsolása (3.1-3.4)
Az önálló gyakorlást nem-kötelező
beadandóként egy "<ehakod>_4gy.txt" nevű
szöveges
fájlban legkésőbb a köv.gyakorlat előtt,
kedd 10h-ig küldjék el emailben.
A
beadandó célja
az önálló gyakorlás, lásd Gyakorlati
követelmények #Beadandó.