ADATBÁZIS HASZNÁLAT I. 4. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

10. gyakorlat SQL SELECT.
Tananyag: konzultáció
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,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Ablak módszer Rózsa Győző
Analitikus függvények
Analitikus, statisztikai és szélsőérték fv-k Hári Veronika
Analitikus, statisztikai és szélsőérték fv-k Rózsa Győző
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
2012. tavaszi félév Vitéz Gergely. 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,
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Adatbázisok használata 1 (1. gyakorlat)
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,
Adatbázis alapú rendszerek
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
2012. március 6. Rózsa Győző Interaktív környezet március Rózsa Győző
Többtáblás lekérdezések, allekérdezések Rózsa Győző
SQL – DQL (Data Query Language ) adat lekérdezések
Adatbázis-kezelés.
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbázis alapú rendszerek
VFP programozása report készítése menü készítése dinamikus elemek
adminisztrációs feladatok
ADATBÁZISOK
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Részletező csoportosítások Rózsa Győző
ADATBÁZIS HASZNÁLAT I. 2. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
SQL.
Az SQL nyelv alapjai.
Nézettáblák, felső-N analízis Március 20. Rózsa Győző.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
Adatbázis adminisztrátori ismeretek
2012. tavaszi félév Véső Tamás. Kérdezze le minden dolgozó nevét, jövedelmét, részlegének nevét és a részlegében dolgozók legkisebb és legnagyobb jövedelmét,
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 18.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
2012. tavaszi félév Véső Tamás Véső Tamás OE­NIK / 29.
Részletező csoportosítások Hári Veronika
Részletező csoportosítások Rózsa Győző
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis használat I. 2. gyakorlat.
ADATBÁZIS HASZNÁLAT I. 3. gyakorlat. Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem.
Adatbázisok használata 2. gyakorlat Rózsa Győző
Felhasználók és jogosultságok
SQL.
Visual Basic 2008 Express Edition
A gyakorlatok munkakörnyezete
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
2. AB gyakorlat Egytáblás csoportosító lekérdezések.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Lekérdezések Adott tulajdonságú adatok listázásának módja a lekérdezés. A lekérdezések segítségével az adatbázisból megjeleníthetjük, módosíthatjuk, törölhetjük.
Adatbázis alapú rendszerek
Alkalmazásfejlesztés gyakorlat
Előadás másolata:

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

Figyelem!!! A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!

Weboldalak

Interaktív környezet  Mit jelenthet az interaktív környezet  A lekérdezéseinket úgy írjuk meg, hogy a felhasználó adhat meg bizonyos paramétereket változókon keresztül.

Változók  Két fajtája létezik a változóknak  &vátozónév Az ilyen módon létrehozott változó nem tárolódik el a munkamenetünkben, elfelejti amint lefutott a parancs.  &&változónév Eltárolja az SQL*Plus a változó értékét amíg ki nem lépünk belőle vagy nem használjuk az UNDEFINE utasítást.

Változók  A &&változót felhasználói változónak is nevezzük  A felhasználói változókat a következőképpen tudjuk létrehozni  &&változónév  DEFINE változónév = érték (minidg CHAR típusú)  ACCEPT változónév [adattípus] [FORMAT 'formátummaszk'] [PROMPT 'üzenet'] [HIDE]

Változók  A változókra az SQL parancsokba úgy hivatkozunk, hogy a változonevet ' ' közé tesszük.  Ha egy változó nem létezik a hivatkozáskor, akkor annak bekéri az értékét az SQL*Plus és attól függően, hogy a kódban hogyan hivatkoztunk rá létrehozza a változót vagy felhasználói változót.  Pl.: SELECT * FROM emp WHERE ename = '&&valtozo'; Létrehozza a valtozo nevű felhasználói változót (megnézhetjük az aktuális értékét a DEFINE paranccsal).  Pl2.: SELECT * FROM emp WHERE ename = '&valtozo2'; Létrehozza a valtozo2 nevű változót, de ahogy lefutott a parncs el is felejti.  A felhasználói változók értékét mindig csak újabb DEFINE vagy ACCEPT parancsal változtathatjuk meg. Megjegyzés: Ha létezik '&&valtozo', akkor arra hivatkozhatunk '&valtozo' parancsal is.

DEFINE  DEFINE változó = érték  Létrehoz egy CHAR típusú változót.  DEFINE változó  Megjeleníti a változó értékét és típusát.  DEFINE  Megjeleníti az összes felhasználói változó értékét és típusát.

DEFINE (Feladat)  Hozzunk létre egy nev nevű változót és az értéke legyen MARTIN.  Kérdezzük le MARTIN minden adatát a változónk segítségével.

ACCEPT  Az SQL*Plus fejlesztésének későbbi szakaszába készült, emiatt nem csupán CHAR típusú változót tud létrehozni, hanem NUMBER és DATE változót is és ezt a hivatkozások során figyelembe kell vennünk.  Az ACCEPT létrehozza a felhasználói változónkat, egy üzenetet is küld a felhasználónak és képes a bevitelt elrejteni (pl.: jelszó).

