betűk, az angol kis- ás nagybetűk: A Z és a z; számjegyek: 0 9; egyébkarakterek: szóköz, tabulátor, kocsivissza.

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

Download "betűk, az angol kis- ás nagybetűk: A Z és a z; számjegyek: 0 9; egyébkarakterek: ()+-/<>=!~^;:.@%,#$&{}?[] szóköz, tabulátor, kocsivissza."

Átírás

1 Karakterkészlet Egy PL/SQL program forrásszövegének (mint minden forrásszövegnek) a legkisebb alkotóelemei a karakterek. A PL/SQL nyelv karakterkészletének elemei a következők: betűk, az angol kis- ás nagybetűk: A Z és a z; számjegyek: 0 9; egyébkarakterek: szóköz, tabulátor, kocsivissza. A PL/SQL-ben a kis- és nagybetűk nem különböznek, a sztring literálok belsejét kivéve. 1

2 Lexikális egységek A PL/SQL program szövegében a következő lexikális egységek használhatók: elhatárolók, szimbolikus nevek, megjegyzések, literálok. Ezeket részletezzük a következőkben. 2

3 Elhatárolók 3

4 Szimbólikus nevek Azonosítók: betűvel kezdődik és betűvel, számjeggyel vagy $ _ # karakterekkel folytatódik. Nagy és kisbetűk nem különböznek! hallgato HALGGATO Hallgato ugyanazt jelenti 4

5 5

6 Foglalt szavak (mod, or and, declare, ) Idézőjeles azonosítók Igen/Nem mod Ez is azonosító Karakterhelyesen tárolódik! Megjegyzések -- vezeti az egysorost, /* */ között a többsoros 6

7 Literálok 5, 33, 6.666, -1.0, 2.0f (BINARY_FLOAT), 2.1d (BINARY_DOUBLE) almafa, mondta Címke << címke >> Bármely sorban lehet. Azonosító! Nevesített konstans név CONSTANT típus [NOT NULL] {:= DEFAULT} kifejezés; VÁLTOZÓ név típus [NOT NULL] {:= DEFAULT} kifejezés; 7

8 DECLARE -- NOT NULL deklarációnál kötelező az értékadás v_szam1 NUMBER NOT NULL := 10; -- v_szam2 kezdőértéke NULL lesz v_szam2 NUMBER; BEGIN v_szam1 := v_szam2; -- VALUE_ERROR kivételt eredményez END; 8

9 -- nevesített konstans deklarációja, az értékadó kifejezés függvényhívás c_most CONSTANT DATE := SYSDATE; -- változódeklaráció kezdőértékadás nélkül v_egeszszam PLS_INTEGER; v_logikai BOOLEAN; -- változódeklaráció kezdőértékadással v_pozitiv POSITIVEN DEFAULT 1; v_idopecset TIMESTAMP := CURRENT_TIMESTAMP; -- kezdőértékadás rekordtípus mezőjének TYPE t_kiserlet IS RECORD ( leiras VARCHAR2(20), probalkozas NUMBER := 0, sikeres NUMBER := 0 ); -- rekord mezőinek csak a típus deklarációban lehet kezdőértéket adni v_kiserlet t_kiserlet; 9

10 Adattípusok Numerikus típusok Karakteres típusok Dátum/Intervallum család Logikai LOB típusok Rekordtípus PÉLDA 03 10

11 Relációs műveletek = > < >= <= <> (vagy!=) - nem egyenlő Fontosabb szimbólumok ( ) - lista, := - értékadás, - konkatenáció, -- - megjegyzés, /* */ - megjegyzés. 11

12 Értékadás <Változó> := <kifejezés>; Példa. String_1 := Hello World! ; 12

13 10.1 Vezérlési struktúrák IF parancs IF logikai_kifejezés THEN parancsok; [ELSEIF logikai_kifejezés THEN parancsok; ]. [ELSE parancsok;] END IF; 13

14 Példa. A következő blokk IF parancsot tartalmazz. DECLARE V_helyek_szama Szoba.helyek_szama; v_comment VARCHAR2(35); BEGIN SELECT termek INTO v_helyek_szama FROM Szoba WHERE kod = 15; IF v_helyek_szama < 50 THEN v_comment := 'Kicsi'; ELSIF v_helyek_szama < 100 THEN v_comment := 'Közepes'; ELSE v_comment := 'Nagy'; END IF; END; 14

15 DECLARE v_osztalyzat NUMBER(1); v_minosites VARCHAR2(10); BEGIN... V_Minosites := CASE v_osztalyzat WHEN 5 THEN 'Jeles' WHEN 4 THEN 'Jó' WHEN 3 THEN 'Közepes' WHEN 2 THEN 'Elégséges' WHEN 1 THEN 'Elégtelen' ELSE 'Nincs ilyen osztályzat' END; END; 15

16 Üres ( NULL) parancs DECLARE K NUMBER := 7; BEGIN IF K < 5 THEN INSERT INTO temp (col) VALUES ('Nagyon kicsi'); ELSIF Kr < 10 THEN INSERT INTO temp (col) VALUES ('Megfelel'); ELSE NULL; END IF; END; Címkék és GOTO parancs 16

17 A parancsok előtt << címke >> állhat: << címke >> parancs A címkét a <<,>> határoló-jelek közé kell helyezni. A GOTO << címke >>; parancs a vezérlést a << címke >> után álló parancsra adja. A GOTO parancs a vezérlést nem adhatja a beágyazott blokkba, vagy FOR ciklus, illetve IF parancs belsejébe. 17

18 Példa. DECLARE k BINARY_INTEGER := 1; BEGIN LOOP INSERT INTO temp VALUES (k, 'Lépések száma'); k := k + 1; IF k > 50 THEN GOTO Vége; END IF; END LOOP; <<Vége>> INSERT INTO test (col) VALUES ('Vége!'); END; A PL/SQL-ben három fajta ciklus létezik. 18

19 Egyszerű (LOOP) ciklus LOOP <Parancsok> EXIT [WHEN feltététel] END LOOP; EXIT - feltétel nélküli kilépés a ciklusból, EXIT WHEN <feltététel> feltételes kilépés a ciklusból (ha a feltétel igaz). 19

