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 ◦
[email protected] ◦ 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
Munkakör
Kiss Gizi
webfejlesztı Király Webconsultin g Kft.
1241. 06/30-666-88-99 Sehol utca 89.
Kiss Gizi
webfejlesztı Király Webconsultin g Kft.
1241. kiss.gizi@wbconsult. Sehol utca com 89.
Nagy József
webfejlesztı Joska66 Kft.
1254. Bimbó utca 2.
Cég
Cég címe
Elérhetıség
[email protected] u
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
[email protected] címre várom
OENIK 2012.
23