Analitikus függvények

Slides:



Advertisements
Hasonló előadás
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.
Advertisements

10. gyakorlat SQL SELECT.
Tananyag: konzultáció
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,
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.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Ablak módszer Rózsa Győző
Visual Basic for Application (VBA)
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Analitikus, statisztikai és szélsőérték fv-k Rózsa Győző
Anyagadatbank c. tárgy gyakorlat
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
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,
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.
Adatbázisok használata 1 (1. gyakorlat)
Delphi programozás alapjai
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,
2012. március 6. Rózsa Győző Interaktív környezet március Rózsa Győző
Többtáblás lekérdezések, allekérdezések Rózsa Győző
SQL – DQL (Data Query Language ) adat lekérdezések
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.
2005. december 12.Markó Tamás, PTE TTK1 Az Oracle SQL 11. Elemzések támogatása.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
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.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Részletező csoportosítások Rózsa Győző
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.
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Nézettáblák létrehozása, módosítása és törlése
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.
SQL.
Az SQL nyelv alapjai.
Nézettáblák, felső-N analízis Március 20. Rózsa Győző.
Adatbázis adminisztrátori ismeretek
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,
ADATBÁZIS HASZNÁLAT I. 4. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 18.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
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.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
Részletező csoportosítások Hári Veronika
Részletező csoportosítások Rózsa Győző
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.
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.
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 a minimum elégséges érdemjegynek!
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ázisok használata 2. gyakorlat Rózsa Győző
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.
– 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.
Adatbázisok Fleiner Rita, Tankönyv:
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
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.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Haladó Programozás Adatbázis-elérési módszerek összehasonlítása
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
SQL Több táblás lekérdezések. Halmazműveletek. Alkérdések
Web programozás és haladó fejlesztési technikák – C#
Előadás másolata:

Analitikus függvények Zoltán Botond 2013.04.16.

A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat 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 a minimum elégséges érdemjegynek! Zoltán Botond 2013.04.16.

Analitikus fv-k Új szemléletet jelentenek Ezek a függvények nincsenek az SQL nyelvben Új függvény család Gazdasági felhasználásra, statisztikai számításokra tervezték Mozgó „ablakon” végzett számítások Zoltán Botond 2013.04.16.

Analitikus fv-k Három nagy csoportjuk van RANG Statisztikai Hisztogram Zoltán Botond 2013.04.16.

Általános felépítés Fv_neve( [paraméter] ) OVER ( záradék ) Mindig a SELECT utasításrészben találhatóak A paraméter tetszőleges oszlopkifejezés lehet Például: mgr, &fiz stb. Az OVER záradék elhagyható  OVER() Zoltán Botond 2013.04.16.

A záradék bővebben – Partíció-tag ([partíció tag] [rendező tag[ablak-tag]]) A munkaterületet jelöli ki az analitikus záradék Partíció tag: Egy munkatábla munkaterületén összefüggő táblatartományokat képezhetünk, ahol az oszlopkifejezések értéke azonos Zoltán Botond 2013.04.16.

A záradék bővebben – Rendező-TAG ([partíció tag] [rendező tag[ablak-tag]]) Rendező tag: ORDER BY A partíciókon belül rendez Sokszor azonos a paraméterrel Amikor elhagyjuk a paramétert, akkor tulajdonképpen a rendező tag a paraméter Zoltán Botond 2013.04.16.

A záradék bővebben – ABLAK-TAG ([partíció tag] [rendező tag[ablak-tag]]) Az ablaktag az aktuális sortól rögzített méretű és a partíció résztartományán folyamatosan mozgó táblatartomány. Az ablakon megy végbe a művelet Zoltán Botond 2013.04.16.

A záradék bővebben – ABLAK-TAG ([partíció tag] [rendező tag[ablak-tag]]) Az ablak tag használatakor az analitikus függvény, amelyben A csoportképző attribútum a paraméter Hatóköre pedig az ablak Ablak tag: lehet Fizikai – ROWS Megadhatjuk például, hogy az aktuális sortól 10-et nézzen felfele és 4-et lefele Logikai – RANGE Megadhatjuk például, hogy az aktuális sortó a partíció végéig vegye figyelembe a sorokat Zoltán Botond 2013.04.16.

