1 / 31

Az SQL nyelv alapjai

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.

zarola
Télécharger la présentation

Az SQL nyelv alapjai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Az SQL nyelv alapjai

  2. 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.

  3. 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.

  4. 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

  5. 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)

  6. 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]

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

  8. 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;

  9. 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;

  10. 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’’)

  11. Lekérdező utasítások Összehasonlító operátorok: • BETWEEN x AND yA BETWEEN kifejezésben keresett értéknek x és y értékek közé kell esnie • IN (a,b,c..) a zárójelben egy halmazt adunk meg, a keresett kifejezés e halmaz eleme kell legyen.) • 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%’’;

  12. 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;

  13. 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)

  14. 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;

  15. 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

  16. 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ételSELECT evfolyam,osztaly,COUNT(tanulokod) AS‘’letszam’’ FROM tanulo GROUP BY evfolyam, osztaly; HAVING COUNT(tanulokod)>20;

  17. Lekérdező utasítások • RendezésA lekérdezés eredmény relációjának rendezésére ORDER BY záradékkalSELECT attribútum1, attribútum2 FROM relációORDER BY attribútum1[ASC,DESC], attribútum2[ASC,DESC];SELECT * FROM tanulo ORDER BY nev desc;

  18. Adattípusok Az adattípusok (rendszerenként eltérők lehetnek): • CHAR(n) n hosszúságú karaktersorozat • VARCHAR(n) legfeljebb n hosszúságú karaktersorozat • INTEGER egész szám (röviden INT) • REAL valós (lebegőpontos) szám, másnéven FLOAT • DECIMAL(n[,d]) n jegyű decimális szám, ebből d tizedesjegy • DATE 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.

  19. Adatmanipulációs nyelv Az adattáblák karbantartásának műveletei: • Új rekord beszúrása a táblába INSERT 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éket Az új rekord az utolsó után tárolódik

  20. 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;

  21. 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’’;

  22. 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

  23. Adatdefiníciós nyelv • Adatbázis létrehozása:CREATE DATABASE (adatbázis neve); CREATE DATABASE termekek;

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

  25. Adatdefiníciós nyelv • Adattábla törléseDROP TABLE (táblanév);DROP TABLE tanulo;

  26. 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;

  27. Adatdefiníciós nyelv • Meglévő attribútum törléseALTER TABLE (táblanév)DROP (oszlopnév);ALTER TABLE tanuloDROP szemelyiszam;

  28. 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!!!!!!!

  29. 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év ON táblanév (attrib1,attrib2….); CREATE INDEX ind_tanulonev ON tanulo (nev);

  30. 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)

  31. Adatvezérlő nyelv • Jogosultságok visszavonásaREVOKE jogosultságON táblanév FROM felhasználóREVOKE delete ON tanuloFROM tanulok

More Related