Lekérdezések SQL-ben Relációs algebra A SELECT utasítás

Slides:



Advertisements
Hasonló előadás
Összetett kísérleti tervek és kiértékelésük:
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
10. gyakorlat SQL SELECT.
2012. tavaszi félév Véső Tamás. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1.
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Adatbázis rendszerek I Relációs kalkulus Általános Informatikai Tsz. Dr. Kovács László.
Anyagadatbank c. tárgy gyakorlat
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
Microsoft Access Lekérdezések.
2012. tavaszi félév Vitéz Gergely. A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges,
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
Többtáblás lekérdezések, allekérdezések Rózsa Győző
SQL – DQL (Data Query Language ) adat lekérdezések
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbázis rendszerek II.
Adatbázis-kezelés.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 4. Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
55 kodosszeg FIZETÉS felvitel JUTALOM felvitel 11-es dolgozó kap 200-at 11-es dolgozó kap 50-et SELECT osszeg INTO x FROM d.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZIS HASZNÁLAT I. 2. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Érettségi feladatok megoldása LINQ-kel
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Algebrai műveleti gráf optimalizálása ● Mennyi könyvet készített az idén legtöbbet kinyomtató Budapesti könyvkiadó? ● kiado(kod,nev,cim) ● konyv ( kiado,cim,ar,ev.
Relációs algebra. A relációs adatbáziskezelő nyelvek lekérdező utasításai a relációs algebra műveleteit valósítják meg. A relációs algebra a relációkon.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
SQL.
Az SQL nyelv alapjai.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
2012. tavaszi félév Véső Tamás. Kérdezze le minden dolgozó nevét, jövedelmét, részlegének nevét és a részlegében dolgozók legkisebb és legnagyobb jövedelmét,
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
Adatbázis használat I. 2. gyakorlat.
ADATBÁZIS HASZNÁLAT I. 3. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Adatbázis-kezelés SQL-lel
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
DQL. A select parancs az adattábla lekérdezésére szolgál, azaz a táblában tárolt adatok közül az előírt feltételeknek megfelelőket kiválogatja. Formája.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázisok Fleiner Rita, Tankönyv:
Adatbázisok gyakorlat
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Relációs algebra Relációs sémák tervezése
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
SQL történelem 1970 Edgar F. Codd (IBM) cikke 12 szabály a relációs adatmodellekre 1979 első kereskedelmi forgalmazású relációs adatbáziskezelő 1986 az.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
Táblázatkezelés KÉPLETEK.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbázisok használata
Adatbázis rendszerek I
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
Adatbázis rendszerek II.
SQL Több táblás lekérdezések. Halmazműveletek. Alkérdések
Adatbázisok SQL.
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda
Előadás másolata:

Lekérdezések SQL-ben 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. UNION = A1 A2 A3 a c b e B1 B2 B3 a c d e C1 C2 C3 a c b e d

Descartes-szorzat Az egyik tábla minden sorát párosítjuk a másik tábla minden sorával X = A1 A2 B1 B2 B3 a b c f e B1 B2 B3 c f e a b A1 A2 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(T1) => B1 B2 B3 c f e a b B1 B3 c e a 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’(T1) => B1 B2 B3 c f e a b B1 B2 B3 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(T1x T2) ) 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 = T1 * T2

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 SELECT név FROM Dolgozó WHERE fizetés > 200000; 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 WHERE id BETWEEN 100 AND 200;

ORDER BY attribútum ASC/DESC 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 Dolgozók fizetésátlaga az egyes osztályokon: 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. Attribútum nem definiáltságának vizsgálata attrib IS NULL Attribútum adott intervallumba esésének vizsgálata attrib BETWEEN a AND b – igaz, ha a <= attrib <= b 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 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) 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.