Adatbázis Rendszerek II. 2. Gyakorló környezet 37/1 B IT v: 2017.02.11 MAN
Gyakorló környezet Géptermek 37/2
Jelszó váltás 1 2 3 4 37/3
Gyakorló környezet II. apex.oracle.com/en/ 37/4
A regisztrációs folyamat 37/5
37/6
37/7
37/8
37/9
37/10
37/11
37/12
37/13
Gyakorló környezet III. (Ha minden kötél szakad!) 1. Töltsd le a www.virtualbox.org/wiki/downloads oldalról a VirtualBox-ot, és installáld fel. 37/14
Gyakorló környezet kialakítása 2. Töltsd le a bitman.uw.hu oldalról az AB2_v5.ova fájlt, és kattints rá duplán, így létrejön a Virtuális gép a VirtualBoxban. 37/15
Gyakorló környezet kialakítása 3. Indítsd el a virtuális gépet a VirtualBoxban. 37/16
Gyakorló környezet kialakítása 4. Indítsd el az Oracle kezdőlap programot. 37/17
Gyakorló környezet kialakítása 5. Elindul az Oracle szerver (idő kell hozzá!), és megjelenik a bejelentkező oldal. A jelszó be van állítva: jelszo Jelentkezz be: Login gomb 37/18
Gyakorló környezet kialakítása 6. Indítsd el az SQL felületet. 37/19
Gyakorló környezet kialakítása 7. Indítsd el az SQL Commands felületet. 37/20
Gyakorló környezet kialakítása 9. Kész. Dolgozhatsz. 37/21
Gyakorló környezet kialakítása 10. A legfontosabb: ha azt akarod, hogy megmaradjon a végzett munkád, szabályosan kapcsold ki a virtuális gépet! 37/22
Feladatok Az anyagokban szereplő, kipróbálható, működőképes mintapéldák zöld fejlécet kaptak. Ezek zöme az auto táblával kapcsolatos. Ezért érdemes létrehozni ezt a táblát, és feltölteni adatokkal. Ahol nem az autó táblát használjuk, ott megadom a táblák szerkezetét, így azok is könnyen létrehozhatók. 37/23
1. feladat auto rsz tipus szin kor ar Hozd létre az auto táblát. Ha lenne ilyen nevű tábla, akkor előbb töröld ki! select table_name from user_tables; drop table auto; create table auto ( rsz char(6) primary key, tipus char(30), szin char(20), kor number(3), ar number(10)); 37/24
1. Feladat (folyt. 1) Töltsd fel adatokkal az auto táblát. begin insert into auto values ('ABC500', 'Opel Corsa', 'piros', 8, 800000); insert into auto values ('MCC325', 'Opel Insignia', 'fekete', 2, 6800000); insert into auto values ('BBM104', 'Suzuki Swift', 'piros', 5, 1500000); insert into auto values ('CHR411', 'Renault Twingo', 'piros', 12, 700000); insert into auto values ('JRZ932', 'BMW M3', 'fekete', 5, 4500000); insert into auto values ('JEG113', 'Opel Corsa', 'piros', 7, 900000); insert into auto values ('DER842', 'Seat Ibiza', 'szürke', 14, 500000); insert into auto values ('BAB422', 'Lada 1300S', 'fehér', 28, 220000); insert into auto values ('UFF666', 'Audi TT', 'fekete', 4, 7500000); end; 37/25
1. Feladat (folyt. 2) Kérdezd le az átlagárat! 37/26
1. Feladat (folyt. 3) Írj egy átlagárat kiíró PLSQL eljárást! create or replace procedure atlag as x auto.ar%type; begin select avg(ar) into x from auto; dbms_output.put_line(x); end; 37/27
1. Feladat (folyt. 4) Hívd meg az eljárást! begin atlag; end; 37/28
1. Feladat (folyt. 5) Kis szépítés, újra futtatás! create or replace procedure atlag as x auto.ar%type; begin select avg(ar) into x from auto; dbms_output.put_line('az autók átlagára: ' x); end; begin atlag; end; AltGr + W 37/29
1. Feladat (folyt. 6) Írj egy PLSQL függvényt, mely visszaadja egy megadott rendszámú autó színét! create or replace function r_szin (rszbe in char) return char as x auto.szin%type; begin select szin into x from auto where rsz=rszbe; return x; end; 37/30
1. Feladat (folyt. 7) Hívd meg a függvényt! Select r_szin('abc500') from dual;! Select r_szin('abc500') from dual; 37/31
Órai feladatok 1. 1. Készítsen egy ArMod nevű tárolt eljárást, mely paraméterként megkapja egy autó rendszámát, árát, és módosítja az autó árát. Írja ki, hogy OK!, ha lefutott az eljárás. Próbálja ki az eljárást. create or replace procedure ArMod (rszbe in char, arbe in number) as begin 37/32 update auto set ar = arbe where rsz=rszbe; dbms_output.put_line('ok!'); end; begin armod('abc318', 300000); end;
Órai feladatok 1. 2. Fejlessze tovább az ArMod eljárást. Ha nem létezik a kapott rendszám, írjon üzenetet a képernyőre. create or replace procedure ArMod (rszbe in char, arbe in number) as x number; begin select count(*) into x from auto where rsz=rszbe; if x < 1 then dbms_output.put_line('nem létező rendszám!'); else update auto set ar = arbe where rsz=rszbe; dbms_output.put_line('ok!'); end if; end; 37/33
Órai feladatok 2. 1. Készítsen egy Arkeres nevű tárolt függvényt, mely paraméterként megkapja egy autó rendszámát, és visszaadja az autó árát. Próbálja ki a függvényt. create or replace function ArKeres (rszbe in char) return number as viar number:= -1; begin select ar into viar from auto where rsz=rszbe; return viar; end; select ArKeres ('ABC500') from dual; 37/34
Órai feladatok 2. 2. Fejlessze tovább az Arkeres függvényt. Ha nem létezik a kapott rendszám, adjon vissza egy ilyen tartalmú üzenetet. create or replace function ArKeres (rszbe in char) return char as x number; vi char(100):='nem létező rendszám!'; begin select count(*) into x from auto where rsz=rszbe; if x >= 1 then select ar into x from auto where rsz=rszbe; vi:='az ár: ' x; end if; return vi; select ArKeres ('ABC500') from dual; B IT end; MAN 37/35
Órai feladatok 1. 1. Készítsen egy Kiir nevű tárolt eljárást, mely paraméterként megkapja egy autó rendszámát, és kiírja az autó típusát, színét, korát, árát. 2. Készítsen egy SzinDb függvényt, mely visszaadja a paraméterül kapott színű autók darabszámát. 37/36
VÉGE VÉGE 37/37