7.előadáshoz kieg.: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "7.előadáshoz kieg.: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)"

Átírás

1 7.előadáshoz kieg.: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) Logika a relációs lekérdezésekhez: Datalog és Rekurzió (Eljut feladat) Tankönyv: Logika a relációkhoz: Datalog WITH munkatáblák a SELECT-hez, Rekurzív lekérd.: WITH RECURSIVE Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 1

2 Témakörök Tankönyv 5.3. Logika a relációkhoz: Datalog 5.4. A relációs algebra és nem-rekurzív biztonságos Datalog kifejező erejének összehasonlítása Az Eljut-feladat (monoton, lineáris rekurzió) megoldása (a.) a Datalogban (b.) az SQL-ben WITH RECURSION utasítással Kiegészítések a rekurzióhoz, az Eljut feladat megoldása: (c.) Eljut feladat PL/SQL-ben (illetve SQL/PSM-ben) (d.) Oracle megoldások/2: CONNECT BY PRIOR (e.) Oracle megoldások/3: WITH alkérdés faktorizáció Végén (csak gyakorlatra) Oracle hierarchikus lekérdezések Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 2

3 Következik Relációs algebra korlátai: bizonyos típusú lekérdezéseket nem tudunk relációs algebrával kifejezni Nézzünk meg olyan logikai felépítést, amivel az ilyen rekurzív jellegű lekérdezések könnyen megoldhatók. Ez a nyelv: a Datalog Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 3

4 Milyen fontos rekurzív feladatok vannak? I. Hierarchiák bejárása Leszármazottak-ősök ParentOf(parent,child) Find all of Mary s ancestors Vállalati hierarchia felettes-beosztott Employee(ID,salary) Manager(mID,eID) Project(name,mgrID) Find total salary cost of project X Alkatrész struktúra (mely alkatrésznek mely alkatrész része) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 4

5 Milyen fontos rekurzív feladatok vannak? II. Gráf jellegű bejárások Repülőgép járatok, eljut-feladat Flight(orig,dest,airline,cost) Find cheapest way to fly from A to B Közösségi hálók Ki-kinek az ismerőse, Twitterben ki-kit követ Kiegészítés a gráf adatbázisokról Gráfok könnyen megadhatók relációs táblával, a gráf lekérdezések egyre gyakoribb feladatok, ezek relációs megoldása hatékonysági kérdés. Vannak kimondottan gráf-adatbázisok. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 5

6 Bevezető motiváció: Rekurzív SQL Alkérdés-faktorizáció WITH utasítással. SQL-99 szabványban szerepel. Az Oracle 11.2 verziótól kezdve a WITH rekurzív lekérdezésekre is használható (kiegészítésekkel). A MS SQL Server 2005-ben implementálták a rekurziót is. Rögzítsük egy irányított gráf éleit, és kérdezzük le, honnan hová vezet út! Minden él út is egyben, és ha van él x-ből z-be, és van út z-ből y-ba, akkor van út x-ből y-ba is. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 6

7 Bevezető motiváció: Rekurzív SQL create table el (honnan INT, hova INT); insert into el values (1,2); insert into el values (2,3), insert into el values (1,4); 1 Oracle: Alkérdés faktorizáció WITH [RECURSION] ut AS (select * from el UNION ALL -- Oracle-ben select el.honnan, ut.hova from el, ut where el.hova=ut.honnan) select * from ut; honnan el: honnan ut: hova hova Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 7

8 Bevezető motiváció: Rekurzív SQL A WITH ben definiált ut tábla átmeneti munkatábla, az utasítás végén szereplő lekérdezés futása után már nem lehet rá hivatkozni. A lekérdezést részekre lehet szétbontani (alkérdés faktorizáció), rekurzív lekérdezések megadhatóak. Az él, út példában két szabályt adtunk meg: select * from el Első szabály: ut(x,y) el(x,y) select el.honnan, ut.hova from el, ut where el.hova=ut.honnan Második szabály: ut(x,y) el(x,z) and ut(z,y) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 8

9 Kérdések: Bevezetés: Rekurzív SQL Hogyan változik az SQL lekérdező ereje ezzel a lehetőséggel? Hogyan értékelődnek ki az ilyen lekérdezések? Hogyan lehet optimalizálni az ilyen lekérdezéseket? Logika a relációkhoz: Olyan lekérdezőnyelveket definiálunk, amelyekben ilyen szabályok adhatók meg. Az ideiglenes táblákat IDB (intenzionális) tábláknak, a többi táblát EDB (extenzionális) táblának fogjuk nevezni. Az EDB táblákat tároljuk, az IDB táblákat az EDB és IDB táblák alapján lekérdezésekkel definiáljuk. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 9

10 Logika, mint lekérdező nyelv Datalog: logikai, szabály-alapú nyelv szabály: IF feltétel THEN eredmény, ahol a feltétel relációkkal legyen megadható és az eredmény pedig az output tábla sorait eredményezze A példa a Sörivók adatbázison alapszik Látogat(név, söröző), Szeret(név, sör), Felszolgál(söröző, sör, ár). Adjunk meg egy olyan szabályt, amely lekérdezi a boldog sörivókat, akik olyan sörözőt látogatnak, ahol felszolgálnak olyan sört, amelyet szeretnek. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 10