20 Példa. DECLARE K BINARY_INTEGER := 1; BEGIN LOOP INSERT INTO test (num_col) VALUES (K); K := K + 1; EXIT WHEN K > 50; END LOOP; END; Vagy 20

21 DECLARE k BINARY_INTEGER := 1; BEGIN LOOP INSERT INTO test VALUES (k, 'A ciklus indexe'); k := k + 1; IF k > 50 THEN EXIT; END IF; END LOOP; END; 21

22 A következő ciklus a kurzor soraival hajtja végre a műveleteket. DECLARE V1 VARCHAR2(20); V2 VARCHAR2(20); CURSOR Cursor_Students IS SELECT nev, kod FROM students; BEGIN OPEN Cursor _Students; LOOP FETCH Cursor _Students INTO V1, V2; EXIT WHEN Cursor_Students%NOTFOUND; /* Parancsok, a cilkus magja. */ END LOOP; CLOSE Cursor_Students; END; 22

23 A kurzornak következő fontosabb attribútumai vannak: %FOUND sort lehet leolvasni a kurzorból; %NOTFOUND nincs több sor a kurzorban; %ISOPEN meg van-e nyitva a kurzor; 23

24 WHILE ciklus WHILE <feltétel> LOOP <Parancsok> END LOOP; 24

