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.

Hasonló előadás


Az előadások a következő témára: "Adatbázis rendszerek II."— 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 Tipikus műveleti sorrend: - objektumok, táblák létrehozása
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 Termék Termék kód név ár dátum 1233 Alma 23 98.V.3 01.I.8 1253 Dió 783 4433 Mogyi 97.II.11 6233 Bab 79 1233 Alma 75.X.2 23 98.V.3

12 SQL- Utasítások csoportosítása
Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés DELETE - rekord módosítás UPDATE Lekérdezés: DQL: - lekérdezés SELECT Vezérlés DCL: - védelem GRANT,.. - 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 Definíció: CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, IDO DATE);

14 Definíció: 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ás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés DELETE - rekord módosítás UPDATE Lekérdezés: DQL: - lekérdezés SELECT Vezérlés DCL: - védelem GRANT,.. - 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 * WHERE AR< ;

18 SQL- Utasítások csoportosítása
Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés DELETE - rekord módosítás UPDATE Lekérdezés: DQL: - lekérdezés SELECT Vezérlés DCL: - védelem GRANT,.. - 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 mlista FROM tábla; SELECT RSZ, TIPUS FROM AUTO; 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 …; Az előállító kifejezés SELECT AR/100 UJAR FROM AUTO;

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

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 Logikai operátorok Az összehasonlító operátorok precedenciája (végrehajtási sorrendje) csökkenő sorrendben:

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 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%”; 2. Melyik gyártó termel 5-nél több vörös bort SELECT GYARTO FROM BOROK WHERE FAJTA = ”VOROS” GROUP BY GYARTO HAVING COUNT(*) > 5;


Letölteni ppt "Adatbázis rendszerek II."

Hasonló előadás


Google Hirdetések