11 Datalog szabályok felépítése Boldog(n) Látogat(n,bár) AND Szeret(n,sör) AND Felszolgál(bár,sör, ár) Szabály feje = akkor Szabály törzse = ha = egy egyszerű részcél részcélok AND-el kapcsolva if-then ( ha-akkor ) szabályok Részcélok: relációs atomi formulák (argumentumai változók vagy konstansok), akkor igaz, ha a behelyettesítési értékekből álló n-est tartalmazza a rel. atomi formulához tartozó tábla Interpretáció: n akkor boldog, ha létezik olyan bár, sör, ár érték, amire (n,bár) sora a Látogat táblának, stb, többire is. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 11

12 Példa: Aritmetikai részcélok A beer is cheap if there are at least two bars that sell it for under $2. Cheap(beer) Sells(bar1,beer,p1) AND Sells(bar2,beer,p2) AND p1 < 2.00 AND p2 < 2.00 AND bar1 <> bar2 Feladatok: Írjuk át SQL SELECT utasításra a fenti szabályt! Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 12

13 Negált részcélok NOT in front of a subgoal negates its meaning. Example: Think of Arc(a,b) as arcs in a graph. S(x,y) says the graph is not transitive from x to y ; i.e., there is a path of length 2 from x to y, but no arc from x to y. S(x,y) Arc(x,z) AND Arc(z,y) AND NOT Arc(x,y) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 13

14 Biztonságossági elvárás A szabályok kiértékelhetőek legyenek, ehhez: A szabályban szereplő minden változónak elő kell fordulnia a törzsben nem-negált relációs atomban Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 14

15 Biztonságos szabályok A rule is safe if: 1. Each distinguished variable, 2. Each variable in an arithmetic subgoal, and 3. Each variable in a negated subgoal, also appears in a nonnegated, relational subgoal, amivel az x korlátozott: pred(x, y, ) argumentuma (értéke a táblából) vagy x=c (konstans) vagy x=y (ahol y korlátozott) Safe rules prevent infinite results. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 15

16 Példa: Nem biztonságos szabályokra Each of the following is unsafe and not allowed: 1. S(x) R(y) 2. S(x) R(y) AND x < y 3. S(x) R(y) AND NOT R(x) In each case, an infinity of x s can satisfy the rule, even if R is a finite relation. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 16

17 Datalog programok Datalog program = collection of rules. In a program, predicates can be either 1. EDB relációk = Extensional Database = stored table (csak a törzsben szereplő relációk) 2. IDB relációk = Intensional Database = relation defined by rules (szerepel fej-ben) Never both! No EDB in heads. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 17

18 Datalog programok kiértékelése As long as there is no recursion, we can pick an order to evaluate the IDB predicates, so that all the predicates in the body of its rules have already been evaluated. If an IDB predicate has more than one rule, each rule contributes tuples to its relation. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 18

19 Példa: Datalog program Using EDB Sells(bar, beer, price) and Beers(name, manf), find the manufacturers of beers Joe doesn t sell. JoeSells(b) Sells( Joe s Bar, b, p) Answer(m) Beers(b,m) AND NOT JoeSells(b) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 19

20 Példa: Kiértékelése Step 1: Examine all Sells tuples with first component Joe s Bar. Add the second component to JoeSells. Step 2: Examine all Beers tuples (b,m). If b is not in JoeSells, add m to Answer. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 20

21 Datalog kifejező ereje Without recursion, Datalog can express all and only the queries of core relational algebra. The same as SQL select-from-where, without aggregation and grouping. But with recursion, Datalog can express more than these languages. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 21

