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 II. Műveletek táblákkal Az SQL nyelv elemei.

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek II. Műveletek táblákkal Az SQL nyelv elemei."— Előadás másolata:

1 Adatbázis rendszerek II. Műveletek táblákkal Az SQL nyelv elemei

2 Műveletek táblákkal Projekció Szelekció Descartes szorzat Összekapcsolás (Join) Halmazműveletek  Unió  Metszet  Különbség

3 Projekció Lekérdezés egy táblából - ugyanannyi sor, de az eredetinél kevesebb oszlop ( a tábla vertikális megszorítása)

4 Szelekció Lekérdezés a táblából - ugyanannyi oszlop, de az eredetinél kevesebb sor (a tábla horizontális megszorítása)

5 Descartes szorzat A Descartes szorzat két táblából indul ki, és az eredményül kapott tábla úgy keletkezik, hogy az első tábla sorait minden lehetséges módon folytatjuk a második tábla minden sorával.

6 Összekapcsolás (Join) Az összekapcsolás művelete két vagy több relációt kapcsol össze egy-egy attributum érték összehasonlításával. Az összekapcsolás leggyakoribb esete amikor az attributumok egyezését vizsgáljuk.

7 Halmazműveletek A halmazműveletek azonos szerkezetű két vagy több reláció között végezhetők el. Unió

8 Halmazműveletek Metszet

9 Halmazműveletek Különbség

10 SQL – strukturált lekérdező nyelv A SQL jellemzése: - a relációs algebrára épül - kiterjed az adatkezelő tevékenységekre: - adatdefiniáló (DDL) - adatkezelő (DML) - lekérdező (DQL) - vezérlő (DCL) - nem tartalmaz vezérlési, IO elemeket - van interaktív és beépülő változata Az SQL nem DBMS

11 SQL Tipikus műveleti sorrend: - objektumok, táblák létrehozása - adatok felvitele - adatok lekérdezése - adatok módosítása - szerkezetek módosítása - működési környezet beállítása Alma Dió Mogyi Bab V.3 01.I.8 97.II X.2 kódnévárdátum Termék 1233 Alma 2398.V.3 Termék

12 SQL- Utasítások csoportosítása Definíció: DDL:- objektum létrehozásCREATE - objektum megszüntetésDROP - objektum módosításALTER Módosítás: DML:- rekord felvitelINSERT - rekord törlésDELETE - rekord módosításUPDATE Lekérdezés: DQL: - lekérdezésSELECT Vezérlés DCL:- védelemGRANT,.. - tranzakció kezelés COMMIT,..

13 Definíció: Objektum létrehozása: CREATE TABLE tnév (mnev1 tipus1 intfelt1, …,intfelt)... ; CHAR(n) NUMBER(n,m) DATE PRIMARY KEY NOT NULL UNIQUE CHECK felt REFERENCING tabla CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, IDO DATE); Definíció:

14 Objektum megszüntetése: DROP TABLE tnév ; Objektum séma módosítás: ALTER TABLE tnév ADD | MODIFY (mnev tip intfelt | intfelt);

15 SQL- Utasítások csoportosítása Definíció: DDL:- objektum létrehozásCREATE - objektum megszüntetésDROP - objektum módosításALTER Módosítás: DML:- rekord felvitelINSERT - rekord törlésDELETE - rekord módosításUPDATE Lekérdezés: DQL: - lekérdezésSELECT Vezérlés DCL:- védelemGRANT,.. - tranzakció kezelés COMMIT,..

16 Módosítás Rekord felvitele: INSERT INTO tabla VALUES (mezo=ertek,…); Az érték lehet NULL is. Nem maradhat ki mező. Fontos a mezősorrend INSERT INTO AUTO VALUES (“bju564”,234,”FIAT”); INSERT INTO AUTO VALUES (“bju564”,234,NULL); INSERT INTO AUTO VALUES (RSZ=“bju564”,...);

17 Módosítás Rekord törlése: DELETE FROM tabla WHERE feltétel; A feltételnek eleget tevő rekordok törlődnek Ha elmarad a WHERE tag, minden rekord törlődik DELETE FROM AUTO WHERE AR< ; Rekord módosítása: UPDATE tabla SET mezo= érték,... WHERE feltétel; A feltételnek eleget tevő rekordok módosulnak Ha elmarad a WHERE tag, minden rekord módosul UPDATE AUTO SET AR = AR * 1.2 WHERE AR< ;

