Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER



Hasonló dokumentumok
8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

GEIAL Kovács László. GEIAL Kovács László


Adatbázis-kezelés. Harmadik előadás

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázis-kezelés, információs-rendszerek

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

SQL nyelv Táblák összekapcsolása. Táblák összekapcsolása

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázis rendszerek SQL nyomkövetés

B I T M A N B I v: T M A N

BEVEZETÉS Az objektum fogalma

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

Adatbázisok elmélete 9. előadás

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

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

Adatbázis használat I. 5. gyakorlat

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adat vs. Információ. Adatok: Információ: Az adatok és információk közötti különbség nem strukturális, hanem funkcionális.

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Adatbázisok elmélete 9. előadás

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

SQL parancsok feldolgozása

Adatbázisok* tulajdonságai

Adatbázisok elmélete 10. előadás

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

B I T M A N B I v: T M A N

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Több tábla összekapcsolásán alapuló lekérdezések

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

SQL DDL-2 (aktív elemek) triggerek

Webfejlesztés 4. alkalom

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

Több tábla összekapcsolásán alapuló lekérdezések. Copyright 2004, Oracle. All rights reserved.

Többtáblás lekérdezések megjelenítése

Az SQL adatbázisnyelv: DML

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek Gy: DQL Lekérdezések

LBRA6i integrált rendszer

Adatbázis tartalmának módosítása

Adatbázis rendszerek Ea: Esqúel. Structured Query Language

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

Dolgozó Kód Név Város Beosztás Belépés Fizetés Osztály. Adatbázis-kezelés alapjai SQL 2: DQL. v: B IT MAN 169/1

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

B I T M A N B I v: T M A N

Adatbázisok I A relációs algebra

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis


Bevezetés: az SQL-be

A könyv tartalomjegyzéke

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

(Cikksorozat a portálról. Átszerkesztette és kiegészítette: Szentendrey Péter) TARTALOM

Készítette: Szabóné Nacsa Rozália

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Access XP alapokon Tartalomjegyzék

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Tranzakciókezelés PL/SQL-ben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQLServer. DB Recovery modes

Adatbázis-kezelés. 3. Ea: Viszonyított betűszámtan (2013) Relációs algebra alapok (átgondolt verzió) v: Szűcs Miklós - ME, ÁIT. 1.

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

Java és web programozás

Adatbázis rendszerek tervezése

Gazdasági folyamatok térbeli elemzése. 5. elıadás

Adatbázis Rendszerek II. 2. Gyakorló környezet

Elemi alkalmazások fejlesztése IV.

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázis rendszerek Ea: Eskúel. Structured Query Language

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

Adatbázisok elmélete 12. előadás

Adatbázis rendszerek Ea: Viszonyított betűszámtan. Relációs algebra alapok

Adatbázis-kezelés. Második előadás

Átírás:

Adatbázisok I 1 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,.. 2

SQL nyelv Táblák összekapcsolása Descartes szorzat: SELECT * FROM táblanév1, táblanév2 Vagy SELECT * FROM táblanév1 CROSS JOIN táblanév2 Az eredményhalmaz sorainak száma= táblanév1.sorainakszama*táblanév2.sorainakszama Belső összekapcsolás (Theta összekapcsolás) INNER JOIN művelet SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.attribútum1 = tabla2.attribútum2; 3 INNER JOIN Táblák összekapcsolása Egy vagy több mezőegyezése alapján kapcsolja össze a rekordokat, de csak azokat, amelyben a JOIN operátorban megadott mezők egyeznek. 4

Reláció aliasok Táblák összekapcsolása SELECT alias.attribútum FROM relació[as] alias; Tábla összekapcsolása önmagával SELECT alias1.attribútum1, alias2.attribútum2, FROM reláció[as] alias1, reláció AS alias2; 5 SQL SELECT - a join megadása SELECT mlista FROM tabla1, tabla2,.. WHERE feltétel; AUTÓ rsz tulaj r1 3 r4 1 r6 4 EMBER id név 1 Laci 2 Ágota 3 János 4 Zoltán összekapcsolás rsz tulaj id név r1 3 1 Laci r4 1 1 Laci r6 4 1 Laci r1 3 2 Ágota r4 1 2 Ágota r6 4 2 Ágota r1 3 3 János r4 1 3 János r6 4 3 János r1 3 4 Zoltán r4 1 4 Zoltán r6 4 4 Zoltán Ha a feltétel elmarad Descartes szorzatot kapunk Kettőnél több tábla is összekapcsolható 6

