2012. április 27. TARTALOM
|
|
- Antal Gál
- 9 évvel ezelőtt
- Látták:
Átírás
1 KENDE MÁRIA - NAGY ISTVÁN PL/SQL FELADATGYŰJTEMÉNY TARTALOM 9. Foglalkozás Hivatkozási és összetett adattípusok, kurzor, ROWID Foglalkozás Összefoglaló feladatok Melléklet Dinamikus SQL Irodalom április 27. #13_PL-SQL Feladatgyűjtemény (07) - 1 -
2 9. Foglalkozás Hivatkozási és összetett adattípusok, kurzor, ROWID Részletesebben lásd [2]: 9. fejezet, FELADATGYŰJTEMÉNY 9.1. Feladat Írjon egy olyan PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát, és minden dolgozó fizetését megemeli a saját fizetésének véletlenszám (0-100) értékű százalékával Feladat Írjon PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát, és megnöveli a felhasználó által megadott azonosítójú főnök minden beosztottjának fizetését azok átlagfizetésének 10%-val Feladat Írjon PL/SQL programot, mely az emp táblából létrehoz egy dolgozó táblát, és megnöveli a felhasználó által megadott nevű főnök minden beosztottjának fizetését azok átlagfizetésének 10%-val Feladat Írjon egy PL/SQL szkript programot az alábbi feladatok megoldására: Hozzon létre egy dolgozó nevű táblát az emp táblának a felhasználó által megadott telephelyű (loc) dolgozóiból, változtassa meg az mgr oszlop nevét partner névre, törölje a tartalmát, és töltse fel az alábbi módon értékkel: Két dolgozó partnere lehet egymásnak, ha még egyiküknek sincs partnere, és a felhasználó által megadott értéknél nem több a fizetésük különbsége. A partnerek azonosítói szerepeljenek egymás partner oszlopában. (Senki önmagának nem lehet partnere, és a partnerség szimmetrikus tulajdonság, azaz ha A partnere B, akkor B partnere A.) Ellenőrizze a megoldást új dolgozó felvitelével, és a partnerkeresés megismétlésével. TOVÁBBI FELADATOK T9.5. Feladat Írjon egy olyan PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát és bővíti egy nyeremény oszloppal. A nyeremény a beosztottak számára a főnökök átlagfizetésének véletlenszerű százaléka (0-50), a főnököknek pedig a beosztottak összfizetésének véletlenszerű százaléka (10-50). Listázza a dolgozó táblát a nyereményhúzás előtt és után is. T9.6. Feladat Írjon egy olyan PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát és bővíti egy pár nevű oszloppal. Ezt az oszlopot töltse fel az oooo karaktersorozattal. Egy kereső dolgozó partnere az, aki ugyanabban a munkakörben dolgozik és páros hónapban lépett be. Írja be kereső pár oszlopába a megtalált partner nevét, illetve a partner pár oszlopába a kereső nevét. Egy partner csak egyszer fordulhat elő. #13_PL-SQL Feladatgyűjtemény (07) - 2 -
3 MEGOLDÁSGYŰJTEMÉNY 9.1. Feladat Írjon egy olyan PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát, és minden dolgozó fizetését megemeli a saját fizetésének véletlenszám (0-100) értékű százalékával. Megoldás 1. A tábla létrehozása SET numwidth 5 DROP TABLE dolgozó; CREATE TABLE dolgozó AS SELECT * FROM emp; SELECT * ; SET serveroutput ON DECLARE szorzo NUMBER; CURSOR dolgozo IS SELECT empno,sal ; BEGIN FOR i IN dolgozo LOOP szorzo := ROUND(DBMS_RANDOM.VALUE(0,100)/100,2); DBMS_OUTPUT.PUT_LINE('A szorzó értéke: ' szorzo ' 'emelés értéke:' (i.sal * szorzo)); SET sal = sal + (sal * szorzo) WHERE empno = i.empno; END LOOP; END; / ' SELECT * ; SET numwidth 10 Eredmény A tábla eldobva. A tábla létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK DEC ALLEN SALESMAN FEB WARD SALESMAN FEB JONES MANAGER ÁPR MARTIN SALESMAN SZE BLAKE MANAGER MÁJ CLARK MANAGER JÚN SCOTT ANALYST ÁPR KING PRESIDENT 81-NOV TURNER SALESMAN SZE ADAMS CLERK MÁJ JAMES CLERK DEC #13_PL-SQL Feladatgyűjtemény (07) - 3 -
4 7902 FORD ANALYST DEC MILLER CLERK JAN sor kijelölve. A szorzó értéke:,71 A szorzó értéke:,28 A szorzó értéke:,71 A szorzó értéke:,34 A szorzó értéke:,12 A szorzó értéke:,99 A szorzó értéke:,66 A szorzó értéke:,65 A szorzó értéke:,54 A szorzó értéke:,95 A szorzó értéke:,7 A szorzó értéke:,48 A szorzó értéke:,76 A szorzó értéke:,37 emelés értéke:568 emelés értéke:448 emelés értéke:887,5 emelés értéke:1011,5 emelés értéke:150 emelés értéke:2821,5 emelés értéke:1617 emelés értéke:1950 emelés értéke:2700 emelés értéke:1425 emelés értéke:1783,6 emelés értéke:456 emelés értéke:2280 emelés értéke:481 A PL/SQL eljárás sikeresen befejeződött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve Feladat Írjon PL/SQL programot, amely az emp táblából létrehoz egy dolgozó táblát, és megnöveli a felhasználó által megadott azonosítójú főnök minden beosztottjának fizetését azok átlagfizetésének 10%-val. Megoldás SET numwidth 5 SET serveroutput ON ACCEPT azonositó PROMPT 'Kérem a főnök azonosítóját: ' DROP TABLE dolgozó; CREATE TABLE dolgozó AS SELECT * FROM emp; SELECT * ; CREATE OR REPLACE VIEW megadott(dempno,dname,djob,dmgr,dhiredate, dsal,dcomm,ddeptno, átlag) AS SELECT dolgozó.*, átlag, (SELECT ROUND(AVG(sal)) AS átlag, mgr AS azon GROUP BY mgr HAVING mgr = &azonositó) al #13_PL-SQL Feladatgyűjtemény (07) - 4 -
5 WHERE al.azon = dolgozó.mgr; SELECT * FROM megadott; BEGIN SET sal = sal * (SELECT DISTINCT átlag FROM megadott) WHERE mgr = (SELECT DISTINCT dmgr FROM megadott); END; / SELECT * ; SET numwidth 10 Eredmény Kérem a főnök azonosítóját: 7698 A tábla eldobva. A tábla létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve. régi 9: HAVING mgr = &azonositó) al új 9: HAVING mgr = 7698) al A nézet létrejött. DEMPNO DNAME DJOB DMGR DHIREDATE DSAL DCOMM DDEPTNO ÁTLAG ALLEN SALESMAN WARD SALESMAN MARTIN SALESMAN TURNER SALESMAN JAMES CLERK sor kijelölve. 5 sor módosítva. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER #13_PL-SQL Feladatgyűjtemény (07) - 5 -
6 7782 CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve Feladat Írjon PL/SQL programot, mely az emp táblából létrehoz egy dolgozó táblát, és megnöveli a felhasználó által megadott nevű főnök minden beosztottjának fizetését azok átlagfizetésének 10%-val. Megoldás1 SET numwidth 5; BREAK ON mgr DROP TABLE dolgozó; CREATE TABLE dolgozó AS SELECT * FROM emp; SELECT * ; Eredmény A tábla eldobva. A tábla létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve. 1. Lépés. Hozzunk létre egy nézetet a beosztottak átlagának kiszámítására. CREATE OR REPLACE VIEW beoátlag AS SELECT mgr, ROUND(AVG(sal)) AS átlag WHERE mgr IS NOT NULL GROUP BY mgr; SELECT * FROM beoátlag; Eredmény A nézet létrejött. #13_PL-SQL Feladatgyűjtemény (07) - 6 -
7 MGR ÁTLAG sor kijelölve. 2. Lépés. Nézet létrehozása a dolgozó, főnök adataival és az átlaggal együtt. CREATE OR REPLACE VIEW BEOSZT AS SELECT d.empno AS dazon, d.ename AS dnév, f.empno AS fazon, f.ename AS fnév, átlag d, dolgozó f, Beoátlag beo WHERE d.mgr = f.empno(+) AND f.empno = beo.mgr; SELECT * FROM beoszt; Eredmény A nézet létrejött. DAZON DNÉV FAZON FNÉV ÁTLAG SCOTT 7566 JONES FORD 7566 JONES ALLEN 7698 BLAKE WARD 7698 BLAKE MARTIN 7698 BLAKE TURNER 7698 BLAKE JAMES 7698 BLAKE MILLER 7782 CLARK ADAMS 7788 SCOTT JONES 7839 KING BLAKE 7839 KING CLARK 7839 KING SMITH 7902 FORD sor kijelölve. 2. Lépés. Írjuk meg a növelést mindazoknak, akik a felhasználó által megadott főnök beosztottai, és listázzuk főnökazonosító szerint rendezve. ACCEPT név PROMPT 'Kérem a főnök nevét: ' BEGIN SET sal = sal * (SELECT DISTINCT átlag FROM beoszt WHERE UPPER(fnév) = UPPER('&név')) WHERE dolgozó.mgr IN (SELECT fazon FROM beoszt WHERE UPPER(fnév) = UPPER('&név')); END; / SELECT * ORDER BY mgr; SET numwidth 10 CLEAR BREAKS #13_PL-SQL Feladatgyűjtemény (07) - 7 -
8 Eredmény Kérem a főnök nevét: blake régi 6: WHERE UPPER(fnév) = UPPER('&név')) új 6: WHERE UPPER(fnév) = UPPER('blake')) régi 9: WHERE UPPER(fnév) = UPPER('&név')); új 9: WHERE UPPER(fnév) = UPPER('blake')); A PL/SQL eljárás sikeresen befejeződött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SCOTT ANALYST FORD ANALYST ALLEN SALESMAN WARD SALESMAN JAMES CLERK TURNER SALESMAN MARTIN SALESMAN MILLER CLERK ADAMS CLERK JONES MANAGER CLARK MANAGER BLAKE MANAGER SMITH CLERK KING PRESIDENT sor kijelölve. Megoldás2 SET numwidth 5 ACCEPT név PROMPT 'Kérem a főnök nevét: ' DROP TABLE dolgozó; CREATE TABLE dolgozó AS SELECT * FROM emp; SELECT * ; CREATE OR REPLACE VIEW megadott(dempno,dname,djob,dmgr,dhiredate,dsal,dcomm,ddeptno,átlag) AS SELECT dolgozó.*, átlag, (SELECT ROUND(AVG(sal)) AS átlag, mgr AS azon GROUP BY mgr) al WHERE al.azon = dolgozó.mgr; SELECT * FROM megadott; CREATE OR REPLACE VIEW fönöknév(azon,fnév) AS SELECT DISTINCT főnök.empno, főnök.ename FROM emp dolg, emp főnök WHERE dolg.mgr = főnök.empno(+); SELECT * FROM fönöknév; CREATE OR REPLACE VIEW jo(fnév,azonos,dnév,átlag) AS SELECT fnév, dempno, dname, #13_PL-SQL Feladatgyűjtemény (07) - 8 -
9 átlag FROM fönöknév, megadott WHERE UPPER(fnév) = UPPER('&név') AND azon = dmgr; SELECT * FROM jo; CREATE OR REPLACE VIEW növ(emeles) AS SELECT DISTINCT 0.1*átlag FROM jo; SELECT * FROM növ; BEGIN SET sal = sal + (SELECT emeles FROM növ) WHERE empno = (SELECT azonos FROM jo WHERE dolgozó.ename = dnév); END; / SELECT * ; Eredmény Kérem a főnök nevét: blake A tábla eldobva. A tábla létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve. A nézet létrejött. DEMPNO DNAME DJOB DMGR DHIREDATE DSAL DCOMM DDEPTNO ÁTLAG FORD ANALYST SCOTT ANALYST JAMES CLERK TURNER SALESMAN MARTIN SALESMAN WARD SALESMAN ALLEN SALESMAN MILLER CLERK ADAMS CLERK CLARK MANAGER BLAKE MANAGER JONES MANAGER SMITH CLERK sor kijelölve. #13_PL-SQL Feladatgyűjtemény (07) - 9 -
10 A nézet létrejött. régi 6: WHERE UPPER(fnév) =UPPER('&név') AND új 6: WHERE UPPER(fnév) =UPPER('blake') AND A nézet létrejött. FNÉV AZONOS DNÉV ÁTLAG BLAKE 7499 ALLEN 1310 BLAKE 7521 WARD 1310 BLAKE 7654 MARTIN 1310 BLAKE 7844 TURNER 1310 BLAKE 7900 JAMES sor kijelölve. A nézet létrejött. A PL/SQL eljárás sikeresen befejeződött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN BLAKE MANAGER CLARK MANAGER SCOTT ANALYST KING PRESIDENT TURNER SALESMAN ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK sor kijelölve Feladat Írjon egy PL/SQL szkript programot az alábbi feladatok megoldására: Hozzon létre egy dolgozó nevű táblát az emp táblának a felhasználó által megadott telephelyű (loc) dolgozóiból, változtassa meg az mgr oszlop nevét partner névre, törölje a tartalmát, és töltse fel az alábbi módon értékkel: Két dolgozó partnere lehet egymásnak, ha még egyiküknek sincs partnere, és a felhasználó által megadott értéknél nem több a fizetésük különbsége. A partnerek azonosítói szerepeljenek egymás partner oszlopában. (Senki önmagának nem lehet partnere, és a partnerség szimmetrikus tulajdonság, azaz ha A partnere B, akkor B partnere A.) Ellenőrizze a megoldást új dolgozó felvitelével, és a partnerkeresés megismétlésével. 1. Megoldás (Explicit Kurzorral) Pari1.sql -- MEGOLDÁS (Explicit Kurzorral) SET serveroutput ON ACCEPT th PROMPT 'Telephely: ' ACCEPT fizk PROMPT 'FizetésKülönbség: ' #13_PL-SQL Feladatgyűjtemény (07)
11 DROP TABLE dolgozo; CREATE TABLE dolgozo AS SELECT * FROM emp WHERE deptno IN (SELECT deptno FROM dept WHERE loc = UPPER('&th')); ALTER TABLE dolgozo RENAME COLUMN mgr TO partner; UPDATE dolgozo SET partner = NULL; SELECT * FROM dolgozo; DECLARE CURSOR KurzorA IS SELECT * FROM dolgozo FOR UPDATE; CURSOR KurzorB IS SELECT * FROM dolgozo FOR UPDATE; AR dolgozo%rowtype; BR dolgozo%rowtype; FK emp.sal%type; BEGIN FK := &fizk; OPEN KurzorA; LOOP FETCH KurzorA INTO AR; EXIT WHEN KurzorA%NOTFOUND; SELECT partner INTO AR.partner FROM dolgozo WHERE dolgozo.empno=ar.empno; IF AR.partner IS NULL THEN OPEN KurzorB; LOOP FETCH KurzorB INTO BR; EXIT WHEN KurzorB%NOTFOUND; SELECT partner INTO BR.partner FROM dolgozo WHERE dolgozo.empno=br.empno; IF (BR.partner IS NULL) AND (BR.empno!= AR.empno) AND (ABS(AR.sal-BR.sal) <= FK) THEN DBMS_OUTPUT.PUT_LINE(AR.empno); DBMS_OUTPUT.PUT_LINE(BR.empno); UPDATE dolgozo SET partner = AR.empno WHERE CURRENT OF KurzorB; UPDATE dolgozo SET partner = BR.empno WHERE CURRENT OF KurzorA; DBMS_OUTPUT.PUT_LINE(' '); #13_PL-SQL Feladatgyűjtemény (07)
12 END; / EXIT; END IF; END LOOP; CLOSE KurzorB; END IF; END LOOP; CLOSE KurzorA; SELECT * FROM dolgozo; Megoldás (Implicit Kurzorral) Pari2.sql -- MEGOLDÁS (Implicit Kurzorral) SET serveroutput ON ACCEPT th PROMPT 'Telephely: ' ACCEPT fizk PROMPT 'FizetésKülönbség: ' DROP TABLE dolgozo; CREATE TABLE dolgozo AS SELECT * FROM emp WHERE deptno IN (SELECT deptno FROM dept WHERE loc = UPPER('&th')); ALTER TABLE dolgozo RENAME COLUMN mgr TO partner; UPDATE dolgozo SET partner = NULL; SELECT * FROM dolgozo; DECLARE FK emp.sal%type; BEGIN FK := &fizk; FOR AR IN (SELECT * FROM dolgozo) LOOP SELECT partner INTO AR.partner FROM dolgozo WHERE dolgozo.empno=ar.empno; IF AR.partner IS NULL THEN FOR BR IN (SELECT * FROM dolgozo) LOOP SELECT partner INTO BR.partner FROM dolgozo WHERE dolgozo.empno=br.empno; IF (BR.partner IS NULL) AND #13_PL-SQL Feladatgyűjtemény (07)
13 END; / (BR.empno!= AR.empno) AND (ABS(AR.sal-BR.sal) <= FK) THEN DBMS_OUTPUT.PUT_LINE(AR.empno); DBMS_OUTPUT.PUT_LINE(BR.empno); UPDATE dolgozo SET partner = AR.empno WHERE dolgozo.empno=br.empno; UPDATE dolgozo SET partner = BR.empno WHERE dolgozo.empno=ar.empno; DBMS_OUTPUT.PUT_LINE(' '); EXIT; END IF; END LOOP; END IF; END LOOP; SELECT * FROM dolgozo; Futási eredmény (mindkét esetben) Telephely: dallas FizetésKülönbség: 1000 A tábla eldobva. régi 6: WHERE loc = UPPER('&th')) új 6: WHERE loc = UPPER('dallas')) A tábla létrejött. A tábla módosítva. 5 sor módosítva. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO JONES MANAGER FORD ANALYST SMITH CLERK SCOTT ANALYST ADAMS CLERK sor kijelölve. régi 12: FK := &fizk; új 12: FK := 1000; #13_PL-SQL Feladatgyűjtemény (07)
14 A PL/SQL eljárás sikeresen befejeződött. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO JONES MANAGER FORD ANALYST SMITH CLERK SCOTT ANALYST ADAMS CLERK sor kijelölve. #13_PL-SQL Feladatgyűjtemény (07)
15 10. Foglalkozás Összefoglaló Feladatok Részletesebben lásd [2]: 9., és 10. fejezet FELADATGYŰJTEMÉNY Feladat Hozzon létre egy dolgozó nevű táblát az emp tábla eladóiból (salesman), és változtassa meg az mgr oszlop nevét partner névre, melyet az alábbi módon töltsön fel értékkel: Két dolgozó partnere lehet egymásnak, ha még egyiküknek sincs partnere, és 150 USD-nél nem több a fizetésük különbsége. A partnerek azonosítói szerepeljenek egymás partner oszlopában. Ellenőrizze a megoldást új dolgozó felvitelével, és a partnerkeresés megismétlésével Feladat Hozzon létre egy dolgozó nevű táblát az emp tábla rekordjaiból, és bővítse egy partner nevű oszloppal, melynek típusa egyezzen meg az ename oszlop típusával. Készítsen egy SQL*Plus programba ágyazott PL/SQL blokkot, amely megkisérli a dolgozókat párosítani az alábbi szempontok alapján: - minden dolgozó táblabeli dolgozó partnere csak dolgozó táblabeli dolgozó lehet, - önmagának senki nem lehet partnere, - mindenki legfeljebb egy valakinek lehet partnere, - két dolgozó partnere lehet egymásnak, ha ugyanaz a főnökük és megegyezik a munkakörük Feladat 3.1. Hozzon létre egy dolgozó nevű táblát az emp tábla rekordjaiból Készítsen triggert a dolgozó táblába történő ellenőrzött adatbevitelhez, ahol az alábbi adatbeviteli feltételeket a trigger által meghívott tárolt alprogramokban vizsgálja meg: a.) Részleg feltétel: Egy új dolgozó részlegeként csak már létező részleg azonosítója adható meg. b.) Fizetési feltétel: Egy új dolgozó fizetésként a részlegében és vele azonos munkakörben dolgozók átlagfizetésének legalább a 3/4-ét kapja, ha a részlegében nincs vele azonos munkakörű, akkor a részlegében dolgozók átlagfizetésének 2/3-ánál legalább 300 USD-vel többet, ha pedig a részlegében ő az első dolgozó, akkor legalább 2000 USD-t A trigger és a tárolt eljárások ellenőrzése érdekében végezze el a szükséges adatfelviteleket Az elkészített megoldás a tárolandó dolgozó nevét írja vissza a képernyőre, és sikeres adatfelvitel esetén írja ki a dolgozó nevét, majd az "OK!" üzenetet, míg sikertelen adatfelvitel esetén a "HIBA:" üzenetet, és a sikertelenség okát Utolsó lépésként listázza a dolgozó táblát, majd állítsa vissza az eredeti táblatartalmat. #13_PL-SQL Feladatgyűjtemény (07)
16 MEGOLDÁSGYŰJTEMÉNY Feladat Hozzon létre egy dolgozó nevű táblát az emp tábla eladóiból (salesman), és változtassa meg az mgr oszlop nevét partner névre, melyet az alábbi módon töltsön fel értékkel: Két dolgozó partnere lehet egymásnak, ha még egyiküknek sincs partnere, és 150 USD-nél nem több a fizetésük különbsége. A partnerek azonosítói szerepeljenek egymás partner oszlopában. Ellenőrizze a megoldást új dolgozó felvitelével, és a partnerkeresés megismétlésével. A. Megoldás (Megoldási próbálkozás SQL-ben) 0. lépés (Az SQL*Plus környezet inicializálása) -- Az emp tábla inicializálása (ezúttal elhagyjuk) -- Feltételezve, hogy az INIT1.sql a BIN könyvtárban van -- A dátum és megjelenítés inicializálása ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'; SET numwidth 5 -- Az esetlegesen létező azonos nevű objektumok törlése DROP VIEW dolgozó; DROP TABLE dolgozó; A munkamenet módosítva. ORA-00942: a tábla vagy a nézet nem létezik ORA-00942: a tábla vagy a nézet nem létezik 1. lépés (Konzisztens adattábla létrehozása) CREATE OR REPLACE VIEW DolgozóNézet AS SELECT * FROM emp WHERE LOWER(job) = 'salesman'; SELECT * FROM DolgozóNézet; DROP TABLE dolgozó; CREATE TABLE dolgozó AS SELECT empno, ename, job, CASE WHEN mgr IN (SELECT empno FROM DolgozóNézet) THEN mgr ELSE NULL END AS mgr, hiredate, sal, comm, deptno FROM DolgozóNézet; DROP VIEW DolgozóNézet; SELECT * ; A nézet létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN A tábla létrejött. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO #13_PL-SQL Feladatgyűjtemény (07)
17 MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN lépés (Oszlopmódosítás és adattörlés) ALTER TABLE dolgozó RENAME COLUMN mgr TO partner; -- A partner mező ezúttal az alábbi törlés nélkül is üres SET partner = NULL; SELECT * ; A tábla módosítva. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN lépés (Adatfeltöltés) -- Partnerkereső segédnézet létrehozása CREATE OR REPLACE VIEW PartnerKeresés(DolgozóID,DolgozóFiz, PartnerID,PartnerFiz) AS SELECT D.empno AS DolgozóID, D.sal AS DolgozóFiz, P.empno AS PartnerID, P.sal AS PartnerFiz D, dolgozó P WHERE ABS(D.sal - P.sal) <= 150 AND D.empno!= P.empno; SELECT * FROM PartnerKeresés; A nézet létrejött. DOLGOZÓID DOLGOZÓFIZ PARTNERID PARTNERFIZ Adatmódosítás SET partner = (SELECT PartnerID FROM PartnerKeresés WHERE DolgozóID = empno); SELECT * ; 4 sor módosítva. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN lépés (Ellenőrzés rekordfelvitellel) INSERT INTO dolgozó VALUES(6666,'SIGORSZKI','SALESMAN',NULL,' ',1250,NULL,30); 1 sor létrejött. #13_PL-SQL Feladatgyűjtemény (07)
18 SET partner = (SELECT PartnerID FROM PartnerKeresés WHERE DolgozóID = empno); SET partner = (SELECT PartnerID * Hiba a(z) 2. sorban: ORA-01427: egysoros allekérdezés egynél több sorral tér vissza >> HIBÁS az adatmódosítás! >> Derítsük ki a hiba okát, és készítsünk jó adatmódosító utasítást SELECT * FROM PartnerKeresés; DOLGOZÓID DOLGOZÓFIZ PARTNERID PARTNERFIZ sor kijelölve. >> A HIBA oka, hogy egy dolgozónak több partnere is lehet a fizetés feltétel szerint SELECT MaxPartnerID FROM (SELECT DolgozóID, MAX(PartnerID) AS MaxPartnerID FROM PartnerKeresés GROUP BY DolgozóID) WHERE DolgozóID = 7654; MAXPARTNERID >> Így minden dolgozó a legnagyobb azonosítójú (a fizetésre vonatkozó feltételt teljesítő) >> dolgozót kapja partnerként. >> (Ez egy módszer arra, hogy kijelöljünk egyet a lehetséges elemek közül, >> de ilyen módszer nem mindig található!) -- ÚJABB PRÓBÁLKOZÁS -- A partner mező inicializálása SET partner = NULL; -- A partner mező beállítása (feltöltése) SET partner = (SELECT MaxPartnerID FROM (SELECT DolgozóID, MAX(PartnerID) AS MaxPartnerID FROM PartnerKeresés GROUP BY DolgozóID) WHERE DolgozóID = empno); SELECT * ; 5 sor módosítva. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN SIGORSZKI SALESMAN #13_PL-SQL Feladatgyűjtemény (07)
19 >> Még mindig HIBÁS az adatmódosítás! >> A HIBA oka, hogy a legnagyobb azonosítójú dolgozót többen is tudják választani. >> Ezt úgy küszöböljük ki, hogy mielőtt egy dolgozó-azonosítót partnerkódként kiosztunk, >> megvizsgáljuk, hogy azt nem kapta-e már meg valaki. >> (Ezt algebrailag felírva: {a} B {a} \ B, ahol {a} a vizsgálandó dolgozó-azonosító, >> vagyis a "(SELECT MaxPartnerID..." utasításrész, amelyik bár csak egyetlen elemet ad ki, >> azért mégis csak halmaz, hiszen lista.) -- ÚJABB PRÓBÁLKOZÁS A partner mező inicializálása SET partner = NULL; -- A partner mező beállítása (feltöltése) SET partner = (SELECT MaxPartnerID FROM (SELECT DolgozóID, MAX(PartnerID) AS MaxPartnerID FROM PartnerKeresés GROUP BY DolgozóID) WHERE DolgozóID = empno) WHERE NOT EXISTS (SELECT MaxPartnerID FROM (SELECT DolgozóID, MAX(PartnerID) AS MaxPartnerID FROM PartnerKeresés GROUP BY DolgozóID) WHERE DolgozóID = empno MINUS SELECT partner ); SELECT * ; 0 sor módosítva. EMPNO ENAME JOB PARTNER HIREDATE SAL COMM DEPTNO MARTIN SALESMAN ALLEN SALESMAN TURNER SALESMAN WARD SALESMAN SIGORSZKI SALESMAN >> Még mindig HIBÁS az adatmódosítás! >> Mi lehet a HIBA oka, hiszen ez az adatmódosítás már igazán mindent figyelembe vesz? >>???? (Ötletek küldhetők az oktat123@fre címre.) #13_PL-SQL Feladatgyűjtemény (07)
20 B. Megoldás (Megoldás PL/SQL-ben Rejtett kurzorral és ROWID-val) 1. lépés (Konzisztens adattábla létrehozása) ugyanaz, mint az A. Megoldásban a 0. és az 1. lépés (lásd ott a szükséges SQL-utasításokat, illetve a DataLoad_A.sql szkript programot) 2. lépés (Oszlopmódosítás, rekordhozzáadás) ugyanaz, mint az A. Megoldásban a 2. és a 3. lépés (lásd ott a szükséges SQL-utasításokat, illetve a DataLoad_A.sql szkript programot) 3. lépés (Adatfeltöltés - ROWID használattal) -- DataLoad_B.sql Adatfeltöltés rejtett kurzorral és ROWID használattal (Értelmezését lásd a 12_KurzorHasználat.doc szkriptben) Utolsó javítás dátuma: SET serveroutput ON DECLARE v_egyik dolgozó.partner%type; v_másik dolgozó.partner%type; BEGIN -- A dolgozó tábla inicializálása SET partner = NULL; -- A fejléc kiíratása DBMS_OUTPUT.PUT_LINE('DOLGOZÓ ' 'Fizetése ' 'PARTNER ' 'Fizetése'); DBMS_OUTPUT.PUT_LINE('==================================='); -- A külső ciklus (végigmegy az összes dolgozó rekordján) FOR EgyikDolgozó IN (SELECT dolgozó.*, ROWID AS RecID ) LOOP -- A partner azonosító lekérdezése a külső ciklus számára: SELECT partner INTO v_egyik WHERE ROWID = EgyikDolgozó.RecID; -- A belső ciklus (ez is végigmegy az összes dolgozó rekordján) FOR MásikDolgozó IN (SELECT dolgozó.*, ROWID AS RecID ) LOOP -- A partner azonosító lekérdezése a belső ciklus számára: SELECT partner INTO v_másik WHERE ROWID = MásikDolgozó.RecID; -- Ha a külső ciklus aktuális dolgozójának fizetése -- és a belső ciklus aktuális dolgozójának fizetése -- között a különbség nem több 150 USD-nél, -- és a két dolgozó nem azonos, -- és egyiknek sincs még partnere, #13_PL-SQL Feladatgyűjtemény (07)
2006. május 1. TARTALOM
KENDE MÁRIA - NAGY ISTVÁN PL/SQL FELADATGYŰJTEMÉNY TARTALOM 9. Foglalkozás Hivatkozási és összetett adattípusok, kurzor, ROWID... 2 10. Foglalkozás Összefoglaló feladatok... 11 Melléklet Dinamikus SQL...
RészletesebbenAdatbázis használat I. 2. gyakorlat
Adatbázis használat I. 2. gyakorlat Tudnivalók Oracle 10g a weben: http://www.oracle.com/technetwork/databa se/database10g/downloads/index.html FF kiírásokat legkésőbb a jövő hétre hozni! 2011. 02. 15.
RészletesebbenPL/SQL (folytatás) Kurzorok, függvények, eljárások
PL/SQL (folytatás) Kurzorok, függvények, eljárások Kurzorok Adattábla soronkénti feldolgozására szolgál A memóriában egy munkaterületen tárolódik a kurzorhoz tartozó tábla A kurzor az eredményhalmazban
RészletesebbenADATBÁZIS HASZNÁLAT I. 4. gyakorlat
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!
RészletesebbenAdatbázis használat I. 2. gyakorlat
Adatbázis használat I. 2. gyakorlat Tudnivalók Oracle 10g a weben: http://www.oracle.com/technetwork/database/ database10g/downloads/index.html Egyéb letöltési lehetőség: http://jerry.gorextar.hu/ab1/oracle/
Részletesebben2007. február 25. TARTALOM
KENDE MÁRIA - NAGY ISTVÁN ANALITIKUS SQL FELADATGYŰJTEMÉNY TARTALOM 9. Foglalkozás Részletező csoportosítások... 2 10. Foglalkozás Analitikus függvények... 5 Melléklet A ROW_NUMBER szintaktikája... 10
RészletesebbenAdatbázis használat I. 5. gyakorlat
Adatbázis használat I. 5. gyakorlat Tudnivalók Jövő hétre a normalizálást hozni vagy e- mailben beküldeni! 7. héten (= két hét múlva!) nagyzh + FF checkpoint: adattáblák feltöltése, megszorítások 2010.
RészletesebbenOracle Példatár (SQL-PL/SQL)
KENDE MÁRIA NAGY ISTVÁN Oracle Példatár (SQL-PL/SQL) (FELADATGYŰJTEMÉNY) PANEM Tartalomjegyzék KENDE MÁRIA NAGY ISTVÁN...1 Oracle Példatár (SQL-PL/SQL)...1 PANEM...1 Tartalomjegyzék...2 1. fejezet...4
RészletesebbenCsomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)
Csomagok Csomag Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll specifikáció törzs (opcionális) Csomagspecifikáció CREATE [OR REPLACE] PACKAGE csomagnév [AUTHID {DEFINER CURRENT_USER}]
RészletesebbenPL/SQL feladatok 8. gyakorlat
1. feladat PLSQL feladatok 8. gyakorlat Változóhasználat (I. az SQL*Plus felhasználói változói, II. az SQL*Plus környezeti változói, III. a PLSQL (belsõþ) változói). Az adatok képernyõþre való kiíratása
Részletesebben1.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.
SELECT * ; SELECT * FROM dept; 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. SELECT ename, hiredate, job WHERE deptno=20
RészletesebbenTranzakciókezelés PL/SQL-ben
Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első
RészletesebbenSQL*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
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 Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:
RészletesebbenB IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:
B IT MAN 65/1 Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN v: 2016.02.27 Ellenőrző kérdések 1. B IT MAN 65/2 1. Egy bemenő paraméter nélküli tárolt rutin visszaad egy értéket. Ez a rutin:
RészletesebbenHaladó DBMS ismeretek 1
Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István
RészletesebbenPL/SQL 1. rész. Procedural Language extension to SQL
PL/SQL 1. rész Procedural Language extension to SQL utasítást ; zárja le PL/SQL blokk lezárása: / Szintaxis kis- és nagybetű egyenértékű (az utasításokban a kulcsszavakat szoktuk nagybetűvel írni, de nem
RészletesebbenKENDE MÁRIA NAGY ISTVÁN: Oracle Példatár(SQL-PL/SQL) Házi feladatok a 3.gyakorlathoz: 1. fejezet: Egyszerű lekérdezések
KENDE MÁRIA NAGY ISTVÁN: Oracle Példatár(SQL-PL/SQL) Házi feladatok a 3.gyakorlathoz: 1. fejezet: Egyszerű lekérdezések 1.1. Feladat Listázza ki a 20-as részleg dolgozóinak nevét, belépési idejét, foglalkozását
RészletesebbenSELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP
SELECT * FROM emp; SELECT ename FROM emp; (projekció) SELECT ename FROM emp WHERE ename='jones'; (szelekció) ------------------------------------------ SELECT DISTINCT deptno FROM emp; (distinct) --------------------------------
RészletesebbenA trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja:
ORACLE TRIGGEREK A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja: CREATE [OR REPLACE] TRIGGER név { BEFORE AFTER INSTEAD OF } { DELETE INSERT UPDATE [OF oszlopok]
RészletesebbenAdatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN
Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN B IT v: 2016.03.03 MAN Csomagok A DBMS csomagok a PL/SQL alkalmazások fejlesztését segítik, bennük tároljuk a létrehozott programok kódjait. A specifikációs
Részletesebben2012. április 13. TARTALOM
KENDE MÁRIA - NAGY ISTVÁN SQL BEVEZETŐ FELADATGYŰJTEMÉNY TARTALOM Előszó... 2 Megjegyzés... 2 0. Foglalkozás Adatbázis tervezés... 3 1. Foglalkozás Az SQL használatának alapjai, Egyszerű lekérdezések...
RészletesebbenB I T M A N B I v: T 2015.03.01 M A N
Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs
RészletesebbenAdatbázis Rendszerek II. 2. Ea: Gyakorló környezet
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
RészletesebbenKalmár György Adatbázis alapú rendszerek
Kalmár György Adatbázis alapú rendszerek Oracle-ben az SQL utasítások feldolgozásához szükség van egy ún. kontextus memóriára, amely az összes lényeges információt tárolja egy utasítás végrehajtásához.
RészletesebbenAdatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I 1 SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés
Részletesebben8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:
8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző
RészletesebbenKilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos
PASzSz Kilencedik témakör: Lazarus-Firebird Készítette: Dr. Kotsis Domokos Az SQLdb fülön IBConnection Kapcsolat A Data Access fülön Az SQLdb fülön... Select 1. Az SQLQuery lezárása. (Active := false,
RészletesebbenAdatbázis Rendszerek II. 2. Gyakorló környezet
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
RészletesebbenSQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére
SQL PÉLDATÁR készült a PTE TTK Iskolai informatika III. kurzus teljesítésére PTE TTK Czimmermann Gergely MA matematika informatika tanár szakos hallgató 2017 Tartalomjegyzék 1. Adatleíró műveletek... 3
RészletesebbenGyakorlá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.
Adatbázis létrehozása Adatleíró műveletek CREATE DATABASE "tan1" WITH ENCODING= LATIN2 ; vagy parancssorból a terminál alatt $ createdb tan1 E=latin2 Kapcsolódás az adatbázishoz $ psql tan1 Adattábla létrehozása
RészletesebbenSQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA (ISM.) SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel]
RészletesebbenAdatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez
RészletesebbenAdatbázis rendszerek SQL nyomkövetés
Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló
RészletesebbenEgyüttes hozzárendelés
Együttes hozzárendelés Együttes hozzárendelés Hozzárendelés: az a tevékenységet, amikor egy PL/SQLváltozónak egy SQL-utasításban adunk értéket. Együttes hozzárendelés: Egy kollekció minden elemének egyszerre
RészletesebbenAdatbázis-lekérdezés. Az SQL nyelv. Makány György
Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési
RészletesebbenORACLE. SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók
Oracle SQL*Plus SQL ORACLE 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 Adatszótár: metaadatokat tartalmazó, csak olvasható
RészletesebbenADATBÁZIS-KEZELÉS FÉLÉVES FELADAT
ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét
RészletesebbenAdatbázis kezelés Delphiben. SQL lekérdezések
Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja
RészletesebbenA gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:
1 Adatbázis kezelés 3. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: Tábla kapcsolatok létrehozása,
RészletesebbenAdattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE TINIINT 1 byte 12 SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY
RészletesebbenAdatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN
Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN B IT v: 2016.03.04 MAN Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül
RészletesebbenB I T M A N B I v: T 2015.03.09 M A N
Adatbázis Rendszerek II. 5. Gy: PLSQL Triggerek B I v: T 2015.03.09 M A N 1/37 Passzív adatbázisok negatívumai Példa: VIR rendszer egyik adatbázis összegyűjti a termelési adatokat, egy másik erre épül
RészletesebbenAdattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8
RészletesebbenADATBÁZISOK gyakorlat: SQL 2. rész SELECT
ADATBÁZISOK 9-10. gyakorlat: SQL 2. rész SELECT SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel] [GROUP BY oszloplista [HAVING feltétel] ] [ORDER BY oszloplista];
RészletesebbenAdatbázisok* tulajdonságai
Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az
RészletesebbenLBRA6i integrált rendszer
LBRA6i integrált rendszer LIBRA 6i logolás és a log megtekintése Készítette: Libra Szoftver Zrt. Létrehozás dátuma: 2005.12.15. Utolsó módosítás: 2014.10.30. Referencia szám: LIBRA6i_UZEM_V_1.5 Verzió:
RészletesebbenTriggerek. Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé
Triggerek Triggerek Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé egy eseményre válaszul futnak le a triggernevek külön névteret alkotnak Esemény bekövetkezésének
RészletesebbenA gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:
1 Adatbázis kezelés 2. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni: Táblák létrehozása,
RészletesebbenAdatbázis használat I. 1. gyakorlat
Adatbázis használat I. 1. gyakorlat Tudnivalók Nagy Gabriella nagy.gabriella@nik.uni-obuda.hu BA. 306. szoba www.orakulum.com => Adatbázis-kezelés => AKT (Adatbázis-Kezelés Technológiája) 2011. 02. 08.
RészletesebbenTartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2
Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3
RészletesebbenAdatbázisok II. Jánosi-Rancz Katalin Tünde 327A 1-1
Adatbázisok II. 1 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Ajánlott irodalom Ullman-Widom: Adatbázisrendszerek. Alapvetés (Második, átdolgozott kiad), Panem, 2008. november (bővítés pl.uml,
RészletesebbenSQL DDL-2 (aktív elemek) triggerek
SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek
RészletesebbenSQL parancsok feldolgozása
Az SQL nyelv SQL nyelv szerepe Sequental Query Language, deklaratív nyelv Halmaz orientált megközelítés, a relációs algebra műveleteinek megvalósítására Előzménye a SEQUEL (IBM) Algoritmus szerkezeteket
RészletesebbenBGF. 4. Mi tartozik az adatmodellek szerkezeti elemei
1. Mi az elsődleges következménye a gyenge logikai redundanciának? inkonzisztencia veszélye felesleges tárfoglalás feltételes függés 2. Az olyan tulajdonság az egyeden belül, amelynek bármely előfordulása
RészletesebbenAdatbázis-kezelés, információs-rendszerek
Adatbázis-kezelés, információs-rendszerek 3. Ea: Eskúel (2011) Structured Query Language v: 2011.09.05 Szűcs Miklós - ME, ÁIT. 1.o Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítás DCL utasítások
RészletesebbenAdatbázisok elmélete 9. előadás
Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
RészletesebbenA relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai
8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló
RészletesebbenDebreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL
Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL Témavezető: Dr. Bajalinov Erik Tudományos főmunkatárs Készítette: Juhász Gergely József Informatikatanári
RészletesebbenAdatbázisok elmélete 9. előadás
Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE
RészletesebbenB I T M A N B I v: T 2015.02.22 M A N
Adatbázis Rendszerek II. 2. Gy: PLSQL 1. B I v: T 2015.02.22 M A N 1/75 A PL/SQL alapjai A PL/SQL alapjai Változók DBMS_OUTPUT Vezérlési szerkezetek Tömbök Tárolt rutinok kezelése 2/75 Tárolt eljárások
RészletesebbenAdatbázis Rendszerek II. 4. PLSQL Kurzorok, hibakezelés 53/1B IT MAN
Adatbázis Rendszerek II. 4. PLSQL Kurzorok, hibakezelés 53/1B IT MAN B IT v: 2017.03.02 MAN A PL/SQL alapjai Adatok kezelése Kurzorok Hibakezelés 53/2 B IT MAN Adatok kezelése PL/SQL-ben Műveletek: Írás
RészletesebbenA könyv tartalomjegyzéke
A könyv tartalomjegyzéke Elıszó Bevezetés Adatbázis-kezelı rendszerek Adatmodellezés Alapfogalmak Egyedhalmaz, egyed Kapcsolat, kapcsolat-elıfordulás, kapcsolat típusa Tulajdonság, tulajdonságérték, értékhalmaz
RészletesebbenAdatbázisok I. Az SQL nyelv
Adatbázisok I Az SQL nyelv SQL (Structured Query Language) Deklaratív nyelv, 1974-ben publikálták Halmaz orientált megközelítés, a relációs algebra műveleteinek megvalósítására Előzménye a SEQUEL (IBM)(Structured
RészletesebbenAz indexelés újdonságai Oracle Database 12c R1 és 12c R2
Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Szabó Rozalinda Oracle adattárház szakértő, oktató szabo.rozalinda@gmail.com Index tömörítés fejlődése 8.1.3-as verziótól: Basic (Prefixes) index
RészletesebbenADATBÁZISOK I. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2013. március 20.
ADATBÁZISOK I. Szerkesztette: Bókay Csongor Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: 2013. március 20. Ez a Mű a Creative Commons Nevezd meg! - Ne add el!
RészletesebbenAdatbázis rendszerek I Kovács LászlL szló Az SQL nyelv speciális elemei SQL szabványok Több bb-lépcs pcsős s folyamat a fejlődése alap DDL, DML, DQL, tranzakció,index 1986: ANSI SQL 1987: ISO SQL 1989:
RészletesebbenAdatbázis Rendszerek II. 8. Gyakorló környezet
Adatbázis Rendszerek II. 8. Gyakorló környezet 1/24 B IT v: 2017.10.26 MAN Gyakorló környezet Géptermek 193.6.5.58:8080/apex H16_neptunkód ADMIN neptunkód 2/24 Jelszó váltás 1 2 3 4 3/24 Gyakorló környezet
RészletesebbenSQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
RészletesebbenAdatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)
Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) 23/1 B IT v: 2018.10.31 MAN DML adatokon műveletet végző utasítások DML Data Manipulation Language Rekordok (sorok) beszúrása (felvitele) Mezők
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet
RészletesebbenÖsszefoglaló. <variable_name> [IN OUT IN OUT] <data_type> [:=<default_value>] ... <label_name>: <statements>... GOTO <label_name>;...
Összefoglaló PL/SQL alapok: Minden utasítást pontos vesszővel zárunk le. 1. Változó deklaráció: [:=]; 2. Paraméter megadása (adattípusra itt nem lehet megszorítás!):
RészletesebbenKészítette: Szabóné Nacsa Rozália
Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu 1 Structured Query Language (Struktúrált lekérdező nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány 2 DIAKOK dkód vnév knév 1001 Kiss János
Részletesebben5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?
Adatbázis modellek 5. téma XML DB Az adatkezelés és XML kapcsolata Miért fontos az XML használata az adatbázis kezelésben? Adattárolás alapformái: - strukturált - szabad-szöveges - szemi struktúrált -
RészletesebbenAz SQL*Plus használata
Az SQL*Plus használata Célkitűzés Bejelentkezés az SQL*Plus-ba SQL utasítások szerkesztése Az eredmény formázása SQL*Plus utasításokkal Szkriptfájlok használata Az SQL és az SQL*Plus kapcsolata SQL*Plus
RészletesebbenTábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );
Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) ); CREATE TABLE `dihunor`.`csapat` ( `ID` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'A csapat azonositoja',
RészletesebbenTáblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.
Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT
RészletesebbenSQL 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
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 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,
RészletesebbenAdatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31
Adatbázisok 2. gyakorlat SQL 2016. november 12. 2016. november 12. Adatbázisok 1 / 31 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A relációs adatbáziskezelés szabványos nyelve Két f
RészletesebbenPL/SQL blokk. [címke] [DECLARE deklarációs utasítás(ok)] BEGIN végrehajtható utasítás(ok) [EXCEPTION kivételkezelő] END [név];
PL/SQL blokk [címke] [DECLARE deklarációs utasítás(ok)] végrehajtható utasítás(ok) [EXCEPTION kivételkezelő] END [név]; PL/SQL alprogramok Blokkba ágyazva Séma szinten Csomagban PL/SQL alprogramok Eljárás:
RészletesebbenAdatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) 2014. október 22. 2014. október 22. Adatbázisok 1 / 14 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A
RészletesebbenRelációs algebra áttekintés és egy táblára vonatkozó lekérdezések
Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.
RészletesebbenAz SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)
Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,
RészletesebbenOO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.
OO PDO PDO VS MYSQLi VS MYSQL ================================================================================ A PHP mysql metódusai elavultak, helyette lehet hazsnálni a MYSQLi metódusokat, amelyek szinte
RészletesebbenBEVEZETÉS Az objektum fogalma
BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ
RészletesebbenAdatbázisban tárolt kollekciók
Adatbázisban tárolt kollekciók Dinamikus tömb és beágyazott tábla lehet CREATE TYPE t_beagy IS TABLE OF NUMBER; CREATE TYPE t_dint IS VARRAY(5) OF NUMBER; CREATE TABLE koll_tab ( azon NUMBER PRIMARY KEY,
RészletesebbenAdatbázis-kezelés. Harmadik előadás
Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord
RészletesebbenSQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés
RészletesebbenAdatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009
Adatbázisok elleni fenyegetések rendszerezése Fleiner Rita BMF/NIK Robothadviselés 2009 Előadás tartalma Adatbázis biztonsággal kapcsolatos fogalmak értelmezése Rendszertani alapok Rendszerezési kategóriák
RészletesebbenA gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlaton a következőket fogjuk gyakorolni:
1 Adatbázis kezelés 4. gyakorlat A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlaton a következőket fogjuk gyakorolni: Adatlekérdezés Tábla létrehozása,
RészletesebbenAdatbázisok elmélete 10. előadás
Adatbázisok elmélete 10. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE
RészletesebbenSapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 3. Előadás: Tárolt eljárások (folytatás) Nézetek
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 3. Előadás: Tárolt eljárások (folytatás) Nézetek 1 Kurzorok A kurzorok használata támogatott a tárolt rutinok, triggerek
RészletesebbenSQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok
SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,
RészletesebbenAdatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14
Adatbázisok 9. gyakorlat SQL: SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 14 SQL SELECT Lekérdezésre a SELECT utasítás szolgál, mely egy vagy több adattáblából egy eredménytáblát állít el
RészletesebbenA PL/SQL motor. A PL/SQL nyelvű egységek fordítását és futtatását végző rendszer. az adatbázis-kezelőben fejlesztőeszközben (pl.
PL/SQL architektúra A PL/SQL motor A PL/SQL nyelvű egységek fordítását és futtatását végző rendszer az adatbázis-kezelőben fejlesztőeszközben (pl. Oracle Forms) Ha nincs benne SQL-utasítás, a teljes egység
RészletesebbenElemi alkalmazások fejlesztése IV.
Structured Query Language (Struktúrált lekérdez ı nyelv) Relációs adatbázisok kezelésére kifejlesztett szabvány né Nacsa Rozália nacsa@inf.elte.hu Fejlesztı : MySQLAB weboldal: www.mysql.com MySQL installálása.
Részletesebben2012.05.11. Adatbázisok I A relációs algebra
Adatbázisok I A relációs algebra 2 3 4 1 Feladatok Tantárgy tkód cím kredit oktató Oktató oktkód név tanszék fizetés Feladatok 1. Az átlagos kreditpontszám: Γ avg(kredit) (Tantárgy) 2. A Matematika tanszéken
RészletesebbenMS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1
SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása
RészletesebbenAdatbázisok-1 előadás Előadó: dr. Hajas Csilla
Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0631 ÉRETTSÉGI VIZSGA 2006. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
RészletesebbenAdatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1
Adatbázisok I. 4 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Relációs algebra alapja a konkrét lekérdez nyelveknek ő egy speciális algebra, egy halmazorientált nyelv, amely a lekérdezéseket
Részletesebben