SQLTools in 5 steps ver. 0.1 Drzewiecki Tomasz - Magyar fordítás és átdolgozás: Gáti Tamás 2006. július 30.
Tartalomjegyzék
1
1. Kapcsolódás Kezdetnek indítsd el a programot. Megjelenik az adatbázis kapcsolódási ablak.
A bal oldalon látható a korábbi adatbázis kapcsolatok listája. A képen a lista az utolsó használat idôpontja szerint van rendezve, de rendezhetô bármelyik oszlop szerint. Valamelyik adatbázisra való dupla kattintással újra kapcsolat létesül. Egy új adatbázishoz felhasználói név és jelszó beírása után tudsz, kiválasztva az adatbázis nevét a TNS listából (pontosabban a SID listából). Mi történik, ha rossz tnsnames.ora fájlod van, vagy egyáltalán nincs is? Beírhatod manuálisan a paramétereket. Jelöld ki a Bypass tnsnames.ora opciót és üsd be a gép nevét (vagy IP-jét), az adatbázist és a kapcsolódási portot (általában 1521).
A Test connection gomb hasznos lehet kapcsolódási kísérleteknél. Ellenôrizheted az Oracle bázis példányának létezését és a login információk helyességét, anélkül hogy belépnél az adatbázisba. Ha SYSDBA vagy SYSOPER felhasználóként kell belépned bizonyos adminisztratív feladatok miatt, válaszd ki a megfelelô opciót a Mode legördülô listából.
2
Az adatbázisba való belépés után láthatod a kapcsolat paramétereit és 2 gombot az eszköztárban. Ezekkel lehet szétkapcsoládni, egy másik Oracle példányhoz kapcsolódni vagy más felhasználóként bejelentkezni.
2. Központi ablak Ime a program központi ablaka.
A szerkesztô területen futtathatunk SQL lekérdezéseket, eljárásokat és triggereket. Az alsó ablak tartalmazza a lekérdezés eredményét. Probálj ki egy egyszerû példát. A felsô ablakba üsd be: SELECT 5+10 FROM DUAL; Nyomd meg az F5 gombot. Az eredmény lent jelenik meg!
3
Próbálj most valami nehezebbet. SELECT * FROM user_tables; Figyeld meg, hogy ha kisbetükkel gépelsz, az SQL kulcsszavak azonnal nagybetüssé válnak. Ez az autómatikus formázás. A Tools → Application/Editor Settings → Normalize keywords menü opció vezérli ezt a formázást. Ha egy formázatlan kódrészlet van az ablakban, meg tudod 'szépíteni' a Text → Normalize Keyword menü opcióval. Futtasd a fenti lekérdezést az F5 lenyomásával. A USER_TABLES tartalmától függôen kb. egy tucat sor lesz az eredmény ablakban.
A képen az alsó státusz sorban látható, hogy a program csak az elsô 100 sort apta meg 0.481s alatt. További sorokat csak akkor kér le a program, ha lefelé lapozol az eredménylistában. Az egyszerre lek?0rt sorok számát a Tools → Session/DDL/Grid Settings → Data Grid → Row prefetch menü opcióval változtathatod meg. Válaszd most ki a Session → Enable Session Statistics menü opciót. Futtasd újra az elôzô lekérdezést. Kattints a Statistics fülre.
4
Ebben a fülben az elôzô lekérdezés statisztikai vannak. (A teljes kapcsolat statisztikairól van szó, de csak egy lekérdezést futott mióta a statisztikai adatgyüjtés kezdete óta.) A képen az egérmutató egy nagyon hasznos gmb felett áll - Automatikus fülek közötti váltás kikapcsolása. Alapértelmezésben a the Query fül automatikusan megnyílik, ha egy új lekérdezést futtatunk. Nyomd meg az F5 hogy lásd a mûködését. Ezután menj a Statistics fülre és nyomd meg a gombot. Most F5 újra. Mit látsz? Kapcsold ki az Automatikus fülek közötti váltás gombot és nyomj F9-öt. A lekérdezési terv a Plan fülben jelenik meg.
Térj most vissza a felsô ablakba és kattints valahová a 'USER_TABLES' szóban. Nyomd meg az
F12-t.
5
Ez felhoz egy ablakot a tábla vagy nézet struktúrájával. A táblától vagy nézettôl függô objektumok listáját és a táblát vagy nézetet alkotó objektumok listáját kapjuk. Ez hasznos lehet ha objektulok közötti függôségeket keresel.
3. Objektum lista Nyomd meg az Alt+3-at mikor a kurzor a szerkesztô ablakban van. Ez az objektum-böngészôt nyitja meg.
6
Megnyílik egy ablak az összes objektum listájával. Valassz ki egy táblát (a Tables fülben), pl. COUNTRIES a HR sémából. Jobb egérklikk rajta es válaszd ki, hogy Query.
Megnyitottál ezzel egy új szerkesztô ablakot és futtattad az alábbi lekérdezést: SELECT * FROM hr.countries; Válaszd ki ugyanezt az objektumot az objektum listában (Alt+3) és válaszd ki a Load opciót a menübôl (vagy egyszerên duplán klikkelj). A Local DDL Preferences ablakot látod. Válaszd ki a képen látható opciókat és nyomj OK-t.
7
Egy új szerkesztô ablak jelenik meg a tábla létrehozásához szükséges szkripttel. Ez mas objektumokkal is mûködik.
Ezzel könnyedén újra létre lehet hozni az objektumokat. Például vátoztass valami apró részletet, mondjuk az egyik mezô leírását és nyomj F5-öt. Ha nincs hiba, akkor ez a változtatás véglegessé válik az adatbázisban. Az Output fülben látszanak a szkript futtatási hibai piros ikonnal és a sikeres parancsok kék ikonnal.
8
Az Object list egy szintén hasznos opciója, hogy több objektumot (pl. egész csomagokat) is képes egyszerre betölteni a szerkesztô ablakba, egy nagy szkriptként. Jelölj ki pl. egy csomagot és válaszd a Load all in one opciót a jobbgombos menübôl.
Egy új szerkesztô ablak jelenik meg a kijelölt csomagok deniciós szriptjével. Ez jól használható pl. ha egy bizonyos hibaüzenetet keresel a csomagokban.
4. Gyakorlásból sosem elég Az SQLTools egyik szépsége (az árán kívül), hogy nincs telerakva varázslókkal és varázsgombokkal. Hidd el, még komplex fejlesztôi projektekhez is elegendô ez a spártai fejlesztôkörnyezet. De csapjunk a lovak közé - jöjjön a házi feladat! Tegyük fel, hogy Oracle8i vagy magasabb környezetben vagyunk, és van joguk a sémában objektumok alkotására, törlésére és minden egyéb objektum mûveletre.
4.1. Némi házi feladat 1. Csinálj egy táblát a USER_TABLES-höz hasonlóan, de csak az elsô 3 oszloppal. 2. Másolj adatokat az új táblába INSERT segítségével a USER_TABLES táblából. 9
3. Készíts saját csomagot egy 'public' egysoros eljárással (használd a következôt 'put'+CTRL+SPACE - írd be, hogy put majd nyomj
-t). A kimeneten az új táblából származó adatok lesznek. 4. Készíts egy önálló eljárást, amely a csomag eljárását hívja. 5. Készíts egy névtelen blokktörzset: BEGIN our_created_procedure; END; 6. Futtasd a szripter az F5-tel. Mentsd el a szkriptet egy fáljba. 7. Jelöld ki a tábla nevét a szerkesztôben és nyomj F12-t. Melyik objetumtól függ a tábla? Mely objektumok használják a táblát? 8. Csukj be mindent. Nyisd meg újra az objektum listát (Alt+3). Töröld az új táblát a gomb segítségével. 9. Lépj be az objektum listába a Package bodies fülben. Nyomd meg a Refresh gombot és gyeld meg mi jelenik meg a csomag jobb oldalán. 10. Lépj be a szerkesztôbe és töltsd be a szkriptet. Próbáld meg futtatni. Miért nem megy? 11. Végül t?0rj vissza az objektum listához, töröld az eljárást és a csomagot. Befejeztük!
4.2. Segítség (sokféle módon elérhetô természetesen ugyanaz az eredmény) 1. CREATE TABLE . . . AS SELECT table_name, tablespace_name, cluster_name FROM user_tables WHERE 1=0; 2. INSERT INTO . . . SELECT . . . ; 3. Nyisd meg az objektum listát, töltsd be bármelyik csomagot (specikáció + törzs), töröld az összes eljárást egy kivételével és addj hozzá 3 sort:
• with variable(s) declaration; • with SELECT . . . INTO . . . ; • with Dbms_Output.Put_Line();
4,5,6,7. Egy példa implementáció. 10
8,9. Az 'invalide' csomag és a hibaüzenetek lengyel/angol nyelven lesznek.
5. Bôvebb tudnivalók - az SQLTools személyreszabása Ezen nincs sok magyaráznivaló? Az opciók a következô menükben vannak:
• Text → File Settings & Information • Tools → Session / DDL / Grid Settings • Tools → Application / Editor Settings A billentyû-kombinációkat a Data / custom.keymap lehet megváltoztatni.
5.1. Hogyan tovább? 2004-12-13 Jelenleg a program nem moduláris - egyetlen hatalmas *.exe fájl. A jövôben fontolgatjuk a plugin-ok bevezetését, amit bárki csinalhatna anélkül, hogy a fô forrásállományt ismerné. Mind az SQLTools mind pedig az OpenEditor (amely az SQLTools jelentôs részét teszi ki) nemrég elérhetôvé vált SourceForge-on. Remélhetôleg ez meggyorsítja majd a fejlesztést. Remeljük mindenki, aki ezt olvassa, támogatni fogja a fejlesztô csapatot, még ha kis dolgokkal is, mint új verziók tesztelése és hiba-elhárítás. Elôre is köszönjük!
11