1 / 32

Adatbázis rendszerek II.

Adatbázis rendszerek II. Műveletek táblákkal Az SQL nyelv elemei. Műveletek táblákkal. Projekció Szelekció Descartes szorzat Összekapcsolás (Join) Halmazműveletek Unió Metszet Különbség. Projekció.

yannis
Download Presentation

Adatbázis rendszerek II.

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. 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 Termék Termék kód név ár dátum Alma 1233 23 98.V.3 01.I.8 1253 783 Dió Mogyi 4433 97.II.11 6233 Bab 79 75.X.2 Alma 1233 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<1200000; 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<1200000;

  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 FROMtá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 FROMtáblaGROUP BY csopképzkif; SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS;

  28. SQL SELECT - eredmény rekordok rendezése SELECT mlistaFROM 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;

More Related