18 SQL- Utasítások csoportosítása Definíció: DDL:- objektum létrehozásCREATE - objektum megszüntetésDROP - objektum módosításALTER Módosítás: DML:- rekord felvitelINSERT - rekord törlésDELETE - rekord módosításUPDATE Lekérdezés: DQL: - lekérdezésSELECT Vezérlés DCL:- védelemGRANT,.. - tranzakció kezelés COMMIT,..

19 Lekérdezés: Adatok lekérdezése: SELECT mezőlista FROM tabla1,tabla2,... JOIN... WHERE feltétel GROUP BY cskif – csoportosítás HAVING feltétel – ha a csoportra további megszorítást akarunk adni ORDER BY – rendezés Pl: SELECT kód, név, jegy FROM hallgató, tanult tárgyak WHERE tanszék=“menedzser” GROUP BY név HAVING szülév<1984;

20 SQL SELECT - a projekció megadása SELECT RSZ, TIPUS FROM AUTO; SELECT mlista FROM tábla; Az mlista helyén * áll, ha minden mező kell

21 SQL SELECT - a szelekció megadása SELECT mlsita FROM tábla WHERE feltétel; SELECT * FROM AUTO WHERE SZIN = ”KÉK” OR TIPUS = ”MAZDA”;

22 SQL Műveletek kombinálása: SELECT RSZ FROM AUTO WHERE SZIN = ”PIROS” OR SZIN=”KEK”;

23 SQL SELECT - a join megadása SELECT mlista FROM tabla1, tabla2,.. WHERE feltétel; Ha a feltétel elmarad Descartes szorzatot kapunk Kettőnél több tábla is összekapcsolható

24 SQL Szelekciós join: SELECT * FROM AUTO, EMBER WHERE TULAJ = IGSZ; Ha több táblában is azonos elnevezésű mező van, akkor a kibővített mezőnevet használjuk:tábla.mező SELECT * FROM AUTO, EMBER WHERE AUTO.TULAJ = EMBER.IGSZ; Ha hosszú a táblanév alias nevet használhatunk: tábla alias SELECT * FROM AUTO A, EMBER E WHERE A.TULAJ = E.IGSZ;

25 SQL SELECT - kifejezés megadása SELECT kifejezés (mezőnév,... FROM …; SELECT AR/100 UJAR FROM AUTO; Az előállító kifejezés

26 SQL SUM(mez.kif) AVG(mez.kif) COUNT(mez.kif) MAX(mez.kif) MIN(mez.kif) SELECT COUNT(*) FROM AUTO; SELECT - az aggregáció megadása SELECT aggregációs-lista FROM tábla;

27 SQL SELECT - az aggregáció és csoportképzés megadása SELECT aggregációs-lista FROM tábla GROUP BY csopképzkif; SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS;

28 SQL SELECT - eredmény rekordok rendezése SELECT mlista FROM tábla ORDER BY mezo1 mod1, mezo2...; ASC DESC 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;

29 A keresési feltételben megadható összehasonlító operátorok numerikus, karakteres és dátum típusú adatokra halmazokra

30 A keresési feltételben szereplő szöveges minta megadása A LIKE operátort karakteres mezők összehasonlítására alkalmazhatjuk. Két speciális karakter adható meg: % jel tetszőleges hosszúságú karakter sorozatot helyettesít, _ aláhúzás karakter pedig egy tetszőleges karaktert. Például:

31 Az összehasonlító operátorok precedenciája (végrehajtási sorrendje) csökkenő sorrendben: Logikai operátorok

32 SQL mintapéldák BOROK(kod, nev, gyarto, fajta, ar) VEVO(vkod, nev, cim) RENDELES(vevo, bor, mennyiseg,datum) 1. azon vevők, akik rendeltek Bikavért 2. Melyik gyártó termel 5-nél több vörös bort SELECT V.NEV FROM VEVO V, RENDELES R, BOROK B WHERE V.VKOD = R.VEVO AND R.BOR = B.KOD AND B.NEV LIKE ”BIKAVER%”; SELECT GYARTO FROM BOROK WHERE FAJTA = ”VOROS” GROUP BY GYARTO HAVING COUNT(*) > 5;


Letölteni ppt "Adatbázis rendszerek II. Műveletek táblákkal Az SQL nyelv elemei."

Hasonló előadás


Google Hirdetések