RANG függvények Over opcióval ellátott RANK DENSE_RANK PERCENT_RANK Különlegességük, hogy nem tartalmaz ablak tagot Zoltán Botond 2013.04.16.

Példa SELECT ename as nev, sal as fizu, RANK() OVER (Order by sal DESC) as normr, DENSE_RANK() OVER (Order by sal DESC) as tomor, PERECENT_RANK() OVER (Order by sal DESC) as szaz FROM emp; Itt mit tekinthetünk paraméternek? Mi az értelmezési tartomány? Zoltán Botond 2013.04.16.

Példa Készítsünk egy scriptet, amely a részlegek rangsorát megadja, hogy hányan dolgoznak ott a részlegek neve is legyen kiírva. Zoltán Botond 2013.04.16.

Példa – 1. lépés create or replace view nezet as select emp.deptno as részleg, COUNT(emp.deptno) as "dolgozók száma", RANK() OVER (Order by count(emp.deptno) desc) as rangsor From emp group by emp.deptno; Zoltán Botond 2013.04.16.

Példa – 2. lépés select nezet.*, dept.dname from nezet, dept where nezet.részleg = dept.deptno; Zoltán Botond 2013.04.16.

Aggregáló RANG fv-k OVER helyett WITHIN GROUP opcióval vannak ellátva Nem analitikus függvények A paraméterlistájuk nem üres Mi lenne, ha... típusú feladatok Zoltán Botond 2013.04.16.

Példa Felvennénk egy új dolgozót, Jani bátyát. Írjunk egy szkriptet, mely megmondja, hogy egy adott fizetés esetén, hányadik legtöbbet kereső emberke lenne? Magyarán kérjünk be egy fizetést, és nézzük meg, hogy hányadik lenne a rangsorban… Zoltán Botond 2013.04.16.

Példa - megoldás ACCEPT fizu PROMPT ’Fizu: ’; SELECT ’rangsora’ as Kérdés, RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Normrang, DENSE_RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Tomorrang, PERCENT_RANK(&fizu) WITHIN GROUP (Order by sal DESC) as Szrang FROM emp; Zoltán Botond 2013.04.16.

Példa II. Kérjünk be egy fizetést és nézzük meg, hogy hányadik lenne az egyes részlegek rangsorában, tömör rangsorában. Zoltán Botond 2013.04.16.

Példa II. - Megoldás Accept fiz Prompt 'Fizetés: ' Select &fiz as "Megadott fizetés", deptno as részleg, SUM(sal), RANK(&fiz) WITHIN GROUP(ORDER BY sal) as "Normál rangsor", DENSE_RANK WITHIN GROUP(ORDER BY sal) as "Tömör rangsor" From emp Group by deptno; Zoltán Botond 2013.04.16.

Példa III. – Partíciós példa Határozzuk meg a New Yorki és Chicagoi dolgozók fizetési sorrendjét. Mi történik, ha nem használjuk a partíciós tagot? Zoltán Botond 2013.04.16.

Példa III. – Partíciós példa Partíciók nélkül: Break on deptno on loc Select e.deptno, loc, ename, sal, DENSE_RANK() OVER(order by sal desc) as sorrend From emp e, dept d Where e.deptno = d.deptno and loc IN ('NEW YORK', 'CHICAGO'); Zoltán Botond 2013.04.16.

Példa III. – Partíciós példa Partíciókkal: Break on deptno on loc Select e.deptno, loc, ename, sal, DENSE_RANK() OVER(Partition by e.deptno, order by sal desc) as sorrend From emp e, dept d Where e.deptno = d.deptno and loc IN ('New York', 'Chicago'); Zoltán Botond 2013.04.16.

Példa IV. Határozza meg előbb részlegenként és azon belül munkakörönként, majd csak részlegenként a dolgozók fizetési sorrendjét. A lista legyen elsődlegesen a részlegazonosító, másodlagosan a munkakör, harmadlagosan a dolgozók neve szerint rendezve. Zoltán Botond 2013.04.16.

Példa IV. - MEGOLDÁS Példatár 277.oldal 13.13-as példa Zoltán Botond 2013.04.16.

Köszönöm a figyelmeteket! Zoltán Botond 2013.04.16.