25 Példa. DECLARE k BINARY_INTEGER := 1; BEGIN WHILE k <= 50 LOOP INSERT INTO test VALUES (k, ' A ciklus indexe ); k := k + 1; END LOOP; END; 25

26 FOR ciklus FOR <változó> IN [REVERSE] i_min.. i_max LOOP <Parancsok, Ciklus magja> END LOOP; A <változó> felveszi i_min.. i_max minden értékét növekvő, vagy REVERSE esetén csökkenő irányban, és az adott érték mellett végrehajtódik a ciklus magja. <változó>=i_min, i_min+1, i_min+2,..., i_max; REVERSE esetén- <változó>i=i_max, i_max-1, i_max-2,..., i_min. 26

27 Példa. BEGIN FOR k IN LOOP INSERT INTO test VALUES (k, ' A ciklus indexe'); END LOOP; END; BEGIN FOR k IN REVERSE LOOP INSERT INTO test VALUES (k, ' A ciklus indexe '); END LOOP; END; 27

28 KURZOR FOR ciklus DECLARE CURSOR Kurzor_Név IS SELECT-parancs; BEGIN FOR Kurzor _Változó IN kurzor LOOP Parancsok END LOOP; END; A kurzor FOR ciklus kényelmes eszköz a kurzor alkalmazására, mivel ebben az esetben nincs szükség a kurzor megnyitására, a sorainak leolvasására, és a kurzor bezárásába. 28

29 Példa. DECLARE... CURSOR Cursor_Students IS SELECT nev, kod FROM students; BEGIN K:=0; FOR C_valt IN Cursor _Students; LOOP K:=K+1; INSERT INTO test_tabla VALUES (C_valt.nev, K); END LOOP; END; 29

30 PÉLDÁK 05! 30

31 10.2 Blokkok A PL/SQL program-konstrukcióknak blokk szerkezetűk van. Két fajta blokk létezik névtelen blokk (Anonymous block) névvel rendelkező blokk (Named block). A névtelen blokk a DECLARE vagy a BEGIN kulcsszóval kezdődik és az Oracle a blokkok mindegyik végrehajtása előtt újból kell lefordítja (compile). A névtelen blokk nem tárolódhat az AB-ban, és a program-egységek nem hivatkozhatnak rá. A blokkot a következő program-egységek eljárások függvények csomagok (modulok) triggerek, tartalmazzák, és ezek a program-egységek tárolhatók az AB-ban. 31

32 A blokk általános struktúrája [<<blokk_név>>] [DECLARE.] BEGIN. [EXCEPTION.] END; A névtelen blokk nem tartalmazz <<blokk_nev>>-et. DECLARE.- a változók deklarálása (nem kötelező része a blokknak) BEGIN...END; - a blokk törzse, a blokk egyetlen kötelező része EXCEPTION. a blokk kivételkezelője (opcionális, nem kötelező része a blokknak). 32

33 Példa. <<Pelda>> DECLARE v_num1 NUMBER := 3; v_num2 NUMBER := 4; v_string1 VARCHAR2(50) := 'Hello World!'; v_string2 VARCHAR2(50) := '-- '; v_outputstr VARCHAR2(50); BEGIN INSERT INTO test (num_col, char_col) VALUES (v_num1, v_string1); INSERT INTO test (num_col, char_col) VALUES (v_num2, v_string2); SELECT char_col INTO v_outputstr 33

34 FROM test WHERE num_col = v_num1; DBMS_OUTPUT.PUT_LINE(v_OutputStr); SELECT char_col INTO v_outputstr FROM test WHERE num_col = v_num2; DBMS_OUTPUT.PUT_LINE(v_OutputStr); END Pelda; 34

35 10.3 Változók deklarálása A változókat a DECLARE szekcióban deklaráljuk. Az Oracle lehetőséget ad a saját típusokat szerkesztésére is. A változó deklarálása: Változó-neve típus [CONSTANT] [NOT NULL] [:= érték] ; Leggyakoribb adattípusok: VARCHAR2 NUMBER DATE BOOLEAN. Numerikus típusok: DEC DECIMAL 35

36 DOUBLE PRECISION INTEGER INT NUMERIC REAL SMALLINT BINARY_INTEGER ( ) NUMBER (m, n) 36

37 Példák NUMBER NUMBER (3) NUMBER (3) 1234 HIBA NUMBER (4,3) NUMBER (4,-3) NUMBER (4,-1)

38 A BOOLEAN változó lehetséges értékei- TRUE, FALSE, NULL. Ha a lehetséges NULL értéket is figyelemben vesszük, akkor a logikai műveletek táblázatait lehet leírni, mint három-értékű logikát. AND (és) táblázat AND T F NULL T T F Ismeretlen F F F F NULL Ismeretlen F Ismeretlen OR (vagy) táblázat OR T F NULL T T T T F T F Ismeretlen NULL T Ismeretlen Ismeretlen 38

39 NOT (nem) táblázat NOT T F F T NULL Ismeretlen Egy változó típusát egy AB tábla oszlopának típusa alapján is lehet deklarálni a %TYPE bejegyzéssel. Name student.nev%type A Name változó megkapja a student tábla nev oszlopának típusát. Ez a lehetőség különösen akkor hasznos, amikor az oszlop típusa valami okból később megváltozik, de a változó típusa is a %TYPE alapján automatikusan megváltozik, ami azt jelenti, hogy a programozónak ezzel a kérdéssel nem kell foglalkozni. 39

40 Példa. DECLARE Kod_diak NUMBER(5) := 10000; V_Nev VARCHAR2(20); BEGIN SELECT Nev INTO V_Nev FROM students WHERE Id = Kod_diak; EXCEPTION WHEN NO_DATA_FOUND THEN INSERT INTO log_table (info) VALUES ('Nem létezik a kóddal jelölt Diák!'); END; 40

41 Példa. DECLARE v_num1 NUMBER := 1; v_num2 NUMBER := 2; v_string1 VARCHAR2(50) := 'Hello World!'; v_string2 VARCHAR2(50) := '-- '; v_outputstr VARCHAR2(50); BEGIN INSERT INTO test (num_col, char_col) VALUES (v_num1, v_string1); INSERT INTO test (num_col, char_col) VALUES (v_num2, v_string2); 41

42 SELECT char_col INTO v_outputstr FROM test WHERE num_col = v_num1; DBMS_OUTPUT.PUT_LINE(v_OutputStr); SELECT char_col INTO v_outputstr FROM test WHERE num_col = v_num2; DBMS_OUTPUT.PUT_LINE(v_OutputStr); END; 42

43 10.4 Rekordok A PL/SQL programokban rekordokat lehet létrehozni és utána alkalmazni. A rekord deklarációval egy új adattípust hozhatunk létre. Gyakran a rekord struktúráját úgy szerkesztik, hogy az megegyezzen egy tábla struktúrájának. Ebben az esetben a tábla sorai könnyen átírhatók a rekordba. Először a rekord-típust kell deklarálni, és utána a rekord-változó megkaphatja a rekord-típust. A rekord mezőinek típusai PL/SQL adattípusúak lehetnek, de a %TYPE használatával hivatkozhatnak egy tábla oszlopának a típusára is. A mezőkhöz NOT NULL és DEFAULT záradékok tartozhatnak. A rekord mezőjére a következő képen hivatkozhatunk rekord_változó.mező 43

44 Példa. TYPE Diak_Record IS RECORD ( Diak_Kod NUMBER (5), Vezetek_Nev VARCHAR2 (20), Kereszt_Nev VARCHAR2 (20)); Diak_Info Diak_Record; A Diak_Info változó megkapja a Diak_Record típust. 44

45 DECLARE TYPE t_rec1type IS RECORD ( Field1 NUMBER, Field2 VARCHAR2(5)); TYPE t_rec2type IS RECORD ( Field1 NUMBER, Field2 VARCHAR2(5)); v_rec1 t_rec1type; v_rec2 t_rec2type; /* v_rec1 és v_rec2 típusai különbözőek! */ 45

46 BEGIN v_rec1 := v_rec2; /* különböző típusok, HIBA!!! */ v_rec1.field1 := v_rec2.field1; v_rec2.field2 := v_rec2.field2; END; DECLARE TYPE Diak_Record IS RECORD ( Vezetek_Nev students.vezetek_nev%type, Kereszt_Nev students.kereszt_nev%type, Szak students.szak%type); V_Diak Diak_Record; 46

47 BEGIN SELECT vezetek_nev, nev, szak INTO V_Diak FROM students WHERE ID = 10000; END; 47

48 A %ROWTYPE bejegyzés alkalmazása a rekord típusok deklarálásában DECLARE V_RoomRecord rooms%rowtype A %ROWTYPE által a V_RoomRecord rekord megkapja a room tábla struktúráját. Ez a lehetőség akkor lehet hasznos, ha például, a room tábla struktúrája megváltoztatjuk, de a %ROWTYPE alapján a rekord struktúrája is automatikusan megváltozik. Az SQL parancsok változókat tartalmazhatnak, és ezzel összekapcsolhatók egymással egy program parancsai. 48

49 Példa. DECLARE v_numcredits classes.num_credits%type; BEGIN v_numcredits := 3; UPDATE Classes SET num_credits = v_numcredits WHERE szak = 'MAT' AND tantargy = 101; END; 49

50 Példa. DECLARE v_diakrecord students%rowtype; v_szak classes.szak%type; v_ tantargy classes.tantargy%type; BEGIN SELECT * INTO V_DiakRecord FROM students WHERE id = 10000; SELECT department, course INTO v_szak, v_ tantargy FROM classes WHERE kod = 99997; END; 50

51 10.5 Objektum típusok Az Objektumrelációs adatbázis-kezelő rendszer (ORDBMS Object-Relation DataBase Management System) támogatja mind a relációs eszközöket (kulcs,...) mind az objektumorientált eszközöket (módszerek,... ). Az alkalmazások szempontjából fontos, hogy a PL/SQL programokban bizonyos összetett adat-struktúrákat egységesen lehessen kezelni. Ezzel a tulajdonsággal rendelkezik az objektum típus, amelyet absztrakt adattípusnak lehet tekinteni. Az absztrakt adattípus olyan adattípus, amely több altípusból tevődik össze. Az objektum típus attribútumokat és metódusokat tartalmazhat. Általános esetben, amikor az objektum típus metódusokat is tartalmaz, az két részből áll: az objektum deklarálásából (specifikation); az objektum törzséből. 51

52 Az objektum deklarálása az attribútumokat és a hozzá tartozó metódusok listáját tartalmazza. Az objektumban legalább egy attribútumnak kell lennie. Az objektumban a metódusok hiányozhatnak. Az objektum törzse a metódusok kódját tartalmazza. Egy objektumot csak az a felhasználó hozhat létre, aki a CREATE TYPE privilégiummal rendelkezik. A CREATE TYPE a RESOURCE szerephez tartozik. Más felhasználó akkor hozhat létre új típust, ha CREATE ANY TYPE privilégiummal rendelkezik. Ezek a feltételek a CREATE TYPE BODY parancsra is érvényesek. 52

53 Objektum típus létrehozása CREATE [OR REPLACE] TYPE [felhasználó].típus_neve AS OBJECT (attribútum lista, [,metódusok listája]) Az attribútum deklarálása hasonlít a változók deklarálása a blokkban, de nem tartalmazhat %TYPE opciót, nem kaphat kezdő értéket, és a NOT NULL megszorítás sem alkalmazható. Az objektum az AB szótárához tartozik, és mivel az objektumnak tulajdonosa kell, hogy legyen, ezért, ha a CREATE parancsban nincs megadva a felhasználó neve, akkor a deklarálandó objektumnak a tulajdonosa az adott felhasználó lesz. Egy másik felhasználó esetén annak a nevét meg kell adni. Csak az a felhasználó alkalmazhatja az objektumot, aki EXECUTE privilégiummal rendelkezik. 53

54 Hivatkozás az objektum attribútumára: Objektum_neve.attribútum 54

55 Példa. CREATE OR REPLACE TYPE StudentObj AS OBJECT ( ID NUMBER(5), vezetek_nev VARCHAR2(20), kereszt_nev VARCHAR2(20), szak VARCHAR2(30), kreditek NUMBER(3) ); 55

56 Példa. CREATE OR REPLACE TYPE Car AS OBJECT ( Model VARCHAR2(20), Color VARCHAR2(20), Cost NUMBER(6) ); 56

57 CREATE OR REPLACE TYPE Car_Garage AS VARRAY(50) OF Car; CREATE OR REPLACE TYPE Garage AS OBJECT ( Adress VARCHAR2(100), CarCount NUMBER AllCar Car_Garage); A Car objekt típus az autó egyedeket, a Garage a garázs egyedeket, a Car_ Garage típus pedig az autók csoportjait tartalmazzák. 57

58 Objektum típusú változó deklarálása DECLARE Változó Objektum_típus; DECLRE MyCar MyGarage Car; Garage; A létrehozott típusok nem tartalmaznak metódusokat, ezért ebben az esetben nincs szükség az objektum törzsének deklarálására. 58

59 Metódusok Mint már említettük, az objektum deklarálása tartalmazhat az objektumhoz tartozó metódusok listáját. A metódusok listája a következő deklarálási elemeket tartalmazhat: [STATIC MEMBER] PROCEDURE eljárás_deklarálása, [STATIC MEMBER] FUNCTION függvény_deklarálása, 59

60 Példa. A Car objektumot kiegészítjük metódusokkal: CREATE OR REPLACE TYPE Car AS OBJECT ( Model VARCHAR2(20), Color VARCHAR2(20), Cost NUMBER(6), MEMBER FUNCTION GetCarInfo RETURN VARCHAR2, PRAGMA RESTRICT_REFERENCES(GetCarInfo) ); A metódusokat az attribútumok után kell leírni. A PRAGMA RESTRICT_REFERENCES záradék engedélyezi a metódusokra való hivatkozást az SQL-parancsokból. 60

61 Metódusok implementálása A metódusok kódját az objektum törzsében kell leírni: CREATE [OR REPLACE] TYPE BODY [felhasználó].típus_neve AS IS <metódusok_törzseinek_listája> 61

62 Példa. CREATE OR REPLACE TYPE BODY Car AS MEMBER FUNCTION GetCarInfo RETURN VARCHAR2 IS BEGIN RETURN Modell Color Cost; END GetCarInfo; END; Hivatkozás a metódusra: Objektum_neve.Metódus 62

63 Példa. Az SQL*Plus-ban végrehajtjuk a következő programot: DECLARE Car1 Car:= Car( Audi, Piros, ); Car2 Car:= Car( BMW, Fehér, ); BEGIN DBMS_OUTPUT.PUT_LINE(Car1.GetCarInfo); DBMS_OUTPUT.PUT_LINE(Car2.GetCarInfo); END; Audi Piros BMW Fehér PL/SQL procedure successfully completed. 63

64 Kezdő érték bevitele az objektumba Az objektum kezdő értékekeit a konstruktor által legegyszerűbben megadni. Az Oracle mindegyik objektum-típushoz létrehoz automatikusan egy konstruktor-függvényt. Például, a Garage objektum konstruktora a következő függvény lesz: FUNCTION Garage( Adress IN VARCHAR2(100); CarCount IN NUMBER AllCar IN CarGarage) RETURN Garage; 64

65 Objektumok módosítása és törlése ALTER TYPE [felhasználó.]<típus_neve> REPLACE AS OBJECT (<OBJECT-típus deklaráció>); A parancsban nem csak a módosított elemeket kell megadni, hanem újból kell deklarálni azokat az elemeket, amelyek nem változnak. A metódus kódjának a módosítása a CREATE OR REPLACE TYPE BODY [felhasználó.]típus_neve AS IS <metódusok_törzseinek_listája> paranccsal történik. 65

66 Objektum-típus törlése Az objektum-típus törlése több változatban történhet: DROP TYPE [felhasználó.]típus_neve Ebben az esetben az Oracle csak akkor törli az objektum-típust, ha más objektum-típus nem hivatkozik rá. DROP TYPE [felhasználó.]típus_neve FORCE A FORCE záradék az objektum-típus törlését engedélyezi még akkor is, ha az adott objektum-típusra más AB-objektum-típus hivatkozik. DROP TYPE BODY [felhasználó.]típus_neve Ez a parancs törli az objektum-típus törzsét, de nem törli az objektum-típus deklarációját. 66

67 Objektumok az adatbázisban Az Oracle fontos tulajdonsága, hogy az objektumokat az AB táblákban lehet tárolni. Ez két változatban valósítható meg. Az objektumot tárolni lehet, mint Objektum-oszlop; Objektum-sor Objektum-oszlop Ebben az esetben az objektum a táblában ugyanúgy oszloponként tárolódik, mint a többi elsődleges típus. 67

68 Példa. CREATE TABLE Cars( Key NUMBER PRIMARY KEY, OneCar Car); A Cars tábla második oszlopa objektum-típusú. INSERT INTO Cars VALUES(1, Car( Skoda, Piros, ) ); INSERT INTO Cars VALUES(2, Car( Lada, Zöld, ) ); Az adatok bevitelére a táblába az INSERT parancs a Car konstruktort alkalmazza. A Car tábla tartalmát az SQL*Plus-ban így lehet megjeleníteni 68

69 SELECT * FROM Cars; KEY ONECAR(MODEL, COLOR, COST) 1 CAR( Skoda, Piros, ) 2 CAR( Lada, Zöld, ) Objektum-sor Ebben az esetben az objektum a tábla egész sorával azonosul, és a tábla nem tartalmazhat más oszlopokat. CREATE TABLE Tábla_név OF objektum-típus; 69

70 Példa. CREATE TABLE CarRows OF Car; INSERT INTO CarRows VALUES(Car( Skoda, Piros, ) ); INSERT INTO CarRows VALUES(Car( Lada, Zöld, ) ); SELECT * FROM CarsRows; MODEL COLOR COST Skoda Piros Lada Zöld

71 Objektumok az SQL parancsokban Az SQL-parancsok végrehajtásának módja nem változik, ha egy tábla objektum-oszlopokat is tartalmaz. Például, egy objektum értékét egy vele azonos típusú objektum típusú változóba lehet átmásolni. Végrehajtunk néhány DML-parancsot a Cars táblával. 71

72 DECLARE C CAR; Id NUMBER; BEGIN SELECT MAX(Key) INTO Id FROM Cars; SELECT OneCar INTO C FROM Cars WHERE Key=Id; C.Model:= BMW ; C.Color:= Fekete ; INSERT INTO Cars VALUES (Id+1, C); END; 72

73 Az eredmény: SELECT * FROM Cars; KEY ONECAR(MODEL, COLOR, COST) CAR( Skoda, Piros, ) 2 CAR( Lada, Zöld, ) 3 CAR( BMW, Fekete, ) Az SQL parancsokban az objektum attribútumaira csak úgy hivatkozhatunk, hogy megadjuk a tábla másodlagos (alias) nevét is. 73

74 Példa. SELECT C.OneCar.Model FROM Cars C; ONECAR.MODEL Skoda Lada BMW Akkor is szükség van a tábla másodlagos nevére, ha hivatkozni akarunk az objektum metódusára. SELECT C.OneCar.GetCarInfo() FROM Cars C; 74

75 C.ONECAR.GETCARINFO() Skoda Piros Lada Zöld BMW Fekete Az objektum-sorok esetén az objektum attribútumait ugyanúgy lehet alkalmazni, mintha azok hagyományos relációs tábla oszlopai lennének. SELECT C.OneCar.GetCarInfo() FROM CarsRows C; 75

76 C.GETCARINFO() Skoda Piros Lada Zöld BMW Fekete

77 10.6 Összetett konstrukciók (COLLECTIONS) Az Oracle a következő összetett konstrukciót tartalmaz: Indexelt táblák (Index-by tables) Beágyazott táblák (Nested tables) Tömbök (Változó hosszuságuak), amelyek objektum tulajdonsággal rendelkeznek, mivel tartalmaznak attribútumokat és metódusokat. Az indexelt táblák és a beágyazott táblák a PL/SQL táblákat alkotják. A beágyazott táblákat az AB táblákban is lehet tárolni (ezért kapták a nevüket). Az indexelt táblák nem tárolódhatnak az AB táblákban, és csak a PL/SQL programokban alkalmazhatók. 77

78 Indexelt táblák Az indexelt táblát nem azonosak az adatbázis táblával!. Az indexelt tábla szintaxisa hasonlít a tömb szintaxisára. Mielőtt egy indexelt táblát deklarálnánk, egy PL/SQL blokkban létre kell hozni a típusát: TYPE tábla_tipus IS TABLE OF tipus INDEX BY BINARY_INTEGER; A tábla típusa objektum típusú is lehet. Az INDEX BY BINARY_INTEGER paraméter kulcs jellegű, kötelező az indexelt táblák esetén, de a beágyazott táblákban nem alkalmazhatók. Az indexelt tábla két oszlopot tartalmaz: KEY (kulcs) 78

79 VALUE (érték) A kulcs típusa BINARY_INTEGER, a kulcs lehetséges értékei ( ), a VALUE típusát a deklarációban kell megadni. Nem kötelező, hogy a tábla elemeinek indexei egymás utáni értékeket kapjanak. 79

80 Példa. TYPE t_charactertable IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER; Az indexelt tábla deklarálása: V_Characters t_charactertable; Példa. DECLARE TYPE t_nametable IS TABLE OF students.vezetek_nev%type INDEX BY BINARY_INTEGER; TYPE t_datetable IS TABLE OF DATE INDEX BY BINARY_INTEGER; 80

81 V_ Names t_nametable; V_ Dates t_datetable; A tábla elemeire az index által hivatkozhatunk Tabla_név(index) BEGIN V_ Names(1):= Szabó ; V_ Dates(-4):= SYSDATE - 1; END; SET SERVEROUTPUT ON DECLARE TYPE t_studenttable IS TABLE OF students%rowtype INDEX BY BINARY_INTEGER; 81

82 V_Diak t_studenttable; BEGIN SELECT * INTO V_Diak(10001) FROM students WHERE id = 10001; V_Diak(10001).vezetek_nev := 'Kovács'; DBMS_OUTPUT.PUT_LINE(V_Diak(10001).vezetek_nev); END; Beágyazott táblák A Beágyazott táblára úgy tekinthetünk, mint egy adatbázis táblára, amelynek két oszlopa van KEY (kulcs) VALUE (érték) (mint az indexelt táblában). 82

83 A beágyazott tábla egy AB tábla oszlopa lehet. A beágyazott tábla típusának deklarálása: TYPE tábla_típus IS TABLE OF típus; A tábla elemeinek inicializálása a konstruktor-függvény használatával történik. A létrehozott tábla-elemek kezdő indexe csak egy lehet, és a következő értékei mindég csak eggyel növekedhetnek. Példa. DECLARE K INTEGER; TYPE Num_Tab IS TABLE OF NUMBER; Tab_1 Num_Tab :=Num_Tab(-1); Tab_2 Num_Tab :=Num_Tab(1, 2, 3, 5, 7); Tab_3 Num_Tab :=Num_Tab( ); 83

84 BEGIN Tab_1(1):=12345; FOR K IN 1..5 LOOP DBMS_OUTPUT.PUT(Tab_2(K) ); END LOOP; DBMS_OUTPUT.NEW_LINE; END; A példában az inicializáláskor a táblák elemei a következő értékeket kapták: Tab_1(1)=( -1), Tab_2(1)=(1), Tab_2(2)=(2), Tab_2(3)=(3), Tab_2(4)=(5), Tab_2(15=(7); 84

85 A Tab_3 létezik, de egyetlen elemet sem tartalmaz. A programban a Tab_1 tábla első eleme megváltozik (12345 értéket kap) Tömbök Az Oracle-ban használható tömb megfelel a C és a Java nyelvekben alkalmazott tömböknek. A tömb elemeire ugyanúgy lehet hivatkozni, mint az indexelt, vagy a beágyazott táblák elemeire. A tömb indexnek a kezdő értéke mindig egye, és eggyel növekszik. A tömb típus deklarálása: TYPE típus_név IS VARRAY <maximális_méret> OF elemek_típusa [NOT NULL]; Az elemek_típusa alap-, rekord, vagy objektum típusú lehet. Ezenkívül, a %TYPE segítségével az AB tábla oszlop típusát lehet 85

86 alkalmazni, a %ROWTYPE pedig az AB tábla sorai alapján egy rekord típust hoz létre. A NOT NULL nem engedélyezi, hogy a tömb üres elemeket tartalmazzon. Példa. TYPE Num_List IS VARRAY (20) OF NUMBER(3) NOT NULL; TYPE Car_List IS VARRAY (100) OF CarArr%ROWTYPE; TYPE Car_Arr IS VARRAY (20) OF Car; A tömb kezdő értékeit a konstruktorok által lehet megadni. 86

87 DECLARE TYPE Var_Num IS VARRAY (20) OF NUMBER; Var_1 Var_Num := Var_Num(1, 2, 3); BEGIN DBMS_OUTPUT.PUT_LINE(Var_1(1)); Var_1(1):=15; DBMS_OUTPUT.PUT_LINE(Var_1(1)); END; 1 15 A tömb méretét az EXTEND metódussal lehet növelni Összetett konstrukciók metódusai 87

88 Mivel a tömbök és beágyazott táblák objektum típusú konstrukciók, azok metódusokkal is rendelkeznek, az indexelt táblákhoz pedig attribútumok tartoznak. A metódusokra, mint az attribútumokra is s következő képen lehet hivatkozni: konstrukció_eleme.metódus vagy konstrukció_eleme.attribútum A metódusok csak a blokkokban alkalmazhatók, és nem az SQLparancsokban. Az Oracle felismeri a következő beépített metódusokat: EXISTS (az eredmény típusa BOOLEAN) COUNT (az eredmény típusa NUMBER) FIRST (az eredmény típusa BINARY_INTEGER) LAST (az eredmény típusa BINARY_INTEGER) 88

89 NEXT (az eredmény típusa BINARY_INTEGER) PRIOR (az eredmény típusa BINARY_INTEGER) EXTEND (új elemeket szúr be a konstrukcióba) TRIM (törli a konstrukció utolsó elemeit) DELETE (törli az elemeket a konstrukcióban) EXISTS metódus. Az EXISTS metódust akkor alkalmazzuk, ha akarjuk megállapítani, hogy létezik-e az n-ik elem EXISTS(n) A metódus eredménye TRUE, ha az adott elem létezik, különben FALSE. 89

90 Példa. DECLARE TYPE t_vezetek_nevtable IS TABLE OF students.vezetek_nev%type INDEX BY BINARY_INTEGER; Vezetek_Nevs t_vezetek_nevtable; BEGIN Vezetek_Nevs(1) := 'Szabó'; Vezetek_Nevs(3) := 'Kiss'; IF Vezetek_Nevs.EXISTS(1) THEN INSERT INTO test (char_col) VALUES ( 'Az 1 sor létezik!'); ELSE INSERT INTO test (char_col) VALUES 90

91 (' Az 1 sor nem létezik!!'); END IF; IF Vezetek_Nevs.EXISTS(2) THEN INSERT INTO test (char_col) VALUES (' A 2 sor létezik!'); ELSE INSERT INTO test (char_col) VALUES (' A 2 sor nem létezik!'); END IF; END; COUNT metódus A COUNT metódus nem tartalmaz paramétereket, és az eredménye a konstrukció elemeinek száma. 91

92 Példa. DECLARE TYPE Tabla_1 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; Szamok Tabla_1; Osszesen NUMBER; BEGIN FOR k IN LOOP Szamok(k) := k; END LOOP; Osszesen := Szamok.COUNT; DBMS_OUTPUT.PUT_LINE(Osszesen); END; 50 92

93 NEXT, PRIOR, FIRST és LAST metódusok A NEXT metódus növeli a kulcs (KEY) értékét. A NEXT(n) visszaadja az n után következő indexet (növekvő irányban), a PRIOR metódus pedig csökkenti a kulcs (KEY) értékét PRIOR(n) az n előtti indexet kapjuk (csökkenő irányban). Ha az adott értékű kulcs (n) nem létezik, akkor a NEXT és PRIOR eredménye NULL lesz. A FIRST metódus az index első értékét adja, a LAST pedig az utolsó értékét. A FIRST és a LAST metódusok nem tartalmaznak paramétert. Példa. 93

94 DECLARE TYPE Nev_Table IS TABLE OF students.nev%type INDEX BY BINARY_INTEGER; v_nev Nev_Table; v_index BINARY_INTEGER; BEGIN -- Új sorokat szúrunk be a táblába. v_nev(43) := 'Sándor'; v_nev(50) := 'Mária'; v_nev(47) := 'Iván'; v_index := v_nev.first; -- v_index=43 v_index := v_nev.last; -- v_index=50 END; 94

95 Példa. DECLARE TYPE Szakok IS TABLE OF students.szak%type INDEX BY BINARY_INTEGER; v_szak t_szakok; v_index BINARY_INTEGER; BEGIN v_szak(-7) := 'Számítástechnika'; v_szak(4) := 'Történelem'; v_szak(5) := 'Matematika'; v_index := v_szak.first; LOOP -- a v_index a következő értékeket kapja a ciklusban- - 7, 4, 5. 95

96 INSERT INTO test (num_col, char_col) VALUES (v_index, v_szak(v_index)); EXIT WHEN v_index = v_szak.last; v_index := v_szak.next(v_index); END LOOP; END; Példa. DECLARE TYPE Char_Tab IS TABLE OF CHAR(1); Char_1 Char_Tab:= Char_Tab( a, b, c, d, e ); Ind INTEGER; BEGIN Ind:=Char_1.FIRST; 96

97 WHILE Ind<= Char_1.LAST LOOP DBMS_OUTPUT.PUT(Char_1(Ind)); Ind:=Char_1.NEXT(Ind); END LOOP; DBMS_OUTPUT.NEW_LINE; Ind:=Char_1.LAST; WHILE Ind >= Char_1.FIRST LOOP DBMS_OUTPUT.PUT(Char_1(Ind)); Ind:=Char_1.PRIOR(Ind); END LOOP; DBMS_OUTPUT.NEW_LINE; END; 97

98 abcde edcba EXTEND metódus Az EXTEND metódus új elemeket szúr be a konstrukcióba. A metódus három formában alkalmazható EXTEND EXTEND(n) EXTEND(n, i) Az EXTEND paraméterek nélkül a konstrukció végére NULL (üres) elemet szúr be; EXTEND (n) a konstrukció végére n NULL (üres) elemet szúr be; 98

99 EXTEND (n, i) az i számú elemet n-szer a konstrukció végére másolja át. Ha a konstrukció a NOT NULL záradékkal volt létrehozva, akkor az EXTEND csak az utolsó formájában alkalmazható. Példa. A SQL*Plus-ban: DECLARE TYPE Num_Tab IS TABLE OF NUMBER; TYPE Num_Var IS VARRAY(25) OF NUMBER; Tab_1 Num_Tab :=Num_Tab(1, 2, 3, 4, 5); Tab_2 Num_Var :=Num_Var(1, 2, 3, 4, 5); BEGIN 99

100 Tab_1(26) := -7; -- A Tábla 26-ik eleme nem létezik EXCEPTION WHEN SUBSCRIPT_BEYOND_COUNT THEN DBMS_OUTPUT.PUT_LINE( A Tábla 26-ik eleme nem létezik ); END; --A PL/SQL táblát lehet bővíteni: Tab_1.EXTEND(30); Tab_1(26) := -7; -- most már Tab_1(26) létezik -- A tömböt csak a maximális méretig (25) lehet bővíteni. Tab_2(26) := -7; EXCEPTION WHEN SUBSCRIPT_OUTSIZE_LIMIT THEN 100

101 DBMS_OUTPUT.PUT_LINE( Nem sikerült a tömb méretét növelni a 30-ik elemig ); END; END; TRIM metódus A TRIM metódus törli a konstrukció utolsó elemét (elemeit). Két formája létezik TRIM és TRIM(n) A TRIM az utolsó elemet törli. A TRIM(n) törli az utolsó n elemet. Ha n>count, akkor SUBSCRIPT_BEJOND_COUNT kivételes szituáció következik be. A TRIM végrehajtása után a COUNT értéke is megváltozik. 101

102 DELETE metódus A DELETE metódus egy vagy több elemet töröl az indexelt vagy beágyazott táblából. A DELETE a tömbök esetén nem alkalmazható. Három formája van DELETE; DELETE(n); DELETE(n, m) DELETE törli az egész táblát. DELETE(n) azt az elemet törli, amelynek az indexe = n. DELETE(n, m) azokat az elemeket törli, amelyeknek az indexe n és m között van. Példa. 102

103 DELETE (5) -- törli az 5. elemet DELETE(5, 8) -- törli az 5,6,7,8 indexű elemeket DECLARE TYPE Tabla_ertekek IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER; Ertekek Tabla_ertekek; BEGIN Ertekek(1) := 'Egy'; Ertekek(3) := 'Három'; Ertekek(-2) := 'Minusz kettő'; Ertekek(0) := 'Zeró'; Ertekek(100) := 'Száz'; 103

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kalmár György Adatbázis alapú rendszerek

Kalmá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é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á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

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

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

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok

Részletesebben

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

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

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

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

Relációsémák létrehozása SQL nyelvben

Relációsémák létrehozása SQL nyelvben Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,

Részletesebben

Objektum relációs lehetőségek az Oracle-ben. Katona Endre Adatbázis alapú rendszerek diasorozata alapján

Objektum relációs lehetőségek az Oracle-ben. Katona Endre Adatbázis alapú rendszerek diasorozata alapján Objektum relációs lehetőségek az Oracle-ben Katona Endre Adatbázis alapú rendszerek diasorozata alapján Az objektum-relációs adatmodell ODL, OQL: az objektum-orientált világba átemel SQL elemeket. Itt

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á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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS 2015-2016 Adatbázis alapú alkalmazások készítése PHP-ben Adatbázis alapú alkalmazás 2 A leggyakrabban használt dinamikus alkalmazások

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

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

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

A JavaScript főbb tulajdonságai

A JavaScript főbb tulajdonságai JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén

Részletesebben

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

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

PL/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)] 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észletesebben