22 Relációs algebrai kifejezések átírása Mi a leggyakrabban előforduló típus, amiből építkezek? Lista ( Felt (R S ) Ezt a komponenst támogatja legerősebben az SQL is: SELECT lista FROM táblák összekapcsolása WHERE felt Ez felel meg egy Datalog szabálynak. Halmazműveletek: kezdjük ezzel, hogyan lehet a metszetet és különbséget Datalog szabállyal, és az egyesítést Datalog programmal kifejezni. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 22

23 Relációs algebra és Datalog ---1 Rel.algebrai műveletek hogyan néznek ki Datalogban? Halmazműveletek: T.f.h R(x 1,...,x n ), S(x 1,...,x n ) predikátumokhoz tartozó reláció R(A 1,...,A n ), S(A 1,...,A n ) R S metszetnek megfelelő szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND S(x 1,...,x n ) R-S különbségnek megfelelő szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND NOT S(x 1,...,x n ) R S unió műveletet egyetlen szabállyal nem tudom felírni, mert a törzsben csak AND lehet, OR nem. Ehhez több szabályból álló Datalog program kell: Válasz(x 1,...,x n ) R(x 1,...,x n ) Válasz(x 1,...,x n ) S(x 1,...,x n ) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 23

24 Relációs algebra és Datalog ---2 Kiválasztás: x i xj (R) kifejezésnek megfelelő szabály : Válasz(x 1,...,x n ) R(x 1,...,x n ) AND x i x j x i c(e1) kifejezésnek megfelelő szabály: Válasz(x 1,...,x n ) R(x 1,...,x n ) AND x i c Vetítés: A (R) kifejezésnek megfelelő szabály: i1,...,aik Válasz(x,...,x i 1 ik ) R(x 1,...,x n ) Megjegyzés: név nélküli anonymus változók, amelyek csak egyszer szerepelnek és mindegy a nevük azt aláhúzás helyettesítheti. Például: HosszúFilm(c,é) Film(c,é,h,_,_,_) AND h 100 Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 24

25 Relációs algebra és Datalog ---3 Természetes összekapcsolás: Tegyük fel, hogy R(A 1,...,A n, C 1,, C k ) és S(B 1,...,B m, C 1,, C k ) R S kifejezésnek megfelelő szabály: Válasz(x 1,...,x n,y 1,...,y m, z 1,, z k ) R(x 1,...,x n, z 1,, z k ) AND S(y 1,...,y m, z 1,, z k ) A felírt szabályok biztonságosak. Minden Q relációs algebrai kifejezéshez van nem rekurzív, biztonságos, negációt is tartalmazó Datalog program, amelyben egy kitüntetett IDB predikátumhoz tartozó kifejezés ekvivalens a Q lekérdezéssel. A nem rekurzív, biztonságos, negációt is tartalmazó Datalog kifejezőerő tekintetében EKVIVALENS a relációs algebrával. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 25

26 Példa: Datalog átírása SELECT-re Szeret(Név, Gyümölcs) sémájú tábla alapján Kik szeretik az almát is és a körtét is logikai megoldását írjuk át SQL SELECT utasításra! Válasz(N) Szeret(N, alma ) AND Szeret(N, körte ) A törzs két predikátumában megegyeznek a szabad változók, ami a metszet halmazműveletnek felel meg: SELECT Név FROM Szeret WHERE Gyümölcs= alma INTERSECT SELECT Név FROM Szeret WHERE Gyümölcs= körte ; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 26

27 Példa: Datalog átírása SELECT-re Az előző szabály másik ekvivalens átírása Válasz(N) Szeret(N, alma ) AND Szeret(N, körte ) Ez a szabály ugyanaz, mintha kiírnánk a változókat: Válasz(N1) Szeret(N1,Gy1) AND Szeret(N2,Gy2) AND N1=N2 AND Gy1= alma AND Gy2= körte Ennek megfelelő SELECT utasítás: SELECT s1.név FROM Szeret s1, Szeret s2 WHERE s1.név= s2.név AND s1.gyümölcs= alma AND Gyümölcs= körte ; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 27

28 Az Eljut-feladat Tankönyv fejezet példája (az ELJUT feladat) Jaratok(legitarsasag, honnan, hova, koltseg, indulas, erkezes) táblában repülőjáratok adatait tároljuk. A járatok táblát létrehozó script: Mely (x,y) párokra lehet eljutni x városból y városba? Ezt egy relációs algebrai kifejezésként nem tudjuk megadni zárt alakban, klasszikus SQL SELECT utasítással sem tudjuk kifejezni, csak azt tudjuk, hogy átszállás nélkül, egy, két, stb átszállással: Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 28

29 Az Eljut-feladatnak nincs algebrai megoldása select distinct honnan, hova from jaratok union select j1.honnan, j2.hova from jaratok j1, jaratok j2 where j1.hova=j2.honnan union select j1.honnan, j3.hova from jaratok j1, jaratok j2, jaratok j3 where j1.hova=j2.honnan and j2.hova=j3.honnan --- union stb... Ezt így nem lehet felírni Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 29

30 Az Eljut-feladat Datalogban Tankönyv fejezet példája (az ELJUT feladat) Jaratok(legitarsasag, honnan, hova, koltseg, indulas, erkezes) EDB-táblában repülőjáratok adatait tároljuk. Mely (x,y) párokra lehet eljutni x városból y városba? Datalogban felírva (lineáris rekurzió) Eljut(x, y) <- Jaratok(l, x, y, k, i, e) Eljut(x, y) <- Eljut(x, z) AND Jaratok(l, z, y, k, i, e) Vagy másképp felírva Datalogban (mi a különbség?) Eljut(x, y) <- Jaratok(_, x, y, _, _, _) --- anonimus változók Eljut(x, y) <- Eljut(x, z) AND Eljut(z, y) --- nem lineáris rek. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 30

31 Az Eljut feladat SQL-99 szabványban Datalog LINEÁRIS, MONOTON rekurzió átírható: Eljut(x, y) <- Jaratok(l, x, y, k, i, e) Eljut(x, y) <- Eljut(x, z) AND Jaratok(l, z, y, k, i, e) Hova, mely városokba tudunk eljutni Budapestről? WITH RECURSIVE Eljut(honnan, hova) AS (SELECT honnan, hova FROM Jaratok UNION SELECT Eljut.honnan, Jaratok.hova FROM Eljut, Jaratok WHERE Eljut.hova = Jaratok.honnan) SELECT hova FROM Eljut WHERE honnan= Bp ; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 31

32 SQL-99 szabvány: Rekurzív lekérdezés A WITH utasítás több ideiglenes relációra vonatkozó definíciója: WITH [RECURSIVE] R 1 AS <R 1 definíciója> [RECURSIVE] R 2 AS <R 2 definíciója>... [RECURSIVE] R n AS <R n definíciója> < R 1,R 2,...,R n relációkat tartalmazó lekérdezés> Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 32

33 Másik példa: Rekurzív Datalog A testvérek (féltestvérek) gyerekei első unokatestvérek, az első unokatestvérek gyerekei másod-unokatestvérek, és így tovább. Hívjuk egyszerűen unokatestvéreknek, akik valamilyen szinten unokatestvérek. A rokonok azok, akik közös ősnek leszármazottjai. Milyen Datalog program írja ezt le? testvér(x,y) gyerek(x,z),gyerek(y,z),x y unokatestvér(x,y) gyerek(x,z),gyerek(y,v),testvér(z,v) unokatestvér(x,y) gyerek(x,z),gyerek(y,v),unokatestvér(z,v) rokon(x,y) testvér(x,y) rokon(x,y) rokon(x,z),gyerek(y,z) rokon(x,y) rokon(z,y),gyerek(x,z) r u Függőségi gráf Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 33 t g

34 Másik példa: Rekurzív Datalog Mik a Datalog egyenletek? testvér(x,y) unokatestvér(x,y) unokatestvér(x,y) rokon(x,y) rokon(x,y) rokon(x,y) gyerek(x,z),gyerek(y,z),x y gyerek(x,z),gyerek(y,v),testvér(z,v) gyerek(x,z),gyerek(y,v),unokatestvér(z,v) testvér(x,y) rokon(x,z),gyerek(y,z) rokon(z,y),gyerek(x,z) A megfelelő relációk legyenek T,U,R,G a testvér, unokatestvér, rokon, illetve gyerek esetén. T(x,y)= x,y ( x y (G(x,z) >< G(y,z))) U(x,y)= x,y (G(x,z) >< G(y,v) >< T(z,v)) x,y (G(x,z) >< G(y,v) >< U(z,v)) R(x,y)=T(x,y) x,y (R(x,z) >< G(y,z)) x,y (R(z,y) >< G(x,z)) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 34

35 Példa folyt:rekurzív Datalog átírása SQL-be WITH T(x,y) as (select G1.u x, G2.w y from G G1,G G2 where G1.w=G2.u and G1.u<>G2.u), RECURSIVE U(x,y) as (select G1.u x, G2.u y from G G1, G G2, T where T.x=G1.w and T.y=G2.u) UNION (select G1.u x, G2.u y from G G1, G G2, U where U.x=G1.w and U.y=G2.u), RECURSIVE R(x,y) as (select * from T) UNION (select R.x x,g.u y from R,G where R.y=G.w) UNION (select G.u x, R.y y from R,G where R.x=G.w) (select T.x, T.y, 'T' from T union select U.x, U.y, 'U' from U union select R.x, R.y, 'R' from R); Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 35

36 Rekurzív lekérdezések Datalog rekurzió segít megérteni az SQL-99 szabványban bevezetett rekurzív lekérdezések WITH RECURSIVE záradékát. A BSc-n csak MONOTON rekurziót vesszük, vagyis nem használjuk nem-monoton különbség műveletet, nincs csoportosítás-aggregálás (ugyanis az olyan lekérdezések, amelyek nem-monotonok, megengedik a negációt és aggregálást az olyan különös hatással van a rekurzióra, ezt csak MSc kurzusokon vesszük). Gyakorlaton a rekurzív Eljut-feladatnak az Oracle CONNECT BY záradékkal való gépes-megoldásait is megnézzük (ezt csak a gyakorlaton próbáljuk ki). Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 36

37 Eljut feladat PL/SQL-ben ---1 Rek1.feladat: Mely (x, y) várospárokra lehet egy vagy több átszállással eljutni x városból y városba? Ehhez hozzuk létre eljut(honnan,hova) táblát, DROP TABLE eljut; CREATE TABLE eljut( honnan VARCHAR2(10), hova VARCHAR2(10)); Írjunk egy olyan PL/SQL programot, ami feltölti az ELJUT táblát a sorait a járatok tábla alapján (ehhez ciklust szervezni, az insert több sor felvitele 2.alakja alkérdéssel járatok és eljut táblák alapján) Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 37

38 Eljut feladat PL/SQL-ben ---2 Az ELJUT feladat megoldása Oracle PL/SQL-ben A ciklus során ellenőrizni kell, hogy addig hajtsuk végre a ciklust, amíg növekszik az eredmény (Számláló) DECLARE RegiSzamlalo Integer; UjSzamlalo Integer; Deklarációs rész után BEGIN END; között az utasítások, először az eljut táblának kezdeti értéket adunk (a megvalósításnál az INSERT-nél figyelni, hogy ne legyenek ismétlődő sorok: select distinct) delete from eljut; insert into eljut (SELECT distinct honnan, hova FROM jaratok); Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 38

39 Eljut feladat PL/SQL-ben ---3 Szamlalo változóknak adunk kiindulási értéket: RegiSzamlalo := 0; select count(*) into UjSzamlalo from eljut; A ciklust addig kell végrehajtani, amíg növekszik az eredmény (Szamlalo) duplikátumokra figyelni! LOOP insert into eljut (lásd a köv.oldalon ) select count(*) into UjSzamlalo from eljut; EXIT WHEN UjSzamlalo = RegiSzamlalo; RegiSzamlalo := UjSzamlalo; END LOOP; commit; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 39

40 Eljut feladat PL/SQL-ben ---4 Az eljut tábla növelése a ciklusban, figyelni kell a duplikátumokra, csak olyan várospárokat vegyünk az eredményhez, ami még nem volt! insert into eljut (select distinct eljut.honnan, jaratok.hova from eljut, jaratok --- *from (lineáris rekurzió) where eljut.hova = jaratok.honnan and (eljut.honnan,jaratok.hova) NOT IN (select * from eljut)); Megjegyzés: PSM-ben a nem-lineáris rekurzió is megengedett: from eljut e1, eljut e2 ---*from-ban Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 40

41 Eljut feladat PL/SQL-ben ---5 Rek2.feladat: Mely (x,y) város párokra hány darab átszállással és milyen költségekkel lehetséges egy vagy több átszállással eljutni x városból y városba? Ehhez készítsünk Eljut2(honnan, hova, atszallas, koltseg) táblát. Írjunk egy olyan PL/SQL programot, ami feltölti az ELJUT táblát. Rek3.feladat: Tegyük fel, hogy nemcsak az érdekel, hogy el tudunk-e jutni az egyik városból a másikba, hanem az is, hogy utazásunk során az átszállások is ésszerűek legyenek, ami azt jelenti, hogy ha több járattal utazunk, akkor nézni kell átszálláskor az érkező járatnak legalább egy órával a rákövetkező indulás előtt meg kell érkeznie, és 6 óránál ne kelljen többet várnia. Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 41

42 Oracle megoldások: with utasítással Az Oracle SQL a WITH RECURSIVE utasítást (UNION) nem támogatja, ott másképpen oldották meg WITH utasítással (Oracle 11gR2 verziótól használható) WITH eljut (honnan, hova) as (select honnan, hova from jaratok UNION ALL select jaratok.honnan, eljut.hova from jaratok, eljut where jaratok.hova=eljut.honnan ) SEARCH DEPTH FIRST BY honnan SET SORTING CYCLE honnan SET is_cycle TO 1 DEFAULT 0 select distinct honnan, hova from eljut order by honnan; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 42

43 Oracle megoldások: connect by SELECT DISTINCT hova FROM jaratok WHERE HOVA <> 'DAL' START WITH honnan = 'DAL' CONNECT BY NOCYCLE PRIOR hova = honnan; SELECT LPAD(' ', 4*level) honnan, hova, level-1 Atszallasok, sys_connect_by_path(honnan '->' hova, '/'), connect_by_isleaf, connect_by_iscycle FROM jaratok START WITH honnan = 'SF' CONNECT BY NOCYCLE PRIOR hova = honnan; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 43

44 Csak a gyakorlatra (Oracle Példatár) Oracle megoldások 2.7.lecke Hierarchical Retrieval After completing this lesson, you should be able to do the following: Interpret the concept of a hierarchical query Create a tree-structured report Format hierarchical data Exclude branches from the tree structure Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 44

45 Sample Data from the EMPLOYEES Table Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 45

46 (Oracle) Natural Tree Structure MANAGER_ID = 100 (Child) EMPLOYEE_ID = 100 (Parent) King Kochhar De Haan Mourgos Zlotkey Hartstein Whalen Higgins Hunold Rajs Davies Matos Vargas Gietz Ernst Lorentz Abel Taylor Grant Fay Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 46

47 (Oracle) Hierarchical Queries SELECT [LEVEL], column, expr... FROM table [WHERE condition(s)] [START WITH condition(s)] [CONNECT BY PRIOR condition(s)] ; WHERE condition: expr comparison_operator expr Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 47

48 (Oracle) Walking the Tree Starting Point Specifies the condition that must be met Accepts any valid condition START WITH column1 = value Using the EMPLOYEES table, start with the employee whose last name is Kochhar....START WITH last_name = 'Kochhar' Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 48

49 (Oracle) Walking the Tree CONNECT BY PRIOR column1 = column2 Walk from the top down, using the EMPLOYEES table.... CONNECT BY PRIOR employee_id = manager_id Direction Top down Bottom up Column1 = Parent Key Column2 = Child Key Column1 = Child Key Column2 = Parent Key Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 49

50 (Oracle) Walking the Tree: From the Bottom Up SELECT employee_id, last_name, job_id, manager_id FROM employees START WITH employee_id = 101 CONNECT BY PRIOR manager_id = employee_id ; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 50

51 (Oracle) Walking the Tree: From the Top Down SELECT last_name ' reports to ' PRIOR last_name "Walk Top Down" FROM employees START WITH last_name = 'King' CONNECT BY PRIOR employee_id = manager_id ; Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 51

52 (Oracle) Ranking Rows with the LEVEL Pseudocolumn Level 1 root/parent King Kochhar De Haan Mourgos Zlotkey Hartstein Whalen Higgins Hunold Rajs Davies Matos Vargas Level 3 parent/child /leaf Fay Gietz Ernst Lorentz Abel Taylor Grant Level 4 leaf Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 52

53 (Oracle) Formatting Hierarchical Reports Using LEVEL and LPAD Create a report displaying company management levels, beginning with the highest level and indenting each of the following levels. COLUMN org_chart FORMAT A12 SELECT LPAD(last_name, LENGTH(last_name)+(LEVEL*2)-2,'_') AS org_chart FROM employees START WITH last_name='king' CONNECT BY PRIOR employee_id=manager_id Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 53

54 (Oracle) Pruning Branches Use the WHERE clause to eliminate a node. Use the CONNECT BY clause to eliminate a branch. WHERE last_name!= 'Higgins' CONNECT BY PRIOR employee_id = manager_id AND last_name!= 'Higgins' Kochhar Kochhar Whalen Higgins Whalen Higgins Gietz Gietz Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 54

55 Kérdés/Válasz Köszönöm a figyelmet! Kérdés/Válasz? Vizsgára ismerni/ismertetni kell az Eljut feladatot és az SQL-99 szabvány WITH RECURSION utasítását, továbbá feladatok lesznek Datalog program átírására SELECT-re WITH RECURSION záradékkal (SQL-99) Házi feladat: Gyakorlás Oracle Példatár 3.fejezete tartalmaz hierarchikus lekérdezésekre feladatokat: Oracle gépes-megoldások nem lesznek a vizsgán, csak a gyakorlaton próbáljuk ki: az Eljut-feladathoz a Jaratok táblát létrehozó script: create_jaratok_tabla.txt Adatbázisok-1 (Hajas Csilla, ELTE IK) 7.előadáshoz kieg.: Datalog, Rekurzió 55

8.Előadás Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

8.Előadás Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 8.Előadás Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ Tankönyv 10.2. Az Eljut-feladat (monoton, lineáris rekurzió) megoldása (a.) az SQL-ben WITH RECURSION utasítással Kiegészítések

Részletesebben

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 8.ea: Datalog 9.ea: Rekurzió Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html

Részletesebben

Logikai lekérdezı nyelv: Datalog Rekurzió a Datalogban és az SQL-ben

Logikai lekérdezı nyelv: Datalog Rekurzió a Datalogban és az SQL-ben Logikai lekérdezı nyelv: Datalog Rekurzió a Datalogban és az SQL-ben Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 5.3. Logika a relációkhoz: Datalog 5.4.

Részletesebben

Datalog: logikai alapú lekérdezı nyelv

Datalog: logikai alapú lekérdezı nyelv Datalog: logikai alapú lekérdezı nyelv Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 5.3. Logika a relációkhoz --atomi formulák: relációs formulák és aritmetikai

Részletesebben

Datalog: logikai alapú lekérdezı nyelv

Datalog: logikai alapú lekérdezı nyelv Datalog: logikai alapú lekérdezı nyelv Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 5.4. Relációs algebra és nem-rekurzív biztonságos Datalog kifejező

Részletesebben

Databases 1. Relációs algebra és nemrekurzív Datalog

Databases 1. Relációs algebra és nemrekurzív Datalog Databases 1 Relációs algebra és nemrekurzív Datalog Emlékeztetı: Biztonságos szabályok A rule is safe if: 1. Each distinguished variable, 2. Each variable in an arithmetic subgoal, and 3. Each variable

Részletesebben

Rekurzió a Datalogban és az SQL3-ban

Rekurzió a Datalogban és az SQL3-ban Rekurzió a Datalogban és az SQL3-ban Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 10.2. Rekurzió. Az Eljut feladat 10A_DLog4Rekurzio // Adatbázisok-1 elıadás

Részletesebben

Adatbázisok 1. Rekurzió a Datalogban és SQL-99

Adatbázisok 1. Rekurzió a Datalogban és SQL-99 Adatbázisok 1 Rekurzió a Datalogban és SQL-99 Expressive Power of Datalog Without recursion, Datalog can express all and only the queries of core relational algebra. The same as SQL select-from-where,

Részletesebben

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbá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észletesebben

SQL/PSM kurzorok rész

SQL/PSM kurzorok rész SQL/PSM kurzorok --- 2.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 9.3. Az SQL és a befogadó nyelv közötti felület (sormutatók) 9.4. SQL/PSM Sémában

Részletesebben

Relációs algebra 2.rész példák

Relációs algebra 2.rész példák Relációs algebra 2.rész példák Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv Lekérdezések

Részletesebben

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

Részletesebben

Tankönyv: SQL/PSM + Gyak:PL/SQL

Tankönyv: SQL/PSM + Gyak:PL/SQL Tankönyv: SQL/PSM + Gyak:PL/SQL Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 10.2. Rekurzió, az Eljut -feladat Oracle-ben és PL/SQL-ben 9.3. Az SQL és

Részletesebben

Lekérdezések az SQL-ben 2.rész

Lekérdezések az SQL-ben 2.rész Lekérdezések az SQL-ben 2.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.2. Több relációra vonatkozó lekérdezések az SQL-ben - Szorzat és összekapcsolás

Részletesebben

5.3. Logika a relációkhoz

5.3. Logika a relációkhoz 236 5. Algebrai és logikai lekérdező nyelvek! 5.2.3. feladat. Az egyik dolog, amit az eredeti 2.4.5. alfejezetben definiált vetítési művelettel szemben elérhetünk a kiterjesztett vetítési művelet segítségével,

Részletesebben

Adatbázis tartalmának módosítása

Adatbázis tartalmának módosítása Adatbázis tartalmának módosítása Tankönyv 6.5. Változtatások az adatbázisban A módosító utasítások nem adnak vissza eredményt, mint a lekérdezések, hanem az adatbázis tartalmát változtatják meg. 3-féle

Részletesebben

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai: Feladatok ---1 Először relációs algebrában táblákkal gondolkodva nézzük meg, hogy milyen műveletekkel tudjuk megkapni a kívánt eredményt, írjuk fel lineáris módon és kifejezőfákkal, majd a kifejezőfákat

Részletesebben

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben

Részletesebben

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs

Részletesebben

Az SQL adatbázisnyelv: DML

Az SQL adatbázisnyelv: DML Az SQL adatbázisnyelv: DML Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Az adatbázis tartalmának módosítása (DML utasítások) INSERT, DELETE, UPDATE

Részletesebben

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 5.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL gyakorlatban: SELECT záradékai és a kiterjesztett relációs algebra Tankönyv: 5.1.- 5.2. Kiterjesztett relációs algebra

Részletesebben

SQL DDL-2 (aktív elemek) triggerek

SQL 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észletesebben

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek

Részletesebben

Tankönyv példák kidolgozása

Tankönyv példák kidolgozása Tankönyv példák kidolgozása Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Áttekintés: Rel.algebra és SQL Példák: Tk.2.4.14.Feladatok Tk.54-57.o. 2.4.1.feladat

Részletesebben

Relációs algebra 1.rész alapok

Relációs algebra 1.rész alapok Relációs algebra 1.rész alapok Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv, relációs

Részletesebben

3.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

3.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 3.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL SELECT - FROM WHERE Alkérdések - Összekapcsolások Tankönyv: 6.3. Alkérdések WHERE záradékban Alkérdések FROM záradékban

Részletesebben

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

8. 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észletesebben

4.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

4.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 4.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL SELECT utasítás kiértékelése lekérdezések relációs algebrában I.Témakör (vizsgán az I.lap 1-3.feladatai) összefoglalása

Részletesebben

8-9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

8-9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 8-9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ Gyak: Oracle PL/SQL Tk-ben: SQL/PSM 9.3. Az SQL és a befogadó nyelv közötti felület (sormutatók) 9.4. SQL/PSM Sémában tárolt

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

Adatok szűrése, rendezése

Adatok szűrése, rendezése Adatok szűrése, rendezése Célkitűzések Szűrést kifejező lekérdezések végrehajtása A lekérdezés eredményének rendezése &változó használata isql*plus-ban futási időben megadható feltételek céljából A lista

Részletesebben

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1.-7.4. Megszorítások 7.5.-7.6. Triggerek

Részletesebben

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak Informatika szigorlat 11-es tétel: Lekérdező nyelvek 1. Relációs algebra A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós módszert ad arra nézve, hogy miként építhetünk új relációkat

Részletesebben

2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 2.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ Relációs algebra alapműveletei és SQL SELECT - FROM - WHERE Tankönyv: 2.4. Lekérdezések: Relációs algebra 6.1. Egy táblára

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

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

B 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észletesebben

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

Relációs algebrai lekérdezések átírása SQL SELECT-re (példák) Relációs algebrai lekérdezések átírása SQL SELECT-re (példák) Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Áttekintés: Rel.algebra és SQL Példák: Tk.Termékek

Részletesebben

SQL DDL-1: táblák és megszorítások

SQL DDL-1: táblák és megszorítások SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre

Részletesebben

Tranzakciókezelés PL/SQL-ben

Tranzakció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észletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Adatbá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 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észletesebben

SQL 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 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észletesebben

Relá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 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észletesebben

Tartalomjegyzé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 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észletesebben

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbá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észletesebben

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 2.ea: Relációs algebra alapműveletei és SQL SELECT (1.rész) Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján

Részletesebben

SQL 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 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észletesebben

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.ea: SQL áttekintés SQL DML, DDL Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html

Részletesebben

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell Bevezetés: Relációs adatmodell Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.1. Adatmodellek áttekintése 2.2. A relációs modell alapjai -- Megjegyzés:

Részletesebben

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

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 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észletesebben

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

Lekérdezések az SQL SELECT utasítással Lekérdezések az SQL SELECT utasítással Az SQL SELECT utasítás lehetőségei Vetítés Kiválasztás 1. tábla 1. tábla Összekapcsolás 1. tábla 2. tábla Elemi SELECT utasítások SELECT * {[DISTINCT] column expression

Részletesebben

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbá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észletesebben

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

Csomag. 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észletesebben

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Változtatások az adatbázisban:

Részletesebben

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.

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. 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észletesebben

INDEXSTRUKTÚRÁK III.

INDEXSTRUKTÚRÁK III. 2MU05_Bitmap.pdf camü_ea INDEXSTRUKTÚRÁK III. Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása Panem, 2001könyv 5.4. Bittérkép indexek fejezete alapján Oracle: Indexek a gyakorlatban Oracle Database

Részletesebben

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

Ké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észletesebben

Adattípusok. Max. 2GByte

Adattí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észletesebben

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

BGF. 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észletesebben

Tankönyvben: SQL/PSM Gyakorlaton: Oracle PL/SQL

Tankönyvben: SQL/PSM Gyakorlaton: Oracle PL/SQL Tankönyvben: SQL/PSM Gyakorlaton: Oracle PL/SQL Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiad, 2009 Motiváció: 10.2. Rekurzió SQL-ben, az Eljut -feladat Oracle-ben 9.3.

Részletesebben

Adatbázis tartalmának módosítása. SQL DML utasítások

Adatbázis tartalmának módosítása. SQL DML utasítások Adatbázis tartalmának módosítása Tankönyv: Ullman-Widom: SQL DML utasítások Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.3. Alkérdések a záradékokban (folyt) (where, having

Részletesebben

Elemi alkalmazások fejlesztése IV.

Elemi 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észletesebben

2007. február 25. TARTALOM

2007. 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észletesebben

Adatbázisok-1 előadás

Adatbázisok-1 előadás Adatbázisok-1 előadás IP-08AB1E prog.inf. BSc 2016/2017.tanév 2.févében előadó: dr. Hajas Csilla http://people.inf.elte.hu/sila/ Általános tudnivalók AB1_01ea_RelModell // Adatbázisok-1 elıadás // Ullman-Widom

Részletesebben

Adatbázisok elmélete 11. előadás

Adatbázisok elmélete 11. előadás Adatbázisok elmélete 11. 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észletesebben

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

5. 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észletesebben

Adatbázisok* tulajdonságai

Adatbá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észletesebben

Információs rendszerek Adatbázis-kezelés

Információs rendszerek Adatbázis-kezelés Információs rendszerek Adatbázis-kezelés (informatika spec.) 2016/2017.tanév 2.févében előadó: dr. Hajas Csilla http://people.inf.elte.hu/sila/ Általános tudnivalók AB1_01ea_RelModell // Adatbázisok-1

Részletesebben

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiad, 2009 4.fej. Tervezés: E/K-modell elemei 2.3.+7.1. Megvalósítás:

Részletesebben

Adatbázisok elmélete 9. előadás

Adatbá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észletesebben

Adattípusok. Max. 2GByte

Adattí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észletesebben

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Megszorítások Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1. Kulcsok és idegen kulcsok 7.2. Attribútumra vonatkozó megszorítások 7.3. Megszorítások módosítása

Részletesebben

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa: Adatbázisok elmélete 5. 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észletesebben

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Nézetek és indexek Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 8.1. Nézettáblák 8.2. Adatok módosítása nézettáblákon keresztül 8.3. Indexek az SQL-ben 8.4. Indexek

Részletesebben

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell Bevezetés: Relációs adatmodell Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.1. Adatmodellek áttekintése 2.2. A relációs modell alapjai --Megjegyzés:

Részletesebben

SQL. 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 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észletesebben

Adatbázisok elmélete 9. előadás

Adatbá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észletesebben

Haladó DBMS ismeretek 1

Haladó 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észletesebben

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez. ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez. (info. tanárszakon és fizikusoknak) 8.1.-8-2. folyt.sql DDL. Nézettáblák 10.1. SQL DCL. Biztonság és felhasználói jogosultságok SQL-ben GRANT

Részletesebben

ADATBÁ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. 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észletesebben

Együttes hozzárendelés

Együ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észletesebben

Indexek és SQL hangolás

Indexek és SQL hangolás Indexek és SQL hangolás Ableda Péter abledapeter@gmail.com Adatbázisok haladóknak 2012. 2012. november 20. Miről lesz szó? Történelem Oracle B*-fa Index Felépítése, karbantartása, típusai Bitmap index

Részletesebben

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések SQL bevezetés Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések 1 Miért az SQL? Az SQL magas szintű programozási nyelv. A hogyan helyett azt mondjuk meg, hogy mit szeretnénk.

Részletesebben

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

Adatbá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észletesebben

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés)

SELECT. SELECT(projekció) FROM(forrás) WHERE(szűrés) GROUPBY(csoportosítás) HAVING(csoportok szűrése) ORDERBY(rendezés) Lekérdezések Tartalom Lekérdezések feldolgozási sorrendje Összekapcsolások Operátorok Szűrések Aggregátumok és csoportosítások Csoportos szűrések Rendezések Halmazműveletek Ranking függvények Pivotálás

Részletesebben

Mapping Sequencing Reads to a Reference Genome

Mapping Sequencing Reads to a Reference Genome Mapping Sequencing Reads to a Reference Genome High Throughput Sequencing RN Example applications: Sequencing a genome (DN) Sequencing a transcriptome and gene expression studies (RN) ChIP (chromatin immunoprecipitation)

Részletesebben

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell Bevezetés: Relációs adatmodell Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.1. Adatmodellek áttekintése 2.2. A relációs modell alapjai 2.3. SQL: Relációsémák

Részletesebben

Java és web programozás

Java é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

BEVEZETÉS Az objektum fogalma

BEVEZETÉ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észletesebben

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

Lekérdezések az SQL SELECT utasítással Lekérdezések az SQL SELECT utasítással Célok Az SQL SELECT utasítás lehetőségeinek bemutatása A megjelenítendő oszlopok kiválasztása Elemi SELECT utasítások végrehajtása Az SQL utasítások és az isql*plus

Részletesebben

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

A 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észletesebben

Relációs algebra 2.rész

Relációs algebra 2.rész Relációs algebra 2.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Egy algebrai lekérdezı nyelv -- 01B_RelAlg1alap: alapmőveletek -- 02A_RelAlg2kif:

Részletesebben

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

Adatbá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észletesebben

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

Lekérdezések az SQL SELECT utasítással. Copyright 2004, Oracle. All rights reserved. Lekérdezések az SQL SELECT utasítással Copyright 2004, Oracle. All rights reserved. Az SQL SELECT utasítás lehetıségei Vetítés Kiválasztás 1. tábla 1. tábla Összekapcsolás 1. tábla 2. tábla 1-2 Copyright

Részletesebben

Adatbázisban tárolt kollekciók

Adatbá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észletesebben

Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor

Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor 1. Relációs adatmodell alapjai Adatmodell: Az adatmodell egy jelölésmód egy adatbázis adatszerkezetének a leírására, beleértve az adatra vonatkozó megszorításokat

Részletesebben

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell Bevezetés: Relációs adatmodell Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 9.3. Az SQL és a befogadó nyelv közötti felület (sormutatók) 9.4. SQL/PSM Sémában

Részletesebben

Relációs algebra 1.rész

Relációs algebra 1.rész Relációs algebra 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv -- 01B_RelAlg1alap:

Részletesebben

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

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 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észletesebben

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK Lénárt Balázs tanársegéd TANTERV Hét Dátum Előadó Előadások Időpont: szerda 8:30-10:00, helye: LFSZÁMG Dátum Gyakvezető 1. 9. 11. Tokodi Adatbázis

Részletesebben