230 likes | 331 Views
Adatbázisok használata 1 (1. gyakorlat). 2012. tavaszi félév Vitéz Gergely. Ismertető. Tananyag: http://www.orakulum.com Kende Mária-Nagy István: ORACLE Példatár SQL, PL/SQL Elérhetőségek vitez.gergely @ spectronet.hu http://jerry.gorextar.hu/ab1. Követelmények.
E N D
Adatbázisok használata 1(1. gyakorlat) 2012. tavaszi félévVitéz Gergely
Ismertető • Tananyag: • http://www.orakulum.com • Kende Mária-Nagy István: ORACLE Példatár SQL, PL/SQL • Elérhetőségek • vitez.gergely@spectronet.hu • http://jerry.gorextar.hu/ab1 OE-NIK 2012.
Követelmények • Letölthető: TO honlapja, orakulum.com honlap • 14 oktatási hét • 2 Nagy ZH: a 7. és 14. héten • Órák elején 15 perces kisZH az előző órai anyagokból • KisZHk pótolhatóak az 1. nagyZH utáni alkalommal • ORACLE 10gR2 letölthető lesz innen: • http://jerry.gorextar.hu/ab1/oracle OE-NIK 2012.
Féléves feladat követelmények • 13. oktatási héten kell leadni • Folyamatosan követésre kerül az elkészítése • Részei: • Alapmodell • Normalizálás • Mintaadatok • Egyszerű és összetett lekérdezések • Nézetek • PL/SQL eljárások, triggerek • Részletes leírás az orakulum honlapon • FONTOS: Összetett kulcsok használata!!! OE-NIK 2012.
Féléves feladat 1. fázis • Következő órára kinyomtatva el kell hozni a feladatkiírást! • Tartalma: • Egy tetszőleges (lehetőleg életszerű) feladat szöveges megfogalmazása • Minta található az orakulum.com -> Adatbázis-kezelés -> Általános tudnivalók menüpontban OE-NIK 2012.
Bevezetés • Mi is az az adatbázis? • Első pillantásra: adatok rendezett gyűjteménye. • … relációs adatbázis? • Reláció → tábla • Egyedek (rekord: a táblázat egy sora) • Jellemzők (mezők) OE-NIK 2012.
Kulcsok • Elsődleges kulcs • Minden rekordban egyedi!!! (Lehet összetett is) • Nem lehet ‚NULL’ • Idegen kulcs • Egy másik tábla elsődleges kulcsa • Összetett kulcs • Legalább két attribútumból áll OE-NIK 2012.
Relációs kapcsolat típusok • Nincs kapcsolat • 1:1 kapcsolat • Minden halmazból 1 elemnek csakis 1 elem felel meg, és viszont • 1:N kapcsolat • Egy halmazból 1 elemnek több elem is megfelel, fordítva viszont csakis egyetlen egy • M:N kapcsolat • Mindkét halmazból 1 elemhez tartozhat több elem, és fordítva OE-NIK 2012.
Bevezetés • … redundancia? • „Több jel felhasználása, mint amennyire adott információ közvetítéséhez feltétlenül szükség van.” • Ez jó vagy rossz? • … anomáliák? • Egy művelet nem kívánt mellékhatása, amely sokszor inkonzisztens állapotot eredményez. • beszúrási, módosítási, törlési anomália OE-NIK 2012.
Anomáliák • Módosítási anomália • Törlési anomália • Beszúrási anomália • Kiss Gizi, hallgató, NIK, mjlko8 -> Cím? OE-NIK 2012.
Normálformák • A függőségekre bizonyos követelményeket fogalmazunk meg (normálformák): • 1NF: Minden attribútum egyszerű • 2NF: A másodlagos attribútumok mindegyikét a kulcsattribútumok csak együttesen határozzák meg • 3NF: A másodlagos attribútumok egymástól függetlenek • BCNF (Boyce-Codd):A kulcs attribútumoknak nincs olyan részhalmaza, mely más kulcs- vagy másodlagos attribútumoktól függene. (Azaz nincs kulcstörés) OE-NIK 2012.
Normalizálás • NormalizálásCél: a redundancia megszüntetése. • Orakulum.com oldalon leírás • Adatbázis-kezelés -> AKT -> Labor -> #11_SQL Feladatgyűjtemény (29).pdf5-8.oldal • Ajánlott jegyzet:http://www.agt.bme.hu/szakm/adatb/db3.htm OE-NIK 2012.
SQL alapok • Strukturált Lekérdező Nyelv • Először az Oracle használta • Adattípusai • Numerikus • Alfanumerikus • Dátum • Egyéb típusok (pl: blob, clob) OE-NIK 2012.
Egyszerű SQL lekérdezések • SELECTFROMWHEREGROUP BYHAVINGORDER BY; • A lekérdezést pontosvesszővel zárjuk • Az attribútumokat vesszővel választjuk el • A karakterláncokat aposztrófok közé tesszük OE-NIK 2012.
SQL Plus • Virtuális gép indítása • SQL plus indítása • Felhasználónév: scott • Jelszó: tiger • Mit tegyünk ha nem sikerül belépni • 1: Várjunk egy picit, amíg a szolgáltatás elindul • 2: Szolgáltatás újraindítása • Szerkesztő: edfajlnev • Futtatás: @fajlnev OE-NIK 2012.
Alaptáblák • Két táblával fogunk foglalkozni • Ha ezek otthon valami miatt nem töltődnének be, akkor a „labor”-on belül az init2.sql fájl kell lefuttatni (@init2). • EMP tábla • Alkalmazottak tábla, mely oszlopai: EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO • DEPT tábla • Telephely tábla, mely oszlopai: DEPTNO, DNAME, LOC OE-NIK 2012.
Egytáblás lekérdezések • A SELECT utasítás: • Az adatok egy halmazát válogatja ki egy táblázatba • FROM: • Meghatározza, hogy mely táblából szeretnénk kiválogatni az adatokat • WHERE: • Itt adhatunk meg szűrési feltételeket • „;” : • Minden utasítást pontosvesszővel zárunk OE-NIK 2012.
Példák • Listázzuk ki az EMP tábla tartalmát • SELECT * FROM EMP; • Listázzuk ki a DEPT tábla tartalmát • SELECT * FROM DEPT; OE-NIK 2012.
WHERE • A segítségével szűrhetjük az eredményhalmazunkat • Operátorok: = <> < <= > >= • Például: sal > 1000 • Szöveges összehasonlítás • LIKE: enameLIKE ‘SCO%’ -> Kis és nagybetű eltér • Ezért: UPPER(ename) LIKE UPPER(‘SCO%’) nagybetűs • LOWER(ename) kisbetűs OE-NIK 2012.
WHERE • Logikai operátorok: • AND: • A segítségével több feltételt is megszabhatunk egyszerre, melynek mind teljesülnie kell • OR: • Ha AND helyett „OR”-t használunk, akkor elég az egyik feltételnek teljesülnie • Keresés zárt intervallumban • BETWEEN 100 AND 1500 OE-NIK 2012.
ORDER BY • Rendezés attribútumok alapján • ORDER BY ename ASC, sal DESC • ASC/DESC a sorrendet határozza meg • Az ASC növekvő rendezést nem kötelező kiírni • Példa: • SELECT ename, job, sal, comm FROM emp • ORDER BY sal DESC; OE-NIK 2012.
Gyakorlás • Listázza ki azon dolgozók összes adatát, akiknek a fizetésük kevesebb, mint 1230$! • Listázza ki azon dolgozók nevét és fizetését, akik fizetése 1500$ vagy 1600$! • Listázza ki azon dolgozók nevét és fizetését, akik fizetése 1000$ és 1700$ között van! OE-NIK 2012.
Köszönöm a figyelmet! • Következő órára hozzátok a feladatkiírást nyomtatva a féléves feladathoz! • Óra elején kisZH lesz normalizálásból! • Kérdéseket a vitez.gergely@spectronet.hu címre várom OE-NIK 2012.