ACCEPT  Szintaktikája  ACCEPT változónév [adattípus] [FORMAT 'formátummaszk'] [PROMPT 'üzenet'] [HIDE]  Adattípus  NUMBER  CHAR  DATE  FORMAT 'formátummaszk'  Megadja használandó formátummaszkokat (könyv 1. fejezet: Dátumok és számok formázott megjelenítése)  PROMPT 'üzenet'  Üzenetet jelenít meg a felhasználónak az adat megadása előtt  HIDE  Elrejti a felhasználó által megadott adatot (jelszó)

ACCEPT (Feladat)  Listázza a felhasználó által megadott dátum előtt belépett, és foglalkozású dolgozókat!

ACCEPT (Megoldás) ACCEPT datum DATE FORMAT 'YYYY-MM-DD' PROMPT 'Mi legyen a dátum?: ' ACCEPT munkakor PROMPT 'Milyen munkakör?: ' Select * from emp where hiredate < TO_DATE('&datum','YYYY-MM-DD') AND upper(job) = upper('&munkakor');

ACCEPT (Feladat 2)  Írjon olyan programot, amely a felhasználó által kiadott lekérdező utasítást futtatja.

Megoldás 2  ACCEPT utasitas PROMPT 'Adjon meg egy lekérdező utasítást: ' SELECT * FROM (&utasitas);

UNDEFINE  Már korábban említettük, hogy az ACCEPT a DEFINE és && egyaránt felhasználói változókat hoz létre és ezek megőrződnek az SQL*Plusban kilépésig vagy az UNDEFINE utasítás kiadásáig.  Az UNDEFINE kitörli a felhasználói változót.  Használata  UNDEFINE változónév

UNDEFINE (Feladat)  Kérdezzük le a változókat.  Módosítsuk az utasitas változó értékét.  Kérdezzük le az utasitas valtozot.  Töröljük le az utasitas nevű változót.

UNDEFINE (Feladat)  Kérdezzük le a változókat.  DEFINE  Módosítsuk az utasitas változó értékét.  DEFINE utasitas = valami  Kérdezzük le az utasitas valtozot.  DEFINE utasitas  Töröljük le az utasitas nevű változót.  UNDEFINE utasitas

PROMPT  Üzenet kiírására használják egy szkriptből.  Használata  PROMPT [szöveg] Ha nem adunk meg szöveget akkor egy sort beszúr. Vegyük észre, hogy itt nincsen ' ' jel közé zárva a szöveg, mint ACCEPTNÉL  Lehetőség van itt is változót használni  Ilyenkor viszont így kell hivatkozni a változóra PROMPT szöveg &változó. Azaz a változónév után.-ot kell hogy tegyünk  Pl.: PROMPT Én a &_USER. nevű felhasználó vagyok

Az SQL*Plus környezet beállítása  Az aktuális beállításokat a SHOW ALL paranccsal kérhetjük le.  Ha csak egyre vagyunk kíváncsiak SHOW rendszerváltozó  Ezen változók értékeit a következőképpen módosíthatjuk  SET Rendszerváltozó Érték  A HELP SET paranccsal megnézhetjük mire állíthatjuk be az egyes változókat

Az SQL*Plus környezet beállítása  A számunkra érdekes rendszerváltozók:  Numwidth Megadja a numerikus mezőszélességet. SET Numwidth n  Feedback Alapértelmezetten, ha a lista 6 sornál több sorból áll, akkor kiírja a sorok számát, ezt ki-, bekapcsolhatjuk, illetve átírhatjuk más sorszámra. SET feedback {6|n|on|off}  Verify Amikor változót használunk akkor kiírja a behelyettesítés értékét, ezzel a parancsal ezt kikapcsolhatjuk. SET verify {on|off}  Linesize A sor hosszának maximális számát adja meg. SET linesize n

Formázások  Az SQL*Plusban a listánkat formázni is tudjuk bizonyos mértékig.  A formázásnak két szintje van  Lista szintű formázások  Oszlop szintű formázások

Lista szintű formázások  TTITLE ["Szöveg" | ON | OFF]  Minden oldal tetején megjelenő fejlécet adhatjuk meg, kapcsolhatjuk ki és be.  BTITLE ["Szöveg" | ON | OFF]  Ugyanaz mint a TITLE csak láblécben jelenik meg.  BREAK [ON {oszlopnév |oszlopkifejezés} [ON {oszlopnév |oszlopkifejezés}]…]  Kiszűri az ismétlődő értékek megjelenését az egymást követő sorokban és sortöréssel tagolja az adatsorokat.

Lista szintű formázások (Feladat)  Állítsuk be a fejlécet, hogy a saját nevünk jelenjen meg.  Állítsuk be a láblécet, hogy a csoport kódja jelenjen meg.  Kérdezzük le az emp táblát részlegazonosítóval növekvően rendezve és egy részlegazonosítót csak egyszer írjon ki.  Kapcsoljuk ki a fej és láblécet

