Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbázis rendszerek I Az SQL nyelv elemei Kovács László.

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek I Az SQL nyelv elemei Kovács László."— Előadás másolata:

1 Adatbázis rendszerek I Az SQL nyelv elemei Kovács László

2 SQL jelentősége Az SQL ez egyik legfontosabb alaptechnológia az informatikában. Az SQL fejlődése során egyre több funkciót integrál magába, globális adatkezelés felé halad (Vikram Vaswani) A legkeresettebb ismeretek egyike az IT álláshirdetésekben az SQL,amely stabilan tartja magát (mellette a C++, Java, PHP, UNIX váltakoznak) (CWJobs.UK) Kb. évi 10%-os piacnövekedés az adatbáziskezelőknél, kb. 8 billió $ 2005-ben (Gartner Group) Számos feladat specifikus SQL DBMS létezik a piacon

3 SQL jelentősége Meg kell tanulni SQL-ben gondolkodni! Az alap építőelemekből a szükséges elemeket a helyes sorrendben kell bevonni. Csak biztos alapra szabad építeni, a rejtett hibák csak később derülnek ki. Látszólag működik a rendszer, … de nem mindig helyesen vagy nem hatékonyan !! zsiráf-mozaikok „Aki nem mestere, az hóhéra” (Nagymamám)

4 SQL használata SELECT mezőlista FROM tábla, (SELECT …) WHERE mezőfeltétel AND (SELECT …)-feltétel GROUP BY csoport-kif. HAVING csoportfeltétel AND (SELECT..) UNION | INTERSECT | … (SELECT …) A SELECT parancs szinte végtelen kombinációs, bővítési lehetőséggel rendelkezik A SELECT parancs több alakban is megjelenhet ide kaméleon SELECT … FROM … SELECT … INTO … FROM … CURSOR … AS SELECT …

5 SQL használata Az SQL több, mint a SELECT parancs - view - domain - snapshot - trigger - job - tárolt eljárás - tárolt függvény - felhasználó - profile - role - schema - database link - replication - cluster - lock... interaktívprogram CLI-SQL E-SQL SQL PL-SQL T-SQL Oracle SQL referencia: www-db.iit.uni-miskolc.hu/…

6 SQL használata Az SQL szabvány és az egyes SQL implementációk szoros kölcsönhatásban állnak egymással - ismerni kell a szabványt - ismerni kell a konkrét SQL felületet - egyedi objektumok - egyedi operátorok - egyedi függvények - egyedi kapcsolók - egyedi paraméterek - egyedi adattípusok - eltérő operátorok - hiányzó operátorok - … FROM T1 OUTER JOIN T2 ON f FROM T1 = (+) T2 WHERE f WHERE CTOD(‘ ’)… WHERE TO_DATE(‘ ’,…) WHERE CONVERT(‘ ’,…) WHERE { }… ANSI SQL kompatibilitás matyusa baba egymásba ágyazott

7 SQL használata Könyvekben és on-line módon számos SQL oktató forrás áll rendelkezésre Aki keres, az talál /Vista/2207/sql1.html select name, count(aid) from author, ( ( select author from wrote, book where publication=pubid ) union all ( select author from wrote, article where publication=pubid ) ) ba where aid=author11 group by name,aid

8 kép Mészöly Géza ( ): Homokbánya (1872)

9 SQL SELECT funkciói Algebrai jele: r 1  r 2 illetve r 1  feltétel r 2 Táblák összekapcsolása SELECT mlista FROM r1, r2,.. WHERE feltétel; Ha a feltétel elmarad Descartes szorzatot kapunk Kettőnél több tábla is összekapcsolható

10 SQL SELECT funkciói Táblák összekapcsolása SELECT mlista FROM r1 INNER JOIN r2 ON feltétel …; - Illesztési és normál feltételek szétválasztása - Ha több táblában is azonos elnevezésű mező van, akkor a kibővitett mezőnevet használjuk: tábla.mező - Ha hosszú a táblanév alias nevet használhatunk: tábla alias - Tábla szerepkört is alias névvel jelöljük DOLGOZO (kod PK, nev, beosztas, fonok REF DOLGOZO, fizetes) SELECT f.nev, d.nev FROM dolgozo f INNER JOIN dolgozo d ON f.kod = d.fonok WHERE d.beosztas = ‘raktáros’

