270 likes | 370 Views
Adatbázisok. SQL. Témakörök. Tulajdonságok és műveletek. Az SQL tulajdonságai A műveletek fajtái Objektum-műveletek Lekérdezések. Lekérdezések. Relációs algebra. Az SQL tulajdonságai. Tulajdonságok és műveletek. SQL = Structured Query Language (= struktúrált lekérdező nyelv).
E N D
Adatbázisok SQL
Témakörök Tulajdonságok és műveletek • Az SQL tulajdonságai • A műveletek fajtái • Objektum-műveletek • Lekérdezések Lekérdezések Relációs algebra Szijártó M.
Az SQL tulajdonságai Tulajdonságok és műveletek • 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) Lekérdezések Relációs algebra Szijártó M.
Az SQL tulajdonságai Tulajdonságok és műveletek 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ő Lekérdezések Relációs algebra Az SQL nem adatbázis-kezelő rendszer! Szijártó M.
Műveletek Tulajdonságok és műveletek Lekérdezések 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 Relációs algebra Szijártó M.
Adattípusok Tulajdonságok és műveletek • CHAR(n) n hosszúságú karaktersorozat • VARCHAR(n) legfeljebb n hosszúságú karaktersorozat • INTEGER egész szám (röviden INT) • REAL valós (lebegőpontos) szám • FLOAT • DECIMAL(n[,d]) • DATE dátum • TIME idő Lekérdezések Relációs algebra Szijártó M.
Alapértelmezett értékek Tulajdonságok és műveletek • NULL – nem ismert • DEFAULT Típus definiálása után vagy lehet később módosítani Lekérdezések Relációs algebra Szijártó M.
Utasítások csoportosítása Tulajdonságok és műveletek DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER DML: - rekord felvitel INSERT - rekord törlés DELETE - rekord módosítás UPDATE DQL: - lekérdezés SELECT DCL: - védelem GRANT,.. - tranzakció kezelés COMMIT,.. Lekérdezések Relációs algebra Szijártó M.
Objektum-műveletek Tulajdonságok és műveletek Objektum létrehozása: CREATE objektumtípus azonosító paraméterek; CREATE TABLE tnév (mnev1 tipus1 intfelt1, …,intfelt) ...; Lekérdezések Relációs algebra 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); Szijártó M.
Indexek létrehozása Tulajdonságok és műveletek • CREATE [UNIQUE] INDEX indexnév ON tábla(oszloplista); • DROP INDEX indexnév; Lekérdezések Relációs algebra • Nem része az SQL2 szabványnak Szijártó M.
Megszorítások SQL -ben Tulajdonságok és műveletek • Elsődleges kulcs, kulcsok • Külső kulcs – hivatkozási épség • Attribútum-értékekre vonatkozó megszorítások • Globális megszorítások Lekérdezések Relációs algebra Szijártó M.
Kulcsok megadása SQL-ben Tulajdonságok és műveletek • 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ó) Lekérdezések Relációs algebra Szijártó M.
Hivatkozási épség – idegen kulcs Tulajdonságok és műveletek • CREATE TABLE utasításon belül • REFERENCES tábla(attribútum) • FOREIGN KEY (oszloplista) REFERENCES tábla(oszloplista) [ON-feltételek] Lekérdezések Relációs algebra Szijártó M.
Adattábla aktualizálása (DML) Tulajdonságok és műveletek • Táblába új sor felvétele • Sor(ok) módosítása • Sor(ok) törlése Lekérdezések Relációs algebra Szijártó M.
Objektum-műveletek Tulajdonságok és műveletek Rekord felvitele: INSERT INTO tabla VALUES (ert1, ert2, …,ertn); INSERT INTO tabla SELECT …; INSERT INTO tabla VALUES (mezo=ertek,…); Lekérdezések Példa:INSERT INTO AUTO VALUES (RendSZ=“bju564”,...); Relációs algebra 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<1200000; Rekord módosítása: UPDATE tabla SET mezo= érték,... WHERE feltétel; Szijártó M.
Lekérdezési műveletek Tulajdonságok és műveletek SELECT [DISTINCT] oszloplista projekció FROM táblanévlista Descartes-szorzat [WHERE feltétel] szelekció [GROUP BY oszloplista] csoportosítás [HAVING feltétel] csoport-feltétel [ORDER BY oszloplista]; rendezés Lekérdezések Relációs algebra Szijártó M.
Végrehajtási sorrend Tulajdonságok és műveletek 1. FROM Descartes-szorzat 2. WHERE szelekció 3. GROUP BY csoportosítás 4. HAVING csoport-szelekció 5. SELECT projekció 6. ORDER BY rendezés Lekérdezések Relációs algebra Szijártó M.
Lekérdezési műveletek Tulajdonságok és műveletek SELECT - a projekció megadása: SELECT mezőlista FROMtábla; Lekérdezések • Példa: SELECT Diakok.Nev, Diakok.Osztaly FROM Diakok; Relációs algebra A mezőlista helyén * =minden mező Szijártó M.
Lekérdezési műveletek Tulajdonságok és műveletek SELECT - a szelekció megadása Lekérdezések SELECT mlsita FROM tábla WHERE feltétel; Relációs algebra SELECT * FROM AUTÓ WHERE szín = ”kék” OR tipus = ”Mazda”; Szijártó M.
A relációs algebra műveleteinek megvalósítása Tulajdonságok és műveletek • Descartes-szorzat: T1 x T2 SELECT * FROM T1,T2; • Théta join: SELECT * FROM T1,T2 WHERE feltétel; Lekérdezések Relációs algebra Szijártó M.
A relációs algebra műveleteinek megvalósítása Tulajdonságok és műveletek 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); Lekérdezések Relációs algebra Szijártó M.
Összesítő függvények Tulajdonságok és műveletek • 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. Lekérdezések Relációs algebra Szijártó M.
Csoportosítás Tulajdonságok és műveletek • GROUP BY oszloplista • csoportba azok a sorok melyeknél oszloplista értéke azonos. • eredménytáblában egy csoportból egy rekord Lekérdezések Relációs algebra • HAVING feltétel • a feltételnek eleget tevő csoportok kerülnek összesítésre az eredménytáblába. Szijártó M.
Eredménytábla rendezése Tulajdonságok és műveletek • ORDER BY oszlopnév [DESC], ..., oszlopnév [DESC] • Alapértelmezésben növekvő [ASC] Lekérdezések Relációs algebra Szijártó M.
Lekérdezési műveletek Példa Tulajdonságok és műveletek • SELECT Diakok.Nev, Diakok.Osztaly, Hianyzas.Datumtol, Hianyzas.Datumig • FROM Diakok INNER JOIN Hianyzas ON Diakok.[Diak_ azonosito] = Hianyzas.[Diak_ azonosito]; Lekérdezések Relációs algebra Az utasítás eredménye: Szijártó M.
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. Szijártó M.
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) Szijártó M.