LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek



Hasonló dokumentumok
8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

Adatbázisok* tulajdonságai

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázisok I. Az SQL nyelv

Adatbázisok I A relációs algebra

Adattípusok. Max. 2GByte

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Adattípusok. Max. 2GByte

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

ADATBÁZISKEZELÉS ADATBÁZIS

Adatok szűrése, rendezése

BEVEZETÉS Az objektum fogalma

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Adatbázis-kezelés, információs-rendszerek

Adatbázisok elmélete 9. előadás

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázis használat I. 2. gyakorlat

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Óravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft Budapest, Szőlő u 21. Tel/fax: / krea@krea.

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Paraméteres-, összesítı- és módosító lekérdezések

Adatbázis-kezelés. Harmadik előadás

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok I A relációs algebra

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

INFORMATIKA. PRÓBAÉRETTSÉGI május KÖZÉPSZINT. Pontozási és javítási útmutató

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok elmélete 8. előadás

Lekérdezések az SQL-ben 1.rész

Relációs algebra 1.rész

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Példák átírásokra: Relációs algebrai kifejezések, a kiértékelı fák átírása SQL lekérdezésekre

Adatbázis használat I. 2. gyakorlat

Tankönyv példák kidolgozása

A térinformatika t. Az informáci. ciós s rendszerek funkciói. Az adatok vizsgálata

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Lekérdezések az SQL-ben 1.rész

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI. ÉRETTSÉGI VIZSGA május 14. Összesen: 45 pont. Egy adott távhoz tartozó díjazás meghatározása 4 pont

ADATBÁZISOK I. ELŐADÁS ÉS GYAKORLAT JEGYZET

Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

INFORMATIKAI ALAPISMERETEK

SQL parancsok feldolgozása

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

SQL feladatok megoldasa

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ KÖZÉPSZINT% GYAKORLATI ÉRETTSÉGI VIZSGA. É R E T T S É G I V I Z S G A május 15.

INFORMATIKAI ALAPISMERETEK

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

JAVÍTÁSI-ÉRTÉKELÉSI INFORMATIKA ÚTMUTATÓ. ÉRETTSÉGI VIZSGA október 19. ÉRETTSÉGI VIZSGA EMELT SZINT% GYAKORLATI MINISZTÉRIUMA EMBERI ERFORRÁSOK

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

Adatbázisok tavaszi félév Vizsgatételsor

A SELECT működése. Ttanar tábla: Tdiak tábla:

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

évi nyári olimpiai játékok

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

4. Előadás Az SQL adatbázisnyelv

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adabáziskezelés gyakorlat SQL

B I T M A N B I v: T M A N

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

2. Hatványozás, gyökvonás

Lekérdezések az SQL-ben 2.rész

MATEMATIKA TAGOZAT 5-8. BEVEZETŐ. 5. évfolyam

Bódy Bence Az SQL egy újabb példán keresztül

Egyszerű programozási tételek

Visszatérítő nyomaték és visszatérítő kar

Adatbázis rendszerek SQL nyomkövetés

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

MATEMATIKA 9. osztály Segédanyag 4 óra/hét

Adatbázisok elmélete 12. előadás

INFORMATIKAI ALAPISMERETEK

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

A könyv tartalomjegyzéke

példa: Legyen egy zenés CD-ket tartalmazó objektum-orientált adatbázis. Feltételezzük: egy zenés CD típusa audio, vagy mp3-as, vagy videoklippeket

Adatbázis kezelés Delphiben. SQL lekérdezések

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Műszerek tulajdonságai

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

CAD-CAM informatikus CAD-CAM informatikus

MS Access Feladatgyűjtemény

3.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Az SQL lekérdeznyelv


Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

INFORMATIKAI ALAPISMERETEK

Átírás:

LEKÉRDEZÉSEK SQL-BEN A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

RELÁCIÓS ALGEBRA A relációs adatbázisokon végzett műveletek matematikai alapjai Halmazműveletek: kompatibilis táblák közt hajthatók végre a táblák azonos számú oszlopból kell álljanak, és a megfelelő attribútumok értéktartománya egyezzen Metszet a INTERSECT b Unió a UNION b Különbség a EXCEPT b, ahol a, b sorok halmazai. A1 A2 A3 a c a b c e c c a B1 B2 B3 UNION = a c a c d e C1 C2 C3 a c a b c e c c a c d e

DESCARTES-SZORZAT Az egyik tábla minden sorát párosítjuk a másik tábla minden sorával A1 A2 B1 B2 B3 A1 a b A2 b b B1 B2 B3 c f e X = a a a b a b a b c f e b b a a a a b b a b b b c f e a b a a a b b b a b