11 AB C G U AC L T P T1 +  T1.A = T2.A T2 T1T2 AC 1 3 T L AB C G U Az outer-join megadása SELECT mlista FROM r1 LEFT | RIGTH | FULL OUTER JOIN r2 ON feltétel WHERE felt …; SELECT * FROM AUTO A RIGHT OUTER JOIN EMBER E ON A.TULAJ = E.IGSZ WHERE A.AR > ; Algebrai jele: r 1 +  feltétel + r 2 SQL SELECT funkciói

12 Algebrai jele:  aggregációs-lista (r) SUM(mez.kif)AVG(mez.kif) COUNT(mez.kif)MAX(mez.kif) MIN(mez.kif) SELECT COUNT(*) FROM AUTO; Az aggregáció megadása SELECT aggregációs-lista FROM r; SQL SELECT funkciói

13 Algebrai jele:  csopképkif aggregációs-lista (r) Az aggregáció és csoportképzés megadása SELECT aggregációs-lista FROM r GROUP BY csopképkif; SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS;

14 Szűrés az elkészült csoportokból SELECT agg-lista FROM tábla GROUP BY cskif HAVING feltétel; SELECT TIPUS FROM AUTO GROUP BY TIPUS HAVING AVG(AR) > ; A csoportképzés előtti és utáni szelekció együttesen is szerepelhet: SELECT TIPUS FROM AUTO WHERE SZIN=”PIROS” GROUP BY TIPUS HAVING AVG(AR) > ; WHEREHAVING SQL SELECT funkciói Algebrai jele:  feltétel (  cskif agg-lista (r))

15 Az eredmény rekordok rendezése SELECT mlista FROM tábla ORDER BY mezo1 mod1, mezo2...; ASC DESC Nem része a relációs algebrának A második mező szerinti szempont csak az első egyezősége esetén lényeges SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY AR DESC, TIPUS; Lehet sorszámmal is hivatkozni a mezőkre SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY 3 DESC, 2; SQL SELECT funkciói

16 Táblák halmaz műveletei Algebrai jele: r 1  r 2, r 1  r 2, r 1 \ r 2 SELECT … FROM r1 … UNION SELECT … FROM r2 …; SELECT … FROM r1 … UNION ALL SELECT … FROM r2 …; SELECT … FROM r1 … INTERSECT SELECT … FROM r2 …; SELECT … FROM r1 … MINUS SELECT … FROM r2 …; csak kompatíbilis szerkezetű táblák vonhatók össze a rendezés csak a legvégén szerepelhet egyszer SELECT nev FROM OKTATOK WHERE varos = ‘EGER’ UNION ALL SELECT nev FROM HALLGATOK WHERE varos = ‘EGER’ ORDER BY 1;

17 SQL SELECT funkciói Al-SELECT használata A szelekciós feltételben számított érték is szerepelhet A számított értéket az előállító SELECT paranccsal adjuk meg SELECT … FROM … WHERE … (SELECT …) GROUP BY … HAVING (SELECT…) A SELECT kifejezések többszörösen egymásba ágyazhatók SELECT nev FROM DOLGOZOK WHERE fizetes > (SELECT AVG(fiz) FROM DOLGOZOK);

18 Speciális szelekciós operátorok kif LIKE minta sztring illeszkedése egy mintára (%,_) kif IS [NOT] NULLüres-e a kifejezés kif BETWEEN kif2 AND kif3 köztes érték vizsgálat SQL SELECT funkciói EXISTS (al_SELECT)eredménytábla létezése kif IN lista | (al_SELECT)tartalmazás kif op ALL lista | (al_SELECT)minden kvantor kif op ANY lista | (al_SELECT)létezés kvantor

19 SQL VIEW objektum Származtatott táblák haszna: - parancs egyszerűsítés - egyszerűbb végrehajtás - védelemv CREATE VIEW vnév (mnév1, …) AS SELECT … ; CREATE VIEW BETEGSZAB AS SELECT nev, beosztas, reszleg FROM dolgozok WHERE status = 2; Csak az előállító SQL parancs tárolódik, az adattábla nem Hivatkozáskor áll elő a tartalom - aktuális - lassú lehet

20 Mészöly Géza: Balatoni halásztanya (1877) kép

21 A relációs adatmodell Egyedi elemek - VIEW a kétszeres aggregációban - DISTINCT - UNION ALL - self-join - CROSS JOIN - INNER JOIN - NATURAL JOIN.. USING - több táblás join - SNAPSHOT

22 Mészöly Géza: Chioggia (1883) kép


Letölteni ppt "Adatbázis rendszerek I Az SQL nyelv elemei Kovács László."

Hasonló előadás


Google Hirdetések