Adatbázis Rendszerek II. 3. SQL alapok

Adatbázis Rendszerek II. 3. SQL alapok Adatbázis Rendszerek II. 3. SQL alapok 22/1 B IT v: 2016.10.20 MAN Oracle adattípusok Szöveges adattípusok CHAR (1-2000) VARCHAR (1-4000) VARCHAR2 (1-4000, nemzeti karakterekhez) CLOB (max. 8 TB) NCLOB

Részletesebben

Tá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 ) ); 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észletesebben

SQL parancsok feldolgozása

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

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR 2( Adatbázisrendszerek 2) 2. Előadás: Tárolt eljárások 1 Tárolt eljárások MySQL-ben Tárolt eljárások definíciója Tárolt rutinok használata (eljárások

Részletesebben

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop. Oracle Spatial Az Oracle adatbázis-kezelő rendszer Oracle Spatial (Oracle Locator) nevű kiegészítő modulja támogatja a térbeli adatok kezelését. Térbeli adatot tartalmazó tábla: Geometry table Legalább

Részletesebben

LBRA6i integrált rendszer

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

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

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

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint

Részletesebben

Hozzunk ki többet abból amink van. Fehér Lajos

Hozzunk ki többet abból amink van. Fehér Lajos Hozzunk ki többet abból amink van Fehér Lajos Adatelérés Örök érvényű dolgaink Sor láncolás, migráció Index elhasználódás Tábla fregmentálódás Indexek száma Referenciális hivatkozások Triggerek Adatelérés

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

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

Jegyz könyv. Adatbázis-rendszerek II. Beadandó feladat. Miskolci Egyetem

Jegyz könyv. Adatbázis-rendszerek II. Beadandó feladat. Miskolci Egyetem Jegyz könyv Miskolci Egyetem Adatbázis-rendszerek II. Beadandó feladat Készítette: Er s Tamás Mihály (IEDBZO) 3. Évfolyam. Programtervez Informatikus Szak Miskolc, 2010 Feladat A feladat részletezése:

Részletesebben

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján Vektoros grafikát tároló adatbázisok Katona Endre Térképi adatbázisok diasorozata alapján Vektoros adatábrázolás Kép = rajzelemek sorozata, koordinátageometriai leírással. CAD rendszerekre jellemző (pl.

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

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

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

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

ADATBÁZIS RENDSZEREK I BEADANDÓ

ADATBÁZIS RENDSZEREK I BEADANDÓ ADATBÁZIS RENDSZEREK I BEADANDÓ n é v : H u zynets Erik n e p t un: BJ8BDJ t a n k ö r: G2-BGI G y a k. v ezető: Smid László G y a k. időpontja: Szerda 16-18 Feladat megfogalmazása Beadandóm főként számítógépes

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

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

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

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

Database Systems II. ZH összefoglaló

Database Systems II. ZH összefoglaló Database Systems II. ZH összefoglaló 1) Kód az adatbázisban tárolva PSM CREATE PROCEDURE name(parameters) local declarations body PL/SQL CREATE (OR REPLACE) PROCEDURE name(parameters) local declarations

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

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

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

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla 1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva

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

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék MySQL Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék Távközlés-informatika szakirány Protokollok és Szoftverek I. Zsiga Bálint Kovács Ákos Az relációs adatbázis-kezelő rendszerekről Kis

Részletesebben

Adatbázis használat I. 5. gyakorlat

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

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

PL/SQL feladatok 8. gyakorlat

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

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5. IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere

Részletesebben

Adatbázisok webalkalmazásokban

Adatbázisok webalkalmazásokban Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

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

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 2. ELİADÁS Visual Basic bevezetı Visual Basic.NET nyelvi elemek 2 Visual Basic.NET programozási nyelv Nyelvi elemek: Általában

Részletesebben

Adatbázis használata PHP-ből

Adatbázis használata PHP-ből Adatbázis használata PHP-ből Adatbázis használata PHP-ből...1 Nyílt forráskódú adatbázisok...1 A mysql függvények...2 A mysqli függvények...4 Bináris adatok adatbázisban való tárolása...8 Adatbázis csatoló

Részletesebben

2012.05.11. Adatbázisok I A relációs algebra

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

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK Az adatbázis-kezelők elvárásai közé tartozik az, hogy legyen egy olyan adatbázis-kezelőktől független nyelv, amely az adatdefiníciós, az adatmanipulációs és a lekérdező

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ázis, adatbázis-kezelő

Adatbázis, adatbázis-kezelő Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,

Részletesebben

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek

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

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:

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

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis

Részletesebben

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. Adatbázis I. 11. előadás Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. 1 1. Kulcsok az SQL-ben 2. Hivatkozási épség és idegen kulcsok 3. Attribútum értékre vonatk. megszorítások

Részletesebben

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv). Az SQL nyelv SQL (Structured Query Language = Strukturált Lekérdező Nyelv). A lekérdezési funkciók mellett a nyelv több olyan elemmel is rendelkezik, amelyek más adatkezelési funkciók végrehajtására is