Lista szintű formázások (Megoldás)  TTITLE "Index Elek"  BTITLE "MM10"  BREAK ON deptno  SELECT * FROM emp ORDER BY deptno;  TTITLE OFF  BTITLE OFF

Oszlop szintű formázások COLUMN  Az oszlopok és fejlécének megjelenési formáját szabályozza.  Szintaktika:  COLUMN {oszlopnév | oszlopkifejezés} [FORMAT 'formátumaszk'] [HEADING "Szöveg"] [JUSTIFY {LEFT | CENTER | RIGHT}]  COLUMN oszlopnév {PRINT | NOPRINT | OFF |ON | CLEAR}

Oszlop szintű formázások COLUMN  [FORMAT 'formátumaszk']  Megadja az oszlopadatok megjelenési formáját Pl.: A15 azt jelenti, hogy a karaktersorozat számára 15 helyet hagyunk Dátum és szám esetén az első fejezetben a dátum ok és számok formázott megjelenítése (36-37 oldal) található parancsok használhatóak

Oszlop szintű formázások COLUMN  [HEADING "Szöveg"]  A fejlécet ezzel beállíthatjuk felülírja az alapértelmezett oszlopnevet.  Speciális karakterek esetén szükséges a szöveg.  Sortörést | karakterrel tudunk beszúrni.  [JUSTIFY {LEFT | CENTER | RIGHT}]  Az oszlopfejléc igazítása

Oszlop szintű formázások COLUMN  NOPRINT / PRINT  Elrejti az oszlopot vagy megjeleníti azt.  OFF / ON  Kikapcsolja vagy bekapcsolja az oszlop formázását  CLEAR  Formázások törlése.

Oszlop szintű formázások COLUMN (Példa)  COLUMN empno NOPRINT  COLUMN job HEADING "Munkakör" JUSTIFY RIGHT  COLUMN HIREDATE FORMAT A15 JUSTIFY left  COLUMN sal FORMAT L9999 HEADING "A dolgozó|fizetése" JUSTIFY CENTER  Az L9999 azt jelenti, hogy írja ki a helyi devizanemet  Select * from emp;

Formázások törlése  A formázásokat egyszerűen törölhetjük  CLEAR {BREAKS | COLUMNS | SCREEN} BREAKS törli a break utasítás hatását COLUMNS törli az összes oszlopformázást SCREEN a képernyőt törli

Formázások törlése (Feladat)  Töröljünk minden formázást.

Formázások törlése (Megoldás)  CLEAR BREAKS  CLEAR COLUMNS  TTITLE OFF  BTITLE OFF

Házi feladat  Listázza ki a felhasználó által megadott dolgozó azonosítóját, jövedelmét, főnökének nevét és annak jövedelmét, részlegének helyét, valamint a dolgozó jövedelembeállási értékét (vagyis a jövedelmének és a legkisebb jövedelem különbsége). Használjon másodlagos oszlopneveket és formázásokat.

Megoldás SET FEEDBACK OFF COLUMN DOLGOZÓJÖVEDELME FORMAT 9999L SET verify off ACCEPT neve Prompt 'Dolgozó neve: ' SELECT d.ename AS dolazonosító, d.sal+NVL(d.comm,0) AS DOLGOZÓJÖVEDELME, dept.loc AS részlegnév, fonok.ename AS főnökneve, fonok.sal+NVL(fonok.comm,0) AS Főnökfizetése, d.sal+NVL(d.comm,0) - (Select min(d.sal + nvl(d.comm,0)) from emp d) AS jövedelembeállás FROM emp d, emp fonok, dept WHERE d.mgr=fonok.empno AND d.deptno=dept.deptno AND UPPER(d.ename)=UPPER('&neve');

Házi feladat (2)  Listázza ki a felhasználó által a nevével megadott dolgozó azonosítóját, jövedelmét, munkakörének nevét, továbbá a munkakörében dolgozók összjövedelmét, végül pedig a dolgozó jövedelembeállási értékét (vagyis jövedelméből kivonjuk az összjövedelmet). Használjon kifejező másodlagos oszlopneveket és formázásokat.

Megoldás 2 SET VERIFY OFF COLUMN osszjovedelem FORMAT 9999L COLUMN FONOKNEV JUSTIFY CENTER ACCEPT neve PROMPT 'A dolgozó neve: ' SELECT dolgozo.empno AS Azonosító, dolgozo.sal + NVL(dolgozo.comm,0) AS jövedelem, dolgozo.job as munkakör, al.összjövedelem as osszjovedelem, fonok.ename as fonoknev, fonok. sal + nvl(fonok.comm,0) as fonokjovedelem, (dolgozo.sal + NVL(dolgozo.comm,0)) - al.összjövedelem as jövedelembeállás FROMemp dolgozo, emp fonok, (select job as munkakor, sum(sal + nvl(comm,0)) As összjövedelem from emp group by job) al WHEREal.munkakor = dolgozo.job AND UPPER(dolgozo.ename) = UPPER('&neve') AND dolgozo.mgr = fonok.empno; 