Adatbázisok SQL
TARTALOM Szijártó M.2 Témakörök Az SQL tulajdonságai A műveletek fajtái Objektum-műveletek Lekérdezések Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.3 SQL = Structured Query Language (= struktúrált lekérdező nyelv). 1976: SEQUEL (= Structured English QUEry Language) eredeti változata, IBM-nél 1986: szabvány SQL, az ANSI (= American National Standards Institute) definiálta. 1992: SQL2 Továbbfejlesztés: SQL3 (rekurzió, triggerek, objektum- relációs modell) Az SQL tulajdonságai Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.4 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) - a műveleti lépéseket kell megadni - halmazorientált - magas szintű parancsok - bővülő nyelv - lehet interaktív és beépülő Az SQL nem adatbázis-kezelő rendszer! Az SQL tulajdonságai Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.5 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 Műveletek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.6 CHAR(n)n hosszúságú karaktersorozat VARCHAR(n)legfeljebb n hosszúságú karaktersorozat INTEGERegész szám (röviden INT) REALvalós (lebegőpontos) szám FLOAT DECIMAL(n[,d]) DATEdátum TIMEidő Adattípusok Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.7 NULL – nem ismert DEFAULT Típus definiálása után vagy lehet később módosítani Alapértelmezett értékek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.8 DDL:- objektum létrehozásCREATE - objektum megszüntetésDROP - objektum módosításALTER DML:- rekord felvitelINSERT - rekord törlésDELETE - rekord módosításUPDATE DQL: - lekérdezésSELECT DCL:- védelemGRANT,.. - tranzakció kezelés COMMIT,.. Utasítások csoportosítása Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.9 Objektum megszüntetése: DROP objektumtípus azonosító paraméterek; DROP TABLE tnév ; Objektum séma módosítás: ALTER objektumtípus azonosító paraméterek; ALTER TABLE tnév ADD | MODIFY (mnev tip intfelt | intfelt); Objektum létrehozása: CREATE objektumtípus azonosító paraméterek; CREATE TABLE tnév (mnev1 tipus1 intfelt1, …,intfelt)... ; Objektum-műveletek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.10 Indexek létrehozása CREATE [UNIQUE] INDEX indexnév ON tábla(oszloplista); DROP INDEX indexnév; Nem része az SQL2 szabványnak Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.11 Megszorítások SQL -ben Elsődleges kulcs, kulcsok Külső kulcs – hivatkozási épség Attribútum-értékekre vonatkozó megszorítások Globális megszorítások Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.12 Kulcsok megadása SQL-ben PRIMARY KEY - elsődleges kulcs CREATE TABLE utasításon belül kétféle módon: Attribútum megadásakor Egy újabb deklarációs sorral UNIQUE – kulcs (több is megadható) Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.13 Hivatkozási épség – idegen kulcs CREATE TABLE utasításon belül REFERENCES tábla(attribútum) FOREIGN KEY (oszloplista) REFERENCES tábla(oszloplista) [ON-feltételek] Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.14 Táblába új sor felvétele Sor(ok) módosítása Sor(ok) törlése Adattábla aktualizálása (DML) Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.15 Rekord felvitele: INSERT INTO tabla VALUES (ert1, ert2, …,ertn); INSERT INTO tabla SELECT …; INSERT INTO tabla VALUES (mezo=ertek,…); Példa: INSERT INTO AUTO VALUES (RendSZ=“bju564”,...); Rekord törlése:DELETE FROM tabla WHERE feltétel; A feltétel szerinti rekordok törlődnek Ha nincs a WHERE tag, minden rekord törlődik Példa: DELETE FROM AUTO WHERE AR< ; Rekord módosítása: UPDATE tabla SET mezo= érték,... WHERE feltétel; Objektum-műveletek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.16 Lekérdezési műveletek SELECT [DISTINCT] oszloplistaprojekció FROM táblanévlistaDescartes-szorzat [WHERE feltétel]szelekció [GROUP BY oszloplista]csoportosítás [HAVING feltétel]csoport-feltétel [ORDER BY oszloplista];rendezés Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.17 Végrehajtási sorrend 1. FROMDescartes-szorzat 2. WHERE szelekció 3. GROUP BY csoportosítás 4. HAVING csoport-szelekció 5. SELECT projekció 6. ORDER BY rendezés Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.18 SELECT - a projekció megadása:SELECT mezőlista FROM tábla; A mezőlista helyén * =minden mező Lekérdezési műveletek Példa: SELECT Diakok.Nev, Diakok.Osztaly FROM Diakok; Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.19 SELECT - a szelekció megadása SELECT mlsita FROM tábla WHERE feltétel; SELECT * FROM AUTÓ WHERE szín = ”kék” OR tipus = ”Mazda”; Lekérdezési műveletek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.20 A relációs algebra műveleteinek megvalósítása Descartes-szorzat: T1 x T2 SELECT * FROM T1,T2; Théta join: SELECT * FROM T1,T2 WHERE feltétel; Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.21 A relációs algebra műveleteinek megvalósítása Unió: (SELECT * FROM T1) UNION (SELECT * FROM T2); Metszet: (SELECT * FROM T1) INTERSECT (SELECT * FROM T2); Különbség: (SELECT * FROM T1) EXCEPT (SELECT * FROM T2); Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.22 Összesítő függvények függvénynév ( [DISTINCT] oszlopnév ) AVG: átlagérték. SUM: összeg. MAX: maximális érték. MIN: minimális érték. COUNT: elemek száma. Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.23 Csoportosítás GROUP BY oszloplista csoportba azok a sorok melyeknél oszloplista értéke azonos. eredménytáblában egy csoportból egy rekord HAVING feltétel a feltételnek eleget tevő csoportok kerülnek összesítésre az eredménytáblába. Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.24 Eredménytábla rendezése ORDER BY oszlopnév [DESC],..., oszlopnév [DESC] Alapértelmezésben növekvő [ASC] Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.25 SELECT Diakok.Nev, Diakok.Osztaly, Hianyzas.Datumtol, Hianyzas.Datumig FROM Diakok INNER JOIN Hianyzas ON Diakok.[Diak_ azonosito] = Hianyzas.[Diak_ azonosito]; Példa Az utasítás eredménye: Lekérdezési műveletek Tulajdonságok és műveletek Lekérdezések Relációs algebra
TARTALOM Szijártó M.26 JOIN műveletek INNER JOIN: egyesíti a két tábla rekordjait, ha azok közös mezőjében azonos érték szerepel LEFT JOIN: bal oldali laza illesztés, az első tábla (bal oldali) minden rekordja megjelenik, akkor is, ha nem illeszkedik hozzájuk érték a második (jobb oldali) táblában.
TARTALOM Szijártó M.27 RIGHT JOIN: jobb oldali laza illesztés, a második (jobb oldali) tábla minden rekordja megjelenik, akkor is, ha nem illeszkedik hozzájuk érték az első táblában (bal oldali)