Adatbázis rendszerek I

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.
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
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ó.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
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.
Delphi programozás alapjai
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– 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ő
Adatbázisok / SQL v 2.1 Viczián Gergely (eredeti: Török János 2004)
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ázisok-SQL Dr. Viczián Gergely (Dr. Török János V2.0)
Adatbázis-kezelés.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
Adatbázis rendszerek I
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Á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
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
Összesítés és csoportosítás lekérdezésekben. Halmazműveletek.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
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.
- 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 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. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.
Adatbázis-kezelés SQL-lel
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
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.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
– 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:
Adatbázisok gyakorlat
Ma az un. Relációs adatmodelleket használjuk.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
Webprogramozó tanfolyam
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 rendszerek I
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.
Adatbázis rendszerek II.
Adatbázisok SQL.
Előadás másolata:

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

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 képek: wikipedia (Gartner Group) Számos feladat specifikus SQL DBMS létezik a piacon

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 !! „Aki nem mestere, az hóhéra” (Nagymamám) zsiráf-mozaikok

SQL használata A SELECT parancs szinte végtelen kombinációs, bővítési lehetőséggel rendelkezik 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 több alakban is megjelenhet besimul a környezetébe SELECT … FROM … SELECT … INTO … FROM … CURSOR … AS SELECT … ide kaméleon

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ív program CLI-SQL E-SQL SQL több ezer oldalas SQL referenciák PL-SQL T-SQL Oracle SQL referencia: www-db.iit.uni-miskolc.hu/…

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 FROM T1 OUTER JOIN T2 ON f FROM T1 = (+) T2 WHERE f 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 … WHERE CTOD(‘2003.02.10’)… WHERE TO_DATE(‘2003.02.10’,…) WHERE CONVERT(‘2003.02.10’,…) WHERE {2003.02.0}… matyusa baba egymásba ágyazott ANSI SQL kompatibilitás

SQL használata Könyvekben és on-line módon számos SQL oktató forrás áll rendelkezésre Aki keres, az talál www.w3schools.com/sql www.1keydata.com/sql/ www.sqlcourse.com www.geocities.com/SiliconValley /Vista/2207/sql1.html www.firstsql.com/tutor.htm www.sql-tutorial.net 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

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

SQL SELECT funkciói Táblák összekapcsolása Algebrai jele: r1  r2 illetve r1 feltétel r2 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ó

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’

SQL SELECT funkciói Az outer-join megadása Algebrai jele: r1 +feltétel + r2 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 > 6000000; T1 +T1.A = T2.A T2 T1 T2 A B A C A B A C 1 C 3 L 1 C 1 T 2 G 1 T 2 G 3 U 5 P 3 U 3 L

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

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

SQL SELECT funkciói Szűrés az elkészült csoportokból Algebrai jele: feltétel(cskifagg-lista (r)) SELECT agg-lista FROM tábla GROUP BY cskif HAVING feltétel; SELECT TIPUS FROM AUTO GROUP BY TIPUS HAVING AVG(AR) > 10000000; 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) > 10000000; WHERE HAVING

SQL SELECT funkciói 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 Táblák halmaz műveletei Algebrai jele: r1  r2 , r1  r2 , r1 \ r2 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;

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);

SQL SELECT funkciói 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 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

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

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

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

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