PROJEKCIÓ, SZELEKCIÓ Projekció: adott oszlopokat kiválasztunk a táblából Jelölése: π attribútumlista (tábla) Például: π B1,B3 (T 1 ) B1 B2 B3 B1 B3 c f e a a a => c a e a b a b b b

PROJEKCIÓ, SZELEKCIÓ Adott feltétel szerinti sorokat választunk ki a táblából Jelölése: σ feltétel (tábla) Például: σ B2= a (T 1 ) B1 B2 B3 c f e a a a b a b => B1 B2 B3 a a a b a b

TERMÉSZETES ÖSSZEKAPCSOLÁS Két tábla közt a külső kulcsok révén lényegében egyező attribútumokkal teremtünk kapcsolatot a relációs modellben Például: Dolgozó(szem.szám, név, osztálykód) és Osztály(osztálykód, osztálynév) hogyan andánk meg egy dolgozó nevéhez, hogy mi annak az osztálynak a neve, ahol ő dolgozik? A két tábla természetes összekapcsolásából kiolvasható lesz a válasz: T = π A U B (σ R1.X=R2.X (T 1 x T 2 ) ) ahol T1 az R1(A), és T2 az R2(B) sémák feletti táblák.

TERMÉSZETES ÖSSZEKAPCSOLÁS Természetes összekapcsoláskor tehát a két tábla Descartes-szorzatából megtartjuk azon sorokat, ahol az összekapcsolás alapjául szolgáló attribútumok egyeznek, majd a duplán szereplő oszlopokat projekcióval egyszeresítjük. Jelölésben: T = T 1 * T 2

A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel] [GROUP BY csoportosítási szempont] [HAVING csoportok szűrése] [ORDER BY rendezési szempont];

PÉLDA Dolgozó(id, név, fizetés, lakcím, osztály) 200 000 Ft-nál többet keresők listájának előállítása: SELECT név FROM Dolgozó WHERE fizetés > 200000; 100 és 200 közti id-jű dolgozók nevének és lakcímének megjelenítése: SELECT név, lakcím FROM Dolgozó WHERE id BETWEEN 100 AND 200;

RENDEZÉS ORDER BY attribútum ASC/DESC Dolgozók összes adatának listázása összeg szerint növekvő listában: SELECT * FROM Dolgozó ORDER BY fizetés ASC;

ÖSSZESÍTÉS Összesítés menete: valamilyen összesítő függvényt alkalmazunk egy adott attribútumra, ÉS az ezen attribútumon kívüli összes megjelenítendő oszlop szerint csoportosítani is szükséges (illetve a HAVING kulcsszó után feltételt is szabhatunk a csoportokra) Dolgozók fizetésének összege: SELECT SUM(fizetés) FROM Dolgozó;

ÖSSZESÍTÉS Számos különböző összesítő függvény létezik: AVG( ) átlag COUNT( ) sorok száma MIN( ) legkisebb érték MAX( ) legnagyobb érték SUM( ) összeg Dolgozók fizetésátlaga az egyes osztályokon: SELECT osztály, AVG(fizetés) FROM Dolgozó GROUP BY osztály;

KÜLÖNLEGES FELTÉTELEK Néhány olyan logikai kifejezés, amit az SQL-ben használni lehet a korábban ismertetetteken kívül. 1. Attribútum nem definiáltságának vizsgálata attrib IS NULL 2. Attribútum adott intervallumba esésének vizsgálata attrib BETWEEN a AND b igaz, ha a <= attrib <= b 3. Attribútum adott halmazba esésének vizsgálata attrib IN halmaz például születésiváros IN ( Szeged, Baja, Pécs )

KÜLÖNLEGES FELTÉTELEK 4. Halmaz nemürességének vizsgálata EXISTS halmaz igazat ad, ha a halmaz nem üres, pl. EXISTS (SELECT városnév FROM Város WHERE lakosság > 5000) 5. Szöveg mintának megfeleltetése attrib LIKE feltétel % - tetszőleges hosszú szöveggel illeszkedik _ - pontosan egy karakterrel illeszkedik SELECT név, fizetés FROM dolgozó WHERE név LIKE % András ;

FELADATOK Ország(országKód, név, terület, lakosság, hivatalosnyelv, pénznem, gdp_fő, földrészkód) Földrész(földrészKód, név) 7.1 Hozzuk létre a fenti táblákat. 7.2 Szúrjuk be a Fantasia nevű országot fiktív adatokkal. 7.3 Hány ország van a Földön? 7.4 Listázzuk ki az összes olyan ország nevét terület szerint növekvő sorrendben, ahol a hivatalos az angol. 7.5 Listázzuk ki az összes, francia nyelven beszélő ország GDP-inek átlagát földrészkódonként csoportosítva. 7.6 Adjuk meg Európa és Ázsia lakosainak összlétszámát két módon is. 7.7 Számoljuk ki az egyes földrész(kódok)hoz tartozó népsűrűséget.