Részletesebben

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

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

II. év. Adatbázisok és számítógépek programozása

II. év. Adatbázisok és számítógépek programozása II. év Adatbázisok és számítógépek programozása A programozási ismeretek alapfogalmai a) algoritmus b) kódolás c) program a) algoritmus: elemi lépések sorozata, amely a következı tulajdonságokkal rendelkezik:

Részletesebben

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 3. Előadás Az SQL adatbázisnyelv (Tartalom) Az SQL története Az SQL felépítése Adattípúsok SQL utasítások 1 Sapientia - Erdélyi Magyar TudományEgyetem

Részletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Kliens oldali SQL-API

Kliens oldali SQL-API Adatbázis rendszerek I mysql SQL program API ME- GEIAL Dr. Kovács Lászl szló Üzleti logika elhelyezése adatbázis Kliens üzleti logika Nagy hálózati forgalom Decentralizált lt karbantartás Lassabb végrehajt

Részletesebben

A könyv tartalomjegyzéke

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

DRAFT. PL/SQL programozás. Alkalmazásfejlesztés Oracle 10g-ben ISBN-13 9-789635454-68-6. PL/SQL programozás

DRAFT. PL/SQL programozás. Alkalmazásfejlesztés Oracle 10g-ben ISBN-13 9-789635454-68-6. PL/SQL programozás i PLSQL programozás Alkalmazásfejlesztés Oracle 10g-ben ii Copyright 2007 Hungarian Edition Panem Könyvkiadó, Budapest A tananyag a TÁMOP-4.1.2-081A-2009-0046 számú Kelet-magyarországi Informatika Tananyag

Részletesebben

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán A mai órán A mai órán SQL (és ami mögötte van) Mi lesz a ZH-ban? SQL Történet 1970-es évek eleje IBM SEQUEL (Structured English QUery Languge)

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva by A feladat bemutatása...1 Táblák létrehozása...1 Táblák feltöltése...2 Adatbáziskezelés php-ben...5 Csatlakozás az MySQL szerverhez

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

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5. SQL gyakorló feladatok 6. Adatbázis gyakorlat 2011. április 5. SQL alapparancsai DDL: - create: táblák létrehozása - alter: táblák (séma) módosítása - drop: táblák törlése DML: - select: adatok lekérdezése

Részletesebben