ADATBÁZIS HASZNÁLAT I. 4. gyakorlat



Hasonló dokumentumok
ORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Adatok szűrése, rendezése

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Adatbázis használat I. 5. gyakorlat

Adatbázis használat I. 2. gyakorlat

Adatbázis használat I. 2. gyakorlat

Lekérdezések az SQL SELECT utasítással

2007. február 25. TARTALOM

Adatbázis használat I. 1. gyakorlat

B I T M A N B I v: T M A N

ADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

PL/SQL feladatok 8. gyakorlat

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

MS Access Feladatgyűjtemény

Adatbázis-kezelés, információs-rendszerek

1.1. Feladat Listázza ki a 20-as részleg dolgozóinak nevét, belépési idejét, foglalkozását a nevek szerint csökkenően rendezve.

Statisztikai szoftverek Molnár Gábor József

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja:

Adatbázisok* tulajdonságai

ADATBÁZIS ALAPÚ RENDSZEREK

Feltételes formázás az Excel 2007-ben

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

2006. május 1. TARTALOM

LEKÉRDEZÉSEK SQL-BEN. A relációs algebra A SELECT utasítás Összesítés és csoportosítás Speciális feltételek

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

Oracle Példatár (SQL-PL/SQL)

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák)

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

PL/SQL (folytatás) Kurzorok, függvények, eljárások

Adatbázis rendszerek SQL nyomkövetés

Adattípusok. Max. 2GByte

CONDOR. Felhasználói Leírás

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Adattípusok. Max. 2GByte

Adatbázis Rendszerek II. 8. Gyakorló környezet

9. Entitás modulok. Nagy Gusztáv: Drupal 7 alapismeretek Fejlesztői verzió: október 6.

Adatbázisok I. Az SQL nyelv

2012. április 27. TARTALOM

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

A100F DIGITÁLIS HÚSKEMÉNYSÉGMÉRŐ KÉSZÜLÉK

Készítette: Szabóné Nacsa Rozália

INFORMATIKAI ALAPISMERETEK

A könyv tartalomjegyzéke

2012. április 13. TARTALOM

Tuplet Tool Hangjegycsoport eszköz

Java és web programozás

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Az SQL*Plus használata

El zetes Beállítások SL AUTOMATIKA KEZELÉSI ÚTMUTATÓ SL AUTOMATIKA KEZELÉSI ÚTMUTATÓ

Adatbázisok I A relációs algebra

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

INFORMATIKA. PRÓBAÉRETTSÉGI május KÖZÉPSZINT. Pontozási és javítási útmutató

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

Elemi alkalmazások fejlesztése IV.

Lekérdezések az SQL SELECT utasítással

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

Külvilági kapcsolat. UPS séma ábra, kétsoros LCD DISPLAY, 8db nyomógomb. A B C D E F G H

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

ADATBÁZISKEZELÉS ADATBÁZIS

Adatbázisok biztonsága

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

SJ5000 WIFI MENÜBEÁLLÍTÁSOK. E l e c t r o p o i n t K f t., B u d a p e s t, M e g y e r i ú t F s z. 1. Oldal 1

BEVEZETÉS Az objektum fogalma

1. FELADAT Mező neve Mező típusa Mező hossza TermékID Tényleges eladás Hónap Mező neve Mező típusa

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved.

INFORMATIKAI ALAPISMERETEK

4. Gyakorlat ellenőrzött osztályozás

INFORMATIKAI ALAPISMERETEK

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

2. Az adatbázis-kezelés alapjai

1. fejezet Microsoft Excel 2010 Tartománynevek... 3

Csoportosított adatok megjelenítése összesítı függvények használatával. Copyright 2004, Oracle. All rights reserved.

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

VÁLLALATIRÁNYÍTÁSI ÜGYVITELI PROGRAMRENDSZER. Váradi László OKTATÁSI SEGÉDANYAG. 2012/13. tanév 2. szemeszter 8. foglalkozás

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázis-kezelés. Harmadik előadás

Annak ellenére, hogy a számítógépes szövegszerkesztés az utóbbi 10 évben általánossá vált, az irodai papírfelhasználás

PL/SQL 1. rész. Procedural Language extension to SQL

NEPTUN_FDL, META. (Szűrések, dokumentáció) Budapest, 2001

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

INFORMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Bevezetés az SQL*Plus környezet, és az SQL nyelv használatába

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Java és web programozás

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Szövegszerkesztő programok: Jegyzettömb, WordPad, Microsoft Word

Több tábla összekapcsolásán alapuló lekérdezések

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

Adatbázis rendszerek tervezése

Tankönyv példák kidolgozása

Adatbázis használata PHP-ből

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Átírás:

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 www.orakulum.com www.jerry.gorextar.hu/ab1 www.gorex.gorextar.hu/ab1 www.gazdinfo.hu

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' HIDE Üzenetet jelenít meg a felhasználónak az adat megadása előtt 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 FROM emp dolgozo, emp fonok, (select job as munkakor, sum(sal + nvl(comm,0)) As összjövedelem from emp group by job) al WHERE al.munkakor = dolgozo.job AND UPPER(dolgozo.ename) = UPPER('&neve') AND dolgozo.mgr = fonok.empno;