2014. 07. ADATBÁZISOK

Slides:



Advertisements
Hasonló előadás
Dr. Magyar Bálint Oktatási miniszter
Advertisements

Az intézményi dokumentumok átdolgozása a fenntarthatóság érdekében
Négy Griff - Avarok, kazárok, magyarok - A sztyeppe harcosai - Kortörténeti előadás Lele János, Négy Griff csoport Négy Griff.
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. 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.
A CSELEKVÉS SZINTJEI AZ ÖKOLÓGIAI KATASZTRÓFÁK ELLEN Fülöp Sándor Jövő Nemzedékek Országgyűlési Biztosának Irodája (JNO) London 20th of November, 2011.
Ablak módszer Rózsa Győző
Analitikus függvények
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ő
Adatvédelem a munkahelyen
BRANDÉPÍTÉSSEL AZ ONLINE ÉRTÉKESÍTÉSÉRT Budapest,
Segítség! Felnőttem! Nagy terhelhetőségű, magas rendelkezésreállású rendszerek építési és üzemeltetési útmutatója Kovács Zsolt Szerverhotel igazgató.
Alkalmazotti teljesítményértékelés és közalkalmazotti minősítés az intézményi minőségirányítási programban.
Tanulmányok szerepe a karrierben Kozellné Szabó Csilla Ozeki Informatikai Kft.
Szabó Zsolt "Joyn" - A jövő SMS-e Szabó Zsolt
Hogyan csökkentheti költségeit versenytársainál nagyobb mértékben?
Webshop Tuning - Szép Roland Mi az a Webshop Tuning?
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,
Jogharmonizációs feladatok a távközlés szabályozásában Dr. Heller Krisztina Westel Mobil Rt Pécs, március 19.
2010. május 6. Kertész Károly http/ 1 Emissziómérések-1 Mérési terv.
2011. A Baross Gábor Oktatási Központ képzési kínálata Keszmann János
Farkas Zoltánné Gázár Előkészítő osztályvezető
Szakdolgozat, mint a legjobb referencia a pályakezdéshez
– 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ő
A Java programozási nyelv
Neo4j bevezető Rácz Gábor
Átfogó informatikai fejlesztési programok a közoktatásban Magyar Bálint oktatási miniszter.
Vándor Magyar Internetes műveltségi játék.
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
Adatbáziskezelés Horváth Ernő 1. Elérhetőségek Kiss Jenő Horváth Ernő Tanszéki honlap
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.
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Haladó Programozás Adatbázis és felhasználó létrehozása MS SQL Server alatt Adatbázisok elérése DbConnection/DbReader módszerrel (Nem tananyag!) SQL server.
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.
1 SQL – Structured Query Language IBM fejlesztette ki 70-es években (SEQUEL) 1986-ban lett szabvány (SQL86) SQL86, SQL89, SQL92, SQL99, SQL3, SQL2003 DDL,
Oracle multimédia Kiss Attila Információs Rendszerek Tanszék
Frontális Pedagógia helyett Konstruktivista Pedagógia
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
Oracle – ORDMS lehetőségek UDT:- objektum típusok - kollekció típusok SQL> CREATE TYPE SZEMELY AS OBJECT ( 2 NEV VARCHAR2(20), 3 TEL VARCHAR2(14)); SQL>
PHP VI Adatbázisok, MySQL
Alertet indíthat egy: SQL Server esemény (LOG) SQL Server performancia érték WMI events Alert végezhet: Operátor értesítést JOB indítás (válasz az eseményre)
Az SQL nyelv alapjai.
Frontális pedagógia helyett „konstruktivista” pedagógia Dr. Magyar Bálint Oktatási miniszter október 12.
Hasznos ismeretek Hogyan bővítsük ismereteinket AVRDUDEflags -E noreset.
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,
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
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ő
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.
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(

Peer-to-peer és mobil ad hoc Távközlési és Médiainformatikai Tanszék.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
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.
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.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Előadás másolata:

ADATBÁZISOK

ISMÉTLÉS…

SELECT Záradékok sorrendje 1.INTO 2.FROM 3.WHERE 4.GROUP BY 5.HAVING 6.UNION/MINUS 7.INTERSECT 8.ORDER BY

EGYTÁBLÁS CSOPORTOSÍTÓ LEKÉRDEZÉSEK

Csoportosító függvények SUM - Összeg AVG - Átlag MIN - Minimum MAX - Maximum COUNT – Rekordok száma STDDEV - Szórás VARIANCE - Variancia

Nem-csoportosító használat select avg(sal) as "Átlag" from emp; select min(sal) from emp; select min(sal) from emp where sal>2000; select avg(distinct sal) as "Átlag" from emp; select count(sal) from emp; select count(comm) from emp where sal>2000; select comm from emp where sal>2000; select count(*) from emp where sal>2000;

Csoportosítás select distinct deptno from emp; select avg(sal) from emp where deptno=10; select avg(sal) from emp where deptno=20; select avg(sal) from emp where deptno=30;  select deptno, avg(sal) from emp group by deptno; select deptno, avg(comm) from emp group by deptno;  NULL nincs benne!

Csoportosítás A SZELEKCIÓS LISTÁBAN CSAK CSOPORTOSÍTOTT MEZŐ ÉS CSOPORTOSÍTÓ FÜGGVÉNYEK! (IGEN, MYSQL- BEN IS!!!) (ONLY_FULL_GROUP_BY) select deptno, avg(sal) as Atlag, min(sal) as Minimum, count(*) as Num from emp group by deptno;

Csoportosítás és záradékok select mgr, avg(sal) from emp group by mgr; select ifnull(mgr, "nincs") as boss, lpad(avg(sal), 15, '#') as "Átlagfiz" from emp group by mgr; HAVING vs. WHERE select mgr, avg(sal) from emp where ename like '%E%' group by mgr; select mgr, avg(sal) from emp where ename like '%E%' group by mgr having avg(sal)>1300; select mgr, avg(sal) as atl from emp where ename like '%E%' group by mgr having avg(sal)>1300 order by atl desc;

Komplikáltabb csoportosító lekérdezések select min(max(sal)), max(max(sal)), round(avg(max(sal))) from emp group by deptno; -- MySQL-ben „Invalid use of group function” select min(sal+ nvl(comm,0)), mod(empno,3) from emp group by mod(empno,3) having min(sal+nvl(comm,0)) > 800;

Komplikáltabb csoportosító lekérdezések select ename, hiredate, (to_char(sysdate, 'YYYY')-to_char(hiredate, 'YYYY')) as diff from emp; select count(*),(to_char(sysdate, 'YYYY')- to_char(hiredate, 'YYYY')) as diff from emp group by (to_char(sysdate, 'YYYY')- to_char(hiredate, 'YYYY')); select distinct depno, job from emp;

Komplikáltabb csoportosító lekérdezések select deptno, job, avg(sal), min(sal), max(sal) from emp group by deptno, job order by deptno, job;  Grafikon: 2.23, 2.24  Oracle-specifikus „extrák” (MÉG nem tananyag): –GROUP BY GROUPING SETS –GROUP BY CUBE –GROUP BY ROLLUP

TÖBBTÁBLÁS LEKÉRDEZÉSEK

ELŐKÉSZÜLETEK create table emp1 as select * from emp; create table dept1 as select * from dept; update emp1 set deptno=50 where ename='WARD';  sérül a konzisztencia, de legalább tudunk tesztelni!

LEKÉRDEZÉS TÖBB TÁBLÁBÓL select * from emp1, dept1; select * from emp1, emp1; select * from emp1 a, emp1 b; select a.empno, a.ename, b.empno, b.ename from emp1 a, emp1 b; select a.ename, a.deptno, b.deptno, b.dname from emp1 a,dept1 b; „Cross Join”  Descartes szorzat  EMP1  DEPT1

"MANUAL JOIN" select a.ename, a.deptno, b.deptno, b.dname from emp1 a, dept1 b where a.deptno=b.deptno; Hova tűnt Ward??? select a.empno, a.ename, a.mgr, b.empno, b.ename, b.mgr from emp1 a, emp1 b where a.mgr=b.empno; Hova tűnt King???

JOIN A lekérdezés FROM záradékába kerül SELECT * FROM tábla1, tábla2  SELECT * FROM tábla1 JOIN_KIFEJEZÉS tábla2 JOIN_FELTÉTEL Táblák csatolása: Az idegen kulcs és az elsődleges kulcs összekapcsolása Az indexelt mezők kapcsolása gyorsít, nem- kulcsmezők csatolása nagyon lassú

NATURAL / INNER JOIN Az eredmény ugyanaz, mint "MANUAL JOIN"-nál  alapértelmezetten csak azonos mezőnevek esetén működik ! (…) select * from emp1 natural inner join dept1; -- MySQL-ben nincs! select * from emp1 natural join dept1; select * from emp1 inner join dept1 using (deptno); select * from emp1 inner join dept1 on (emp1.deptno=dept1.deptno);

LEFT JOIN … ON … Akkor használt, ha a nem létező párokat is látni akarjuk select a.ename, a.deptno, b.deptno, b.dname from emp1 a LEFT JOIN dept1 b ON a.deptno=b.deptno; select a.empno, a.ename, a.mgr, b.empno, b.ename, b.mgr from emp1 a LEFT JOIN emp1 b ON a.mgr=b.empno;

LEFT/RIGHT JOIN … ON … select a.ename, a.deptno, b.deptno, b.dname from emp1 a RIGHT JOIN dept1 b ON a.deptno=b.deptno; select a.ename, a.deptno, b.deptno, b.dname from dept1 b LEFT JOIN emp1 a ON a.deptno=b.deptno;  Inkább a LEFT JOIN terjedt el

JOIN / ORACLE SELECT * FROM emp1 d, emp1 f WHERE d.mgr=f.empno (+);  SELECT * FROM emp1 d LEFT JOIN emp1 f ON (d.mgr=f.empno) SELECT * FROM emp1 d, emp1 f WHERE d.mgr(+)=f.empno;  SELECT * FROM emp1 d RIGHT JOIN emp1 f ON (d.mgr=f.empno) SELECT level, empno, ename, mgr FROM emp START WITH empno=7839 CONNECT BY mgr=prior empno ORDER BY level desc;

FULL JOIN LEFT JOIN és RIGHT JOIN együtt select a.empno, a.ename, a.deptno, b. deptno, b.dname from emp1 a FULL JOIN dept1 b ON (emp1.deptno=dept1.deptno); [szabvány szerint UNION JOIN; MySQL-ben egyik sincs…]  "MANUAL" JOIN és LEFT JOIN a leggyakrabban használt

TÉVES KAPCSOLÁS??? SELECT ename, sal, dname FROM emp, dept WHERE emp.deptno=dept.deptno; SELECT ename, sal, dname FROM emp, dept WHERE emp.deptno=dept.deptno AND ename like '%E%'; SELECT ename, sal, dname FROM emp, dept WHERE emp.deptno=dept.deptno AND ename like '%E%' OR sal<3000; SELECT ename, sal, dname FROM emp, dept WHERE emp.deptno=dept.deptno AND (ename like '%E%' OR sal<3000);

TÁBLÁK ÖSSZEKAPCSOLÁSA

TÁBLÁK ÖSSZEKAPCSOLÁSA

TÁBLÁK ÖSSZEKAPCSOLÁSA

TÁBLÁK ÖSSZEKAPCSOLÁSA SELECT * FROM emp1 dolgozo, emp1 fonok, dept1 dolg_reszl, dept1 fon_reszl WHERE dolgozo.mgr=fonok.empno AND dolgozo.deptno=dolg_reszl.deptno AND fonok.deptno=fon_reszl.deptno; Jó, ha a pár-nélküli rekordokra nem kérdez rá a feladat!

TÁBLÁK ÖSSZEKAPCSOLÁSA SELECT * FROM emp1 dolgozo LEFT JOIN emp1 fonok ON (dolgozo.mgr=fonok.empno), dept1 dolg_reszl, dept1 fon_reszl WHERE dolgozo.deptno=dolg_reszl.deptno AND fonok.deptno=fon_reszl.deptno; NEM ELÉG

TÁBLÁK ÖSSZEKAPCSOLÁSA SELECT * FROM emp1 dolgozo LEFT JOIN emp1 fonok ON (dolgozo.mgr=fonok.empno) LEFT JOIN dept fon_reszl ON (fonok.deptno=fon_reszl.deptno) LEFT JOIN dept dolg_reszl ON (dolgozo.deptno=dolg_reszl.deptno); TÖKÉLETES

TÁBLÁK ÖSSZEKAPCSOLÁSA A többtáblás lekérdezésben is ugyanúgy használható minden záradék, az eredmény- tábla ugyanúgy kezelhető (pl. felhasználható allekérdezésben), mint az egyszerű tábla/lekérdezés Gyakorlat és strukturált szervezés kell a lekérdezések átláthatóságához!!!

TÁBLÁK ÖSSZEKAPCSOLÁSA Jelenítsük meg az 1000 USD feletti fizetésű dolgozók átlagfizetését és a főnökük nevét a főnök neve szerint csoportosítva. Csak azok a rekordok jelenjenek meg, ahol az átlagfizetés kisebb mint 5000 USD.

TÁBLÁK ÖSSZEKAPCSOLÁSA SELECT avg(a.sal) as ATL, b.ename as BOSS FROM emp a, emp b WHERE (a.mgr=b.empno) AND (a.sal>1000) GROUP BY b.ename HAVING avg(a.sal)<5000 ORDER BY ATL desc;

TÁBLÁK ÖSSZEKAPCSOLÁSA SELECT avg(a.sal) as ATL, b.ename as BOSS FROM emp a LEFT JOIN emp b ON a.mgr=b.empno WHERE a.sal>1000 GROUP BY b.ename HAVING avg(a.sal)<5000 ORDER BY ATL desc;

TÖBBTÁBLÁS LEKÉRDEZÉSEK "CROSS-JOIN", "MANUAL JOIN" INNER JOIN / NATURAL JOIN LEFT JOIN, RIGHT JOIN FULL JOIN / UNION JOIN

SELECT Záradékok sorrendje 1.INTO 2.FROM 3.WHERE 4.GROUP BY 5.HAVING 6.UNION/MINUS 7.INTERSECT 8.ORDER BY