Az Oracle SQL 1. - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Az Oracle SQL 1.

Description:

Az Oracle SQL 1. Az els l p sek A r di telefonokat k rem KIKAPCSOLNI! Aj nlott irodalom Szelezs n J nos: SQL k zik nyv (alapvet en ezt k vetj k, a ... – PowerPoint PPT presentation

Number of Views:157
Avg rating:3.0/5.0
Slides: 57
Provided by: mark1461
Category:
Tags: sql | oracle | tuning

less

Transcript and Presenter's Notes

Title: Az Oracle SQL 1.


1
Az Oracle SQL 1.
  • Az elso lépések

2
A rádiótelefonokat kérem KIKAPCSOLNI!
3
Ajánlott irodalom
  • Szelezsán János SQL kézikönyv(alapvetoen ezt
    követjük, a példa-adatbázis is innen való)
  • George Koch, Kevin Loney Oracle8i teljes
    referencia

4
Történelem 1.
  • E. F. Codd, 1970 relációs adatmodell("A
    Relational Model of Data for Large Shared Data
    Banks", Communications of the ACM)
  • P. Chen, 1976 kiterjeszti a kulcsok
    halmazelméleti leírásával
  • IBM, 1976 adatbázisgép tervének közzététele
  • Alapja az R adatbázis
  • Kidolgozói Codd és Chen

5
Célkituzések IBM-nél
  • A tárolás módja és a logikai adatszerkezet
    független legyen egymástól
  • Külön adatbázisnyelv, ami szabványosítja
  • az adatszerkezet definiálását
  • az adatok kezelését
  • az adatok biztonságára vonatkozó eloírásokat
  • Az adatkezelo utasítások az adatbevitel -
    módosítás - törlés logikáját követik, a fizikai
    muveleteket elrejtik
  • Munkájuk eredménye a SEQUEL nyelv (Structured
    English Query Language)
  • tervezoi D. D. Chamberlin, R. F. Boyce

6
Történelem 2.
  • A SEQUEL név késobb SQL-re rövidül
  • Hosszú csend, nincs jelentos fejlesztés az
    IBM-nél (védik a piacon lévo termékeiket?)
  • Relational Software, 1979 az SQL elso,
    kereskedelemben hozzáférheto megvalósítása
  • Új cégek jelennek meg saját relációs
    adatbáziskezelovel és SQL-lel
  • 1983 Oracle (adatbáziskezelojük Oracle)
  • 1984 Relational Co. (adatbáziskezelojük
    Informix)

7
Történelem 3.
  • 1986 ANSI szabvány az SQL alaputasításaira
    (SQL-86, vagy SQL-1)
  • 1987 ISO szabvány az SQL alaputasításaira
    (SQL-87)
  • Új cégek, növekvo verseny, az IBM is erosít
  • 1989 második ISO szabvány az SQL-re, újabb
    területeket szabványosít (SQL-89)
  • 1992 harmadik ISO szabvány az SQL-re (SQL-92,
    vagy SQL-2)

8
Történelem 4.
  • 1996 a tárolt eljárások és függvények
    szabványosítása
  • 1999 ISO szabvány (SQL-1999, vagy SQL-3)
  • 2003 ISO szabvány (SQL-2003)
  • 2006 ISO szabvány (SQL-2006)
  • A szabványok kompromisszumok, csak a meglévo
    gyakorlatot szentesítik! Minden megvalósítás
    tartalmaz eltéréseket!

9
Illik tudni...
  • Az Oracle egy cég neve, 1983-ban alakult
  • Többféle programtermékük is van
  • Ezek közül a legismertebb az Oracle
    adatbáziskezelo
  • Különbözo operációs rendszerekre létezik
  • Az idok során több verziója is elkészült
  • Mi az Oracle 9i-t használjuk

10
Ismerkedési lehetoségek
  • Kipróbálás céljából a teljes rendszer letöltheto
    ingyenesen az Oracle honlapjáról (www.oracle.com)
  • A teljes (angol nyelvu) dokumentáció elérheto az
    Interneten több helyen is
  • Nálunk a címe http//www.ttk.pte.hu/oracle/
  • Az Oracle Press és az OReilly könyvei

11
A gyári dokumentáció fontosabb könyvei
  • Error Messages
  • Master Glossary
  • Master Index
  • SQL Reference
  • SQLPlus Users Guide and Reference

12
Az SQL nyelv bemutatása
13
Az SQL jelentosége
  • Az Oracle adatbázis csak SQL nyelvu utasításokkal
    érheto el!

14
Az SQL nyelv fontosabb formai jellemzoi
  • A kulcsszavakban nincs különbség a kis- és
    nagybetu között
  • select, Select, SELECT egyenértéku
  • Az utasítások végén pontosvesszo van
  • Az utasítások szabadon széttörhetok több sorra

15
Az utasítások szerkezete
  • Követik a beszélt nyelv logikáját, kiolvasva
    értelmes, kerek angol mondatokat kapunk
  • Az utasítások szakaszokra (záradék, clause)
    oszthatók
  • minden szakaszt jellemzo kulcsszó vezet be
  • az egyes szakaszok pontosítják az utasítás
    tárgyát és a végrehajtás feltételeit

16
Példa SQL utasításra
alaputasítás
  • SELECT vevokod, nev1, telefon
  • FROM vevok
  • WHERE nev1 LIKE K
  • ORDER BY nev1, vevokod

WHERE- szakasz válogatás
ORDER BY szakasz a rendezés megadása
17
Az utasítások fajtái
  • Adatdefiníciós CREATE, ALTER, DROP
  • DDL, data definition language
  • Adatkezelési SELECT, INSERT, UPDATE, DELETE
  • DML, data manipulation language
  • Adatbiztonsági GRANT, REVOKE
  • DCL, data control language
  • Kiegészíto utasítások az egyes megvalósításokban
  • a tárolás eloírása
  • az adatmentés és a visszatöltés elvégzése
  • a muködés körülményeinek beállítása

18
A NULL érték
  • Ismeretlen, határozatlan, hiányzó adatot jelöl
  • Bármilyen adattípusú mezo értéke lehet NULL
  • Ha szerepel egy kifejezésben, akkor az egész
    kifejezés értéke NULL, kivéve
  • TRUE OR NULL értéke TRUE
  • FALSE AND NULL értéke FALSE
  • Semmivel sem egyenlo (önmagával se!)
  • X NULL értéke mindig FALSE
  • NULL NULL értéke is FALSE
  • Kezelése
  • feltételekben pl. X IS NULL, X IS NOT NULL
  • feldolgozásnál NVL függvény (pl. 0-val
    helyettesítheto)

19
Az SQL utasítások feldolgozása
  • Az alkalmazás egy SQL utasítást (szöveg!) küld az
    adatbázisba
  • Az adatbázis ellenorzéseket végez
  • szintaxis
  • a hivatkozott objektumok megléte, az adattípusok
    helyessége
  • jogosultság
  • Az adatbázis elvégzi a kért utasítást
  • Adatokat és / vagy állapot-információkat ad vissza

SQL utasítás
adatbázis
alkalmazás
adatok
20
Az utasítások végrehajtásának követése
  • Az SQL utasítások végrehajtási módjáról és annak
    hatékonyságáról felvilágosítást lehet kérni
  • További információk a gyári dokumentációbanSQLP
    lus Users Guide and Reference,9. fejezet
    Tuning SQLPlus

21
SQL utasítások használata programból 1.
  • Sok magasszintu nyelvbe beiktathatók SQL
    utasítások megfelelo szintaktikával
  • A befogadó (gazda, host) programban megfelelo
    adatszerkezetek kellenek az adatcsere
    lebonyolításához
  • A forrásnyelvi programot egy elofordító
    (precompiler) feldolgozza
  • az SQL utasításokat megfelelo gazdanyelvi
    eljáráshívásokkal helyettesíti
  • tisztán gazdanyelvi program keletkezik

22
SQL utasítások használata programból 2.
  • Ezt a szokásos módon lefordítják
  • Szerkesztéskor (link) az SQL-t feldolgozó
    eljárásokat tartalmazó könyvtárat is hozzá kell
    szerkeszteni
  • Az Oracle a C/C, COBOL, FORTRAN és PL/I részére
    szállít elofordítót

elo- ford.
ford.
link
gazdanyelv SQL
gazdanyelv
gépi kód
futtatható program
SQL könyvtár
23
SQL utasítások használata programból 3.
  • A közösen használt változók deklarálásaEXEC SQL
    INCLUDE SQLCAEXEC SQL BEGIN DECLARE
    SECTION szokásos gazdanyelvi deklarációkEXEC
    SQL END DECLARE SECTION
  • Az SQL utasítások azonosításaEXEC SQL

állapot-információ, hibakód
24
A kliens-server környezet
  • Az adatbáziskezelo egy szerveren fut (nálunk
    Linux alatt)
  • A használatához a kliens gépekre megfelelo
    programot kell telepíteni
  • megfelelo módon elküldi az SQL utasításokat
  • fogadja az adatbázisból érkezo adatokat
  • Az Oracle által szállított hagyományos kliens
    program az SQLPlus
  • Újabb, kényelmesebb az SQL Developer
  • Mindketto többfajta operációs rendszerre is
    létezik

25
Az SQLPlus
26
Az SQLPlus indítása a tantermekben
  • Nincs mindegyik teremben installálva!
  • Start menü / Programok / Oracle - OraHome92 /
    Application Development / SQL Plus
  • Bejelentkezés
  • Felhasználó tanfxx (xx a gép száma, pl. tanf06)
  • Jelszó ugyanaz
  • Bejelentkezési oratanf (ez az adatbázis neve,
    ahova be akarunk lépni)
  • A bejelentkezésnél a kis- és nagybetuk
    egyenrangúak

27
Kilépés az SQLPlusból
  • A harmadik sikertelen belépési kísérletnél
    automatikusan leáll
  • EXIT parancs
  • QUIT parancs
  • Az ablak bezárása

28
SQL - SQLPlus - PL/SQL
  • SQL
  • szabványos lekérdezo nyelv
  • az Oracle egy kiterjesztett SQL-t használ
  • SQLPlus
  • kliens program, egy ablak az SQL parancsok
    beírására (Oracle specialitás)
  • PL/SQL
  • hagyományos programozási nyelv pl. a tárolt
    eljárások megírásához (Oracle specialitás)

29
Az SQLPlus használata 1.
  • Alapvetoen SQL parancsok kiadására
  • Saját parancsai is vannak (a környezet
    beállítására)
  • A kis- és nagybetuk egyenrangúak
  • A parancsokat pontosvesszovel zárjuk
  • Az SQL parancsok szabadon több sorra törhetok

30
Az SQLPlus használata 2.
  • Fapados!!!
  • A / az utolsó parancsot újra végrehajtja
  • A korábbi parancsok javítása, újbóli kiadása
  • van egy saját nehézkes editora
  • a legjobb az egérrel kijelölni és átmásolni

31
Az SQLPlus testreszabása
  • SELECT FROM scott.emp
  • a rekordok két sorra tördelodnek
  • SET LINESIZE 120
  • a sor hosszát 120 karakterre állítja
  • most felesleges oszlopfejléceket kapunk 10 rekord
    után
  • SET PAGESIZE 20
  • csak 20 rekord kiírása után kapunk oszlopfejlécet

32
Az SQL Developer
33
Mi is az SQL Developer?
  • Fejlesztok és adatbázis-adminisztrátorok részére
    készített kliens oldali eszköz
  • Az adatbázis objektumainak áttekintésére
  • SQL utasítások kényelmes kiadására
  • PL/SQL-ben írt programok fejlesztésére
  • a forráskód szerkesztésére
  • a programok futtatására
  • hibakeresésre
  • Javaban készült, csak Oracle 9i-tol kezdve
    használható
  • Windowsra, Linuxra, MacOS-re

34
Hogy juthatunk hozzá?
  • Nem része az adatbáziskezelovel szállított Oracle
    Client programgyujteménynek
  • Önálló termék
  • Ingyen letöltheto az Oracle honlapjáról és
    szabadon felhasználható

35
Az SQL Developer indítása
  • Nem látszik a Start menüben a programok között
  • pl. az Intézobol indítható dupla kattintással
  • Indításkor nem jön létre automatikusan a
    kapcsolat az adatbázissal!
  • bejelentkezés a Connections fülnél a kapcsolat
    megnyitásával
  • Kilépés a szokásos módon

36
Új kapcsolat létrehozása
  • Kattintás az eszköztár New ikonján
  • A felnyíló ablakra OK
  • A következo párbeszédablakban
  • Connection name kifejezo nevet adunk
  • Username értelemszeruen
  • Password értelemszeruen
  • Hostname oracle.szk
  • Port 1521
  • SID oraokt

37
Az SQL Developer leírása
  • Csak angolul!
  • A saját menüjében (Help / Table of Contents)
  • Az Oracle honlapján egyéb általános ismertetok is
    találhatók

38
Fo részei
  • Navigátor (Connections)
  • SQL Worksheet
  • Táblázatos adatlekérdezo és módosító felület
  • Forráskód-szerkeszto
  • tárolt programok szerkesztoje
  • adatbázis-triggerek szerkesztoje
  • PL/SQL futtató felület
  • a kód végrehajtása
  • nyomkövetés
  • Listázó (Reports)

39
A navigátor
a már definiált adatbázis-kapcsolatok
a megnyomásával megnyílik a lista
az elérheto objektumok
40
Az SQL Worksheet
a parancsok beírása
az eredmény megjelenítése
41
Az Oracle munkakörnyezete
42
Objektumok egy adatbázisban 1.
  • Tábla (adattábla, table) az adatok tárolási
    helye
  • Nézet (nézettábla, view)
  • meglévo táblákból kiválogatott / származtatott
    adatokat tartalmaz (inkább szolgáltat)
  • táblaként kezelheto
  • mint a választó lekérdezés Accessben
  • Index az adatok gyors visszakeresését segíto
    segéd-információk
  • Sorozat (sequence) egyedi egész értékeket
    szolgáltat
  • hasonló szerep, mint a számláló adattípusnak
    Accessben

43
Objektumok egy adatbázisban 2.
  • Tárolt eljárások (function, procedure, package)
    PL/SQL nyelven írt, az adatbázisban tárolt és az
    adatbázis-szerveren futó eljárások / függvények /
    programcsomagok
  • Trigger különleges PL/SQL eljárás
  • nem az alkalmazás hívja, hanem bizonyos
    adatbázis-események (pl. rekord beszúrása)
    hatására automatikusan elindul
  • ellenorzésre, az integritás biztosítására
    használjuk
  • Az újabb Oracle verziók a PL/SQL mellett a Java
    használatát is támogatják

44
A DUAL tábla
  • Az Oracle specialitása
  • Egy sora és egy oszlopa van
  • Minden felhasználónak van rá SELECT jogosultsága
  • Jól használható számítások végrehajtatására vagy
    függvények kiértékelésére
  • SELECT 23 FROM DUAL
  • SELECT USER, SYSDATE FROM DUAL

45
A TNSNAMES.ORA fájl
  • Egyszeru szövegfájl
  • A hagyományos kliensprogramok esetében minden
    kliensgépen megtalálható(nálunk a
    C\oracle\ora92\network\Admin-ban)
  • Az adatbázisok nevéhez megadja a hálózati helyet
  • A karbantartásához külön program is vanStart
    menü / Programok / Oracle - OraHome92 /
    Configuration and Migration Tools / Net Manager

46
A definiált felhasználók
  • Az ALL_USERS view tartalmazza az adataikat
  • USER_USERS csak a saját adataink, de több (pl.
    hogy meddig érvényes a login nevünk)
  • Nagyon sok rendszer-view-nak van egy ALL_ és egy
    USER_ változata
  • Ezek a SYS nevu felhasználó tulajdonában vannak

47
A SCOTT felhasználó
  • Az Oracle telepítésekor egy minta-adatbázis is
    telepítheto
  • egy SCOTT nevu felhasználó TIGER jelszóval
  • néhány tábla adatokkal
  • Nagyon sok Oracle példa hivatkozik ezekre az
    adatokra

48
Mások tábláinak megnézése
  • ALL_TABLES rendszer-view
  • minden olyan tábla adatait taralmazza, amihez
    hozzáférhetünk
  • SELECT table_name FROM all_tables WHERE
    ownerSCOTT
  • A tábla neve elott meg kell adni a tulajdonost
  • SELECT FROM scott.emp

49
A DEPT tábla
  • A tábla szerkezetének megnézése
  • DESCR scott.dept
  • DEPT department (részleg)
  • DEPTNO department number (a részleg száma)
  • DNAME department name (a részleg neve)
  • LOC location (helység)

50
Az EMP tábla
  • EMP employee, alkalmazott
  • EMPNO employee number, az alkalmazott kódja
  • ENAME employee name, az alkalmazott neve
  • JOB munkakör
  • MGR manager, a fonökének a kódja
  • HIREDATE belépési dátum
  • SAL salary, fizetés
  • COMM commission, ???
  • DEPTNO department number (a részleg száma)

51
A példa-adatbázis szerkezete
52
A példa-adatbázis szerkezete
  • A Stolnicki-könyvbol átvéve, egyszerusítve
  • A mezotípusok az Oracle lehetoségeihez igazítva

vevok
rendelések
a rendelések tételei
cikktörzs
53
A vevok adatai (VEVOK tábla)
54
A rendelések adatai (RENDEL tábla)
55
A rendelések tételei (RTETEL tábla)
56
A cikkek adatai (CIKK tábla)
Write a Comment
User Comments (0)
About PowerShow.com