Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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;
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.