Adatbázisok_használata_1_GY1_vitez

Download Report

Transcript Adatbázisok_használata_1_GY1_vitez

2012. tavaszi félév
Vitéz Gergely

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://jerry.gorextar.hu/ab1
OE-NIK 2012.
2







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.
3



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.
4


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
OE-NIK 2012.
5

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)
OE-NIK 2012.
6

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
OE-NIK 2012.
7


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.
8

… 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
OE-NIK 2012.
9
Név
Munkakör
Cég
Cég címe
Kiss Gizi
webfejlesztő
Király
Webconsulting
Kft.
1241.
06/30-666-88-99
Sehol utca
89.
Kiss Gizi
webfejlesztő
Király
Webconsulting
Kft.
1241.
[email protected]
Sehol utca om
89.
Nagy
József
webfejlesztő
Joska66 Kft.
1254.
Bimbó
utca 2.



Elérhetőség
[email protected]
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.
10

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.
11




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.
12

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)
OE-NIK 2012.
13




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.
14





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.
15



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.
16

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.
17

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.
18







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.
19


Logikai operátorok:
AND:
◦ 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.
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;
OE-NIK 2012.
21



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.
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
OE-NIK 2012.
23