Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet 26/1 B IT v: 2018.02.21 MAN
Gyakorló környezet apex.oracle.com/en/ 26/2
A regisztrációs folyamat 26/3
26/4
26/5
26/6
26/7
26/8
26/9
26/10
26/11
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. 26/12
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)); 26/13
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; 26/14
1. Feladat (folyt. 2) Kérdezd le az átlagárat! 26/15
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; 26/16
1. Feladat (folyt. 4) Hívd meg az eljárást! begin atlag; end; 26/17
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 26/18
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; 26/19
1. Feladat (folyt. 7) Hívd meg a függvényt! Select r_szin('abc500') from dual;! Select r_szin('abc500') from dual; 26/20
Ó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 26/21 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; 26/22
Ó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; 26/23
Ó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 26/24
Ó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. 26/25
VÉGE VÉGE 26/26