230 likes | 372 Views
Adatbázisok használata 1 (1. gyakorlat). 2012. tavaszi félév Véső Tamás. Hallgatói Tájékoztató. 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 .
E N D
Adatbázisok használata 1(1. gyakorlat) 2012. tavaszi félévVéső Tamás
Hallgatói Tájékoztató 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.
Ismertető • 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.
Követelmények • Letölthető: TO honlapja, orakulum.comhonlap • 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.
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!!! OENIK 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 OENIK 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) OENIK 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 OENIK 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 OENIK 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 OENIK 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? OENIK 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) OENIK 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 OENIK 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) OENIK 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 OENIK 2012.
SQL Plus • 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ő: edfajlnev • Futtatás: @fajlnev OENIK 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 OENIK 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 OENIK 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; OENIK 2012.
Egytáblás lekérdezések 2. • 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.
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; OENIK 2012.
Gyakorlás • SELECT ename, jobfrom emp WHERE sal>950 ORDER BY salASC; • SELECT ENAME from emp WHERE sal<700; • Miért? OENIK 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 veso.tamas@spectronet.hu címre várom OENIK 2012.