az sql nyelv alapjai
DESCRIPTION
Az SQL nyelv alapjai. Az SQL nyelv jellemzői. Az SQL a Structured Query Language (Struktúrált Lekérdező Nyelv) rövidítése, amely adatbázis-kezelő rendszerek szabványos lekérdező nyelve. Nem algoritmikus nyelv, nem tartalmaz elágazást, ciklust,nem alkalmas rekurzív feladatok végrehajtására. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/1.jpg)
Az SQL nyelv alapjai
![Page 2: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/2.jpg)
Az SQL nyelv jellemzői
Az SQL a Structured Query Language(Struktúrált Lekérdező Nyelv) rövidítése, amely adatbázis-kezelő rendszerek szabványos lekérdező nyelve.
Nem algoritmikus nyelv, nem tartalmaz elágazást, ciklust,nem alkalmas rekurzív feladatok végrehajtására.
Halmazorientált nyelv, melynek műveletei egy adatbázis különböző objektumain hajthatók végre.
![Page 3: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/3.jpg)
Az SQL nyelv jellemzői
Az SQL egy beépülő nyelv, mely más programozási nyelvekkel együtt, abba beépülve használható.(pl.:a felhasználói felület DELPHI, lekérdezés SQL)
Az SQL nyelvben minden parancs egy kulcsszóval kezdődik, és pontosvesszővel fejeződik be.
A parancsok egymásba ágyazhatók.
![Page 4: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/4.jpg)
Az SQL nyelv alkotóelemei
Adatlekérdező nyelvaz adatbázisból lekérdezés útján történő információnyerés
Adatdefiníciós nyelvadatbázisok és adattáblák létrehozása, törlése, szerkesztése, módosítása
Adatmanipulációs nyelv az adattáblák karbantartása
Adatvezérlő nyelv jogosultságok és tranzakciók kezelése
![Page 5: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/5.jpg)
Lekérdező utasítások
Cél: az adatbázisból történő információnyerés
Az utasítás általános szerkezete:
SELECT (attribútumok) FROM (táblanév) WHERE(feltétel)
![Page 6: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/6.jpg)
Lekérdező utasítások
A lekérdező utasítás teljes felépítése:SELECT [DISTINCT|ALL] *|attr1,attr2,…FROM tábla1,[INNER JOIN|LEFT JOIN|RIGHT JOIN tábla3 ON feltétel][WHERE feltétel][GROUP BY oszlopnév1, oszlopnév2,…][HAVIG feltétel][ORDER BY oszlopnév1 | oszlopszám1, …..][ASC|DESC]
![Page 7: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/7.jpg)
Lekérdező utasítások
Egy tábla összes rekordjának megjelenítése:SELECT * FROM táblanév;(A * helyettesíthető a mezőnevek felsorolásával és viszont)
Azonos rekordok ismétlésének kihagyása:SELECT DISTINCT* FROM táblanév;
![Page 8: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/8.jpg)
Lekérdező utasítások
Projekció (vetítés)Az eredmény táblában csak a felsorolt mezők adatait jeleníti meg.
SELECT [DISTINCT] attrib1,attrib2 FROM táblanév;
SELECT DISTINCT nev,evfolyam,osztalyFROM tanulo;
![Page 9: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/9.jpg)
Lekérdező utasítások
Kiterjesztés A lekérdezésben szereplő mezők felhasználásával újabb mezőket hozunk létre.
SELECT nev,pontszam1+pontszam2 FROM tanulo;
![Page 10: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/10.jpg)
Lekérdező utasítások
Szelekció(Adott feltételnek megfelelő adatok megjelenítése, melyet a WHERE záradék után adunk meg)
SELECT atributum1,attributum2,….FROM táblanév WHERE feltétel;
SELECT * FROM tanuloWHERE (evfolyam=’’12’’) AND (osztaly=‘’B’’)
![Page 11: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/11.jpg)
Lekérdező utasítások
Összehasonlító operátorok:1. BETWEEN x AND y
A BETWEEN kifejezésben keresett értéknek x és y értékek közé kell esnie
2. IN (a,b,c..) a zárójelben egy halmazt adunk meg, a keresett kifejezés e halmaz eleme kell legyen.)
3. LIKE karakteres mezők összehasonlítására használható. A mintában a *,%,_? helyettesítő karakterek használhatók.SELECT *FROM tanulo WHERE nev LIKE ‘’S%’’;
![Page 12: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/12.jpg)
Lekérdező utasítások
Descartes-szorzatA relációk közötti szorzás műveletet valósítja meg, tehát a lehetséges variációkat állítja elő.
SELECT tablanev1.mezők,tablanev2.mezőkFROM tablanev1,tablanev2;
SELECT tanulo.*,tantargy.*FROM tanulo, tantargy;
![Page 13: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/13.jpg)
Lekérdező utasítások
Összekapcsolás:Több adattáblán elhelyezkedő információk egy táblára gyűjtésére használható.
Belső összekapcsolás:SELECT tanulo.*, tantargy.*FROM tanulo INNER JOIN tantargyON ( tanulo.tantargykod = tantargy.tantargykod);(csak mindkét táblában szereplő mezőadatok esetén)
Külső összekapcsolás:SELECT tanulo.*, tantargy.*FROM tanulo LEFT (RIGHT) JOIN tantargyON ( tanulo.tantargykod = tantargy.tantargykod);
(a tanuló tábla összes rekordja akkor is, ha nincs megfelelő a tantargy táblában)
![Page 14: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/14.jpg)
Lekérdező utasítások
CsoportosításA rekordokat egy adott mező értékei szerint csoportokra bontjuk. (Legtöbbször az adott mező azonos értékei alapján, pl. evfolyam=‘’12’’, osztaly=’’B’’)Ezután a csoportokon műveleteket hajthatunk végre, az eredményt újabb mezőben tárolhatjuk.
SELECT attribútum1, attribútum2[SUM,MAX,MIN,COUNT,AVG](attribútum3)FROM táblanév GROUP BY attrib4,attrib5;
SELECT evfolyam,osztaly,COUNT(tanulokod) AS‘’letszam’’ FROM tanulo GROUP BY evfolyam, osztaly;
![Page 15: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/15.jpg)
Lekérdező utasítások
A csoportosítás esetén használható függvények:
COUNT megadja a tábla sorainak számát SUM megadja a paraméterben szereplő oszlop
adatainak összegét AVG megadja a paraméterben szereplő oszlop
adatainak átlagát MIN megadja a paraméterben szereplő numerikus
adatok közül a legkisebbet MAX megadja a paraméterben szereplő numerikus
adatok közül a legnagyobbat
![Page 16: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/16.jpg)
Lekérdező utasítások
Lekérdezés csoportosítással létrejött táblában (csoportfeltételek megadása)WHERE helyett HAVING
SELECT attribútum1, attribútum2[SUM,MAX,MIN,COUNT,AVG](attribútum3)FROM táblanév GROUP BY attrib4,attrib5;HAVING csoportfeltétel
SELECT evfolyam,osztaly,COUNT(tanulokod) AS‘’letszam’’ FROM tanulo GROUP BY evfolyam, osztaly; HAVING COUNT(tanulokod)>20;
![Page 17: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/17.jpg)
Lekérdező utasítások
RendezésA lekérdezés eredmény relációjának rendezésére ORDER BY záradékkal
SELECT attribútum1, attribútum2 FROM relációORDER BY attribútum1[ASC,DESC],
attribútum2[ASC,DESC];
SELECT * FROM tanulo ORDER BY nev desc;
![Page 18: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/18.jpg)
Adattípusok
Az adattípusok (rendszerenként eltérők lehetnek):CHAR(n) n hosszúságú karaktersorozatVARCHAR(n) legfeljebb n hosszúságú karaktersorozatINTEGER egész szám (röviden INT)REAL valós (lebegőpontos) szám, másnéven FLOATDECIMAL(n[,d]) n jegyű decimális szám, ebből d tizedesjegyDATE dátum (év, hó, nap)TIME idő (óra, perc, másodperc)Az adattípushoz "DEFAULT érték" megadásával alapértelmezett érték definiálható. Ha ilyet nem adunk meg, az alapértelmezett érték NULL.
![Page 19: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/19.jpg)
Adatmanipulációs nyelv
Az adattáblák karbantartásának műveletei:
Új rekord beszúrása a táblábaINSERT INTO táblanév(attribútumlista)
VALUES(értéklistaINSERT INTO tanulo (kod,nev,evf,oszt)
VALUES(009,”Nagy János”,”12”,”b”);Használhatjuk a NULL értéketAz új rekord az utolsó után tárolódik
![Page 20: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/20.jpg)
Adatmanipulációs nyelv
MódosításA tábla meghatározott mezőinek módosítása:UPDATE táblanév SET (attr1=adat1,attr2=adat2)[WHERE feltétel]
UPDATE dolgozo SET fizet=1.1*fizetWHERE fizet<10000;
![Page 21: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/21.jpg)
Adatmanipulációs nyelv
TörlésTörli a tábla feltételnek megfelelő sorait (feltétel megadása nélkül mindent)DELETE FROM táblanév[WHERE feltétel]
DELETE FROM tanulo WHERE evfolyam=‘’12’’;
![Page 22: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/22.jpg)
Adatdefiníciós nyelv
Adatdefiníciós műveletek: Adatbázisok létrehozása Adattáblák létrehozása, módosítása,
törlése Lekérdezésekben létrejövő táblák
készítése, törlése Indexállományok kezelése
![Page 23: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/23.jpg)
Adatdefiníciós nyelv
Adatbázis létrehozása:CREATE DATABASE (adatbázis neve);
CREATE DATABASE termekek;
![Page 24: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/24.jpg)
Adatdefiníciós nyelv
Adattábla létrehozásaCREATE TABLE táblanév(attribnev1 adattip1 (méret1) [NOT NULL](attribnev2 adattip2 (méret2) [NOT NULL];
CREATE TABLE tanulo(kod INTEGER,nev CHAR(16),evf(CHAR3),oszt(1),pont(INTEGER));
![Page 25: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/25.jpg)
Adatdefiníciós nyelv
Adattábla törléseDROP TABLE (táblanév);
DROP TABLE tanulo;
![Page 26: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/26.jpg)
Adatdefiníciós nyelv
Adattábla szerkezetének módosítása Attribútum hozzáadása:
ALTER TABLE táblanévADD (attrib1 adattip1 (méret1)….
ALTER TABLE dolgozo ADD fizetes INTEGER;
![Page 27: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/27.jpg)
Adatdefiníciós nyelv
Meglévő attribútum törlése
ALTER TABLE (táblanév)DROP (oszlopnév);
ALTER TABLE tanuloDROP szemelyiszam;
![Page 28: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/28.jpg)
Adatdefiníciós nyelv
Attribútum módosítása:ALTER TABLE táblanévMODIFY (attrib1 újadattipus1(újméret1)…
ALTER TABLE tanuloMODIFY osztondij number(7);
Az attribútumok módosítása sok hibát okozhat, nagy figyelem szükséges!!!!!!!
![Page 29: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/29.jpg)
Adatdefiníciós nyelv
Indexelés A lekérdezések végrehajtásának ideje
csökkenthető Mezőadatok ismétlődése ellenőrizhető
CREATE [UNIQUE] INDEX indexnévON táblanév (attrib1,attrib2….);
CREATE INDEX ind_tanulonev ON tanulo (nev);
![Page 30: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/30.jpg)
Adatvezérlő nyelv
Felhaszálói jogosultságok megadása:GRANT jogosultság ON tánlanév TO felhasználó [WITH GRANT OPTION]
Jogosultságok:ALL, SELECT, INSERT, UPDATE(attrib), DELETE, ALTER, INDEX,
WITH GRANT OPTION (a jogok továbbadhatók)
![Page 31: Az SQL nyelv alapjai](https://reader033.vdocuments.mx/reader033/viewer/2022061617/568146fb550346895db43412/html5/thumbnails/31.jpg)
Adatvezérlő nyelv
Jogosultságok visszavonása
REVOKE jogosultságON táblanév FROM felhasználó
REVOKE delete ON tanuloFROM tanulok