Adatbázisok használata 1 (1. gyakorlat) 2012. tavaszi félév Vitéz Gergely
Ismertető http://www.orakulum.com vitez.gergely@spectronet.hu 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? … relációs 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 Idegen kulcs Összetett 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? … anomáliák? „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 Név Munkakör Cég Cég címe Elérhetőség Kiss Gizi webfejlesztő Király Webconsulting Kft. 1241. Sehol utca 89. 06/30-666-88-99 kiss.gizi@wbconsult.com Nagy József Joska66 Kft. 1254. Bimbó utca 2. j.oska66@freemail.hu 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ás Cél: a redundancia megszüntetése. Orakulum.com oldalon leírás Adatbázis-kezelés -> AKT -> Labor -> #11_SQL Feladatgyűjtemény (29).pdf 5-8.oldal Ajánlott jegyzet: http://www.agt.bme.hu/szakm/adatb/db3.htm OE-NIK 2012.
SQL alapok Strukturált Lekérdező Nyelv Adattípusai 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 SELECT FROM WHERE GROUP BY HAVING ORDER 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ő: ed fajlnev 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: ename LIKE ‘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: OR: Keresés zárt intervallumban 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.