SQL Szelekciós join: SELECT * FROM AUTO, EMBER WHERE TULAJ = ID; 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.ID; Ha hosszú a táblanév alias nevet használhatunk: tábla alias SELECT * FROM AUTO A, EMBER E WHERE A.TULAJ = E.ID; 7 Alkalmazott tábla (emp) Fizetési kategóriák (Salgrade tábla) Részlegek (osztályok; department) 8

Descartes szorzat Listázzuk ki az egyes részlegeken dolgozó alkalmazottakat! SELECT emp.ename as név, dept.dname "Részleg neve" FROM emp, dept Vagy : SELECT emp.ename as név, dept.dname "Részleg neve" FROM EMP Cross JOIN DEPT... NEM ÍGY GONDOLTUK! Eredmény sorainak száma 14*5=70 9 Egy feltétel megadásával már jó eredményt kapunk! SELECT emp.ename As név, dept.dname As "Részleg neve" FROM emp, dept WHERE emp.deptno=dept.deptno; 10

Azoknak az alkalmazottaknak a neve, részlegük neve, és a részleg telephelye, akiknek a nevében R betű van. SELECT emp.empno As Azonosító, emp.ename As név, dept.dname As "Részleg neve", dept.loc As telephely FROM emp, dept WHERE emp.deptno=dept.deptno AND emp.ename LIKE '%R%'; 11 Az egyes alkalmazottak milyen fizetési kategóriába esnek? SELECT emp.ename As név, emp.sal As fizetes, salgrade.grade As "fizetési besorolás" FROM emp, salgrade WHERE emp.sal BETWEEN salgrade.losal AND salgrade.hisal; 12

Tábla összekapcsolása saját magával Adjuk meg a dolgozók és főnökeik nevét! SELECT dolgozo.ename As dolgozó, fonok.ename AS Főnök FROM emp dolgozo, emp fonok WHERE dolgozo.mgr=fonok.empno; 13 Táblák összekapcsolása Külső összekapcsolás SELECT * FROM reláció1 LEFT RIGHT JOIN reláció2 ON reláció1.attribútum1 = reláció2.attribútum2; Külsőösszekapcsolásnál fontos szerepe van annak, hogy a FROM kulcsszóután melyik tábla szerepel. Ezt bal oldali táblának hívjuk. A JOIN operátorban megadott tábla lesz a jobb oldali tábla. A LEFT OUTER JOIN a bal oldali tábla minden sorát, a RIGHT OUTER JOIN a jobb oldali tábla minden sorát tartalmazza, akkor is, ha nem talál illeszkedést a másik táblában. 14

Számoljuk meg részlegenként az alkalmazottak számát! SELECT d.dname As részlegnév, count(e.ename) AS létszám FROM emp e, dept d WHERE e.deptno=d.deptno GROUP BY d.dname; De hol a Operations és a Kereskedes részleg? Ezen segít a külső összekapcsolás SELECT d.dname As részlegnév, count(e.ename) AS létszám FROM dept d LEFT OUTER JOIN emp e ON e.deptno=d.deptno GROUP BY d.dname; 15 Adjuk meg részlegenként a dolgozók nevét! SELECT e.ename As név, d.deptno As kód, d.dname As részlegnév FROM emp e Right OUTER JOIN dept d ON e.deptno=d.deptno; 16

Táblák összekapcsolása FULL OUTER JOIN művelet Eredménye a jobb és bal oldali táblák minden sorát fogja tartalmazni, azokat is, amelyekhez nincs illeszkedés a másik oldalon. 17 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,.. 18

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,...); 19 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; 20

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; 21