2012. tavaszi félév Vésı Tamás
A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyi(k)nek. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelezı irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. OENIK 2012. 2
Tananyag: http://www.orakulum.com Kende Mária-Nagy István: ORACLE Példatár SQL, PL/SQL Elérhetıségek veso.tamas@spectronet.hu http://gorex.gorextar.hu/ab1 OENIK 2012. 3
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ı innen: http://jerry.gorextar.hu/ab1/oracle VMWARE image: http://storage.gazdinfo.hu/2/oracle/adatbazis _program_vmware_oracle10gr2_v2.rar OENIK 2012. 4
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!!! OENIK 2012. 5
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áziskezelés -> Általános tudnivalók menüpontban OENIK 2012. 6
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) OENIK 2012. 7
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 OENIK 2012. 8
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 OENIK 2012. 9
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 OENIK 2012. 10
Név Kiss Gizi Kiss Gizi Munkakör Cég webfejlesztı Király Webconsultin g Kft. webfejlesztı Király Webconsultin g Kft. Cég címe 1241. Sehol utca 89. 1241. Sehol utca 89. Elérhetıség 06/30-666-88-99 kiss.gizi@wbconsult. com Nagy webfejlesztı Joska66 Kft. 1254. j.oska66@freemail.h József Bimbó u utca 2. Módosítási anomália Törlési anomália Beszúrási anomália Kiss Gizi, hallgató, NIK, mjlko8 -> Cím? OENIK 2012. 11
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) OENIK 2012. 12
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 OENIK 2012. 13
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) OENIK 2012. 14
SELECT FROM WHERE GROUP BY HAVING ORDER BY ; A lekérdezést pontosvesszıvel zárjuk, az attribútumokat vesszıvel választjuk el OENIK 2012. 15
Virtuális gép indítása SQL plus indítása Felhasználónév: Scott Jelszó: tiger (belépési: üres) 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 OENIK 2012. 16
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 OENIK 2012. 17
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 OENIK 2012. 18
Listázzuk ki az EMP tábla tartalmát SELECT * FROM EMP; Listázzuk ki a DEPT tábla tartalmát SELECT * FROM DEPT; OENIK 2012. 19
WHERE segítségével szőrhetjük az eredményhalmazunkat. Több utasítás megadása esetén minden sor végén: ; Minden utasítást pontosvesszıvel zárunk! -- kezdető sorok megjegyzések OENIK 2012. 20
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; OENIK 2012. 21
SELECT ename, job from emp WHERE sal>950 ORDER BY sal ASC; SELECT ENAME from emp WHERE sal<700; Miért? OENIK 2012. 22
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 veso.tamas@spectronet.hu címre várom OENIK 2012. 23