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
Tananyag: ◦ ◦ Kende Mária-Nagy István: ORACLE Példatár SQL, PL/SQL Elérhetőségek ◦ ◦ OENIK
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: VMWARE image: _program_vmware_oracle10gr2_v2.rar _program_vmware_oracle10gr2_v2.rar OENIK
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
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
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
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
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
… 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
Módosítási anomália Törlési anomália Beszúrási anomália ◦ Kiss Gizi, hallgató, NIK, mjlko8 -> Cím? NévMunkakörCégCég címeElérhetőség Kiss GiziwebfejlesztőKirály Webconsultin g Kft Sehol utca / Kiss GiziwebfejlesztőKirály Webconsultin g Kft Sehol utca 89. com Nagy József webfejlesztőJoska66 Kft Bimbó utca 2. u OENIK
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
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: OENIK
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
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
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 OENIK
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 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
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
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
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
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
SELECT ename, job from emp WHERE sal>950 ORDER BY sal ASC; SELECT ENAME from emp WHERE sal<700; Miért? OENIK
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 címre OENIK