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

Hasonló dokumentumok
Kliens oldali SQL-API


Adatbázis rendszerek I.

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

Java programozási nyelv 11. rész Adatbázis-programozás

Adatbázisok webalkalmazásokban

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázis Rendszerek II. 8. Gyakorló környezet

Database Systems II. ZH összefoglaló

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

PHP-MySQL. Adatbázisok gyakorlat

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Adatbázis Rendszerek II. 2. Gyakorló környezet

Java Programozás 10. Ea: JDBC. SQLite alapokon

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

Adatbázisok* tulajdonságai

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

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

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

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

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

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

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:

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

Adatbázisok kliens-szerver arhitektúrája. Copyright, 1996 Dale Carnegie & Associates, Inc.

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő A PHP programozási nyelv JDBC, ODBC

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

B IT MAN 65/1. Adatbázis Rendszerek II. Ellenőrző kérdések APLSQL B IT MAN. v:

Adatbázis használata PHP-ből

MDAC - Microsoft Data Access Components

Haladó DBMS ismeretek 1

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

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

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17


Adatbázis rendszerek 7. előadás State of the art

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

JAVA PROGRAMOZÁS 8.ELŐADÁS

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

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

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

Java és web programozás

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

Megtanuljuk, hogyan lehet egy web-alkalmazással adatbázishoz csatlakozni Pontosan megnézzük a PHP lehetőségeit o MySQL-hez o Oracle-höz

Adatbázisok gyakorlat

Adatbázisok I A relációs algebra

Adatbázis-kezelés ODBC driverrel

AdoDB a gyakorlatban

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

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:

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

Bevezetés: az SQL-be

PRECÍZ Információs füzetek

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

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

SQLServer. SQLServer konfigurációk

Adatbázisok I. Az SQL nyelv

A könyv tartalomjegyzéke

OOP és UML Áttekintés

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

Java és web programozás

BEVEZETÉS Az objektum fogalma

Adatbázis Rendszerek II. 4. PLSQL Kurzorok, hibakezelés 53/1B IT MAN

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

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

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera

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

Féléves feladat. Vezetéknév Keresztnév

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

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.

Tranzakciókezelés PL/SQL-ben

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

MySQL kontra MongoDB programozás. SQL és NoSQL megközelítés egy konkrét példán keresztül

Adatbázis kezelő alkalmazás


API tervezése mobil környezetbe. gyakorlat

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

PHP MySQL, Java JDBC MySQL. Adatbázisok az iskolában 2012 Dr. Balázs Péter Palatinus Endre és Erdőhelyi Balázs diái alapján

TestLine - balla tesztje-03 Minta feladatsor

Nyilvántartási Rendszer

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN

LBRA6i integrált rendszer

Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés elemi eszközökkel. A MySQL adatbázis-kezelő

Gyakorlati vizsgatevékenység B

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

A.NET keretrendszer (.NET Framework) három alapvetõ összetevõbõl áll:

Gyakorlati vizsgatevékenység A

Foglalkozási napló a 20 /20. tanévre

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

XCZ állományok ellenőrzése, átadása elektronikus beküldésre és közvetlen beküldése parancssori funkcióval az ÁNYK programban

Java programozási nyelv 9. rész Kivételkezelés

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

SQLServer. Particionálás

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Átírás:

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 esetén (minden paramétert meg kell adni) Nem alkalmas, ha több adatot akarunk bevinni felhasználó nem jártas az SQL nyelvben előzetes előszámításokra van szükség felhasználóbarát adatmegjelenítést kell megvalósítani a bevitelre kerül értékeket egy listából választjuk ki 39/2 B IT MAN

Megoldás Testre szabott alkalmazói program készítése Kliens Adatbázis szerver 39/3 B IT MAN

Az alkalmazói program feladatai Kliens oldal Szerver oldal Parancs, művelet Parancs fogadás Parancs végrehajtás Eredmények Eredmény elküldése 39/4 B IT MAN

Az alkalmazói program feladatai Kapcsolat felvétel: Paraméterei: host, port, adatbázis, felhasználónév, jelszó Utasítások elküldése: SQL utasítások formájában Lehet paraméteres is Eredmények fogadása: Nemcsak SELECT esetén van eredmény Kurzor kezelési mechanizmus Hibakezelés: Alkalmazás v. adatbázis rendszer hiba, kivételek 39/5 B IT MAN

API felületek (Alkalmazásprogramozási interfész) Beágyazott SQL CLI, ODBC JDBC 4GL 39/6 B IT MAN

Beágyazott SQL SQL parancsok gazdanyelvi környezetbe ágyazva Gazdanyelv: Pascal, C, Java, Gazdanyelv + SQL utasítások = Alkalmazás forráskódja Megoldanadó problémák: Kapcsolódás az adatbázis szerverhez SQL parancs felismerése Értékek átadása Eredménytábla feldolgozása Hibakezelés Típuskonverzió 39/7 B IT MAN

Példák C programnyelven SQL parancs felismerése EXEC SQL (parancs); Kapcsolódás adatbázishoz EXEC SQL CONNECT :felhasználónév IDENTIFIED BY :jelszó; Lekapcsolódás DISCONNECT; 39/8 B IT MAN

Példák C programnyelven Parancs küldése EXEC SQL INSERT INTO auto VALUES ( abc-123, Opel, piros,5,500000); Értékek átadása (gazdanyelvi változókkal) int a; a = 5; EXEC SQL INSERT INTO auto VALUES ( abc-123,, Opel, piros,:a,500000, 123456ab ); 39/9 B IT MAN

Példák C programnyelven Konkrét adatok fogadása (egy sornyi adat) Gazdanyelvi változókba kerülnek az értékek A v-listának illeszkednie kell az m-listára SELECT m-lista INTO v-lista FROM táblanév ; printf( Kérem a típust: ); scanf( %s,&tip); EXEC SQL SELECT count(*), max(ar) INTO :db, :maxar from auto where tipus = :tip; printf( db = %d, max ár = %d\n,db,maxar); 39/10 B IT MAN

Példák C programnyelven Rekordok fogadása (több sornyi adat) A SELECT parancs eredményét KURZOR segítségével tudjuk rekordonként feldolgozni Lépések: Kurzor deklarálása Megnyitás Kiolvasás Lezárás 39/11 B IT MAN

Példák C programnyelven EXEC SQL DECLARE c1 CURSOR FOR SELECT nev FROM ember WHERE kor > 20; EXEC SQL OPEN c1; C nyelven szervezett ciklusban a kiolvasás: EXEC SQL FETCH c1 INTO :y; EXEC SQL CLOSE c1; Kurzor deklarálása Megnyitás Kiolvasás Lezárás 39/12 B IT MAN

Példák C programnyelven EXEC SQL BEGIN DECLARE SECTION; char *r1; int a1; CURSOR c1 FOR SELECT rsz, ar FROM auto; EXEC SQL END DECLARE SECTION; EXEC SQL OPEN c1; while() { EXEC SQL FETCH c1 INTO :r1, :a1; printf( rsz=%s, ar=%d\n,r1,a1); } EXEC SQL CLOSE c1; Kurzor deklarálása Megnyitás Kiolvasás Lezárás 39/13 B IT MAN

Példák C programnyelven Hibakezelés Minden kiadott SQL utasítás után az adatbázisszerver visszajelzi a kliens programnak, hogy az utasítás sikeresen lefutott-e vagy valami hiba történt. A visszajelzés úgy történik, hogy a szerver a kliens program megfelelő változóinak ad értéket. A kliens programnak ezeket a változókat deklarálnia kell a következő utasítással: EXEC SQL INCLUDE SQLCA; 39/14 B IT MAN

Példák C programnyelven Az include sqlca hatására az SQL előfordító definiál a programban egy sqlca nevű, struktúra típusú C változót, amelynek a legfontosabb mezői a következők: SQLCA.sqlcode végrehajtási státusz Ha =0, sikeresen lefutott a parancs Ha <0, hiba történt, az érték a hibakód Ha >0, kivételes eset történt, pl. nincs a select-nek eredménye SQLCA.sqlerrm hiba szövege SQLCA.sqle - kb. 30 további metódus 39/15 B IT MAN

Példák C programnyelven EXEC SQL INCLUDE SQLCA; main() { EXEC SQL UPDATE dolgozo SET fizetes=0; if (sqlca.sqlcode < 0) { } } 39/16 B IT MAN

Példák C programnyelven Tranzakció kezelés BEGIN TRAN BEGIN TRY insert into nevek values ('abc'); insert into számok values (123); COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH END TRAN 39/17 B IT MAN

CLI (Call Level Interface) A gazdanyelv szintaktikájához idomul Eljárások, függvények hívása a gazdanyelvi környezetben SQL utasítás, mint aktuális paraméter Kapcsolat definiálása is függvénnyel Dinamikus SQL parancsok rugalmasabban kezelhetők Egyidejűleg több adatbázishoz is kapcsolódhat Nagyobb programozási előkészítést igényel Gazdanyelv + Eljárások Függvények = CLI felület 39/18 B IT MAN

Példa PHP nyelven <?php $con=mysql_connect("host","user","pswd"); if (!$con){ echo "Hibás MySQL kapcsolódás: ".mysql_error(); } $mdb = mysql_select_db("bolt",$con); $sql="insert INTO Kategória VALUES ('$_POST[ujkod]','$_POST[ujnev]')"; if (mysql_query($sql,$con)){ echo "Rekord hozzáadva!"; } else { echo "Gond van:".mysql_error(); } CloseCon(); 39/19?> B IT MAN

ODBC (Open Database Connectivity) Programozási nyelvtől független megoldás Microsoft technológia Az ODBC (Nyílt adatbázis kapcsolat) egy C nyelven alapuló interfészt ad, mely egységes felületet biztosít az adatbázisokhoz a következő területeken: Csatlakozás és bejelentkezés Adattípus és adatábrázolás Hibakódok SQL parancsok Minden adatbázishoz szükséges saját ODBC meghajtó 39/20 B IT MAN

ODBC technológia Oracle ODBC driver SQL Server DB2 MySQL Alkalmazás Driver menedzser ODBC driver Informix Berkley ODBC driver SyBase Access Excel TXT 39/21 B IT MAN

Az ODBC programozás lépései Kapcsolódás Lekérdezés Eredmények feldolgozása Lekapcsolódás 39/22 B IT MAN

Az ODBC programozás lépései Kapcsolódás Driver regisztrálása Lekérdezés Kapcsolódás a DBMS-hez Eredmények feldolgozása Lekapcsolódás 39/23 B IT MAN

Az ODBC programozás lépései Kapcsolódás Lekérdezés SQL kérés összeállítása Eredmények feldolgozása SQL kérés elküldése Lekapcsolódás 39/24 B IT MAN

Az ODBC programozás lépései Kapcsolódás Lekérdezés Az eredményhalmaz rekordonkénti bejárása Eredmények feldolgozása Lekapcsolódás Az értékek átadása programváltozóknak Kurzor deklarálása Megnyitás Kiolvasás Lezárás 39/25 B IT MAN

Az ODBC programozás lépései Kapcsolódás Lekérdezés Eredményhalmaz lezárása Eredmények feldolgozása SQL kérés lezárása Lekapcsolódás Kapcsolat lezárása 39/26 B IT MAN

Az ODBC programozás lépései 1. Függvénykönyvtárak betöltése 2. Driverek regisztrálása, betöltése 3. Adatbázis kapcsolat létrehozása (kapcsolat változó) 4. Statement (SQL parancs kiadására alkalmas változó) létrhozása 5. SQL parancs megadása 6. Programváltozók segítségével a parancs paraméterezése 7. Parancs végrehajtása 8. Eredmény feldolgozása: értékek átadása programváltozóba 9. Statement, kapcsolat lezárása 39/27 B IT MAN

JDBC (Java Database Connectivity) OOLI (Object Oriented Level Interface) Java nyelven íródott interfész, ODBC elvek betartása, annak továbbfejlesztése Oracle driver Oracle JAVA Alkalmazás Driver menedzser MySQL driver MySQL jdbc/odbc driver ODBC driver 39/28 B IT MAN

A JDBC programozás lépései Kapcsolódás Lekérdezés Eredmények feldolgozása Lekapcsolódás 39/29 B IT MAN

A JDBC programozás lépései Kapcsolódás Driver regisztrálása Lekérdezés Kapcsolódás a DBMS-hez Eredmények feldolgozása Lekapcsolódás 39/30 B IT MAN

A JDBC programozás lépései Kapcsolódás Lekérdezés Statement létrehozása Eredmények feldolgozása Statement végrehajtása Lekapcsolódás 39/31 B IT MAN

A JDBC programozás lépései Kapcsolódás Lekérdezés Rekordonként bejárjuk a ResultSet-et Eredmények feldolgozása Lekapcsolódás Az értékeket átadjuk JAVA változóknak Kurzor deklarálása Megnyitás Kiolvasás Lezárás 39/32 B IT MAN

A JDBC programozás lépései Kapcsolódás Lekérdezés ResultSet lezárása Eredmények feldolgozása Statement lezárása Lekapcsolódás Kapcsolat lezárása 39/33 B IT MAN

A JDBC programozás lépései 1. SQL osztály importálása 2. Driverek regisztrálása, betöltése 3. Adatbázis kapcsolat létrehozása (kapcsolat változó) 4. Statement (SQL parancs kiadására alkalmas változó) létrhozása 5. SQL parancs megadása 6. Programváltozók segítségével a parancs paraméterezése 7. Parancs végrehajtása 8. Eredmény feldolgozása: értékek átadása programváltozóba 9. ResultSet, Statement, kapcsolat lezárása 39/34 B IT MAN

4GL rendszerek 4GL = 4th Generation Language Nem programozási nyelv, hanem grafikus felülettel rendelkező integrált alkalmazásfejlesztő eszköz. A 4GL eszközök magas szintű programozási nyelvre épülő komplex, objektumorientált programfejlesztő rendszerek (komponens alapú fejlesztési módszert alkalmaznak). 39/35 B IT MAN

A 4GL rendszerek jellemzői Grafikus felhasználói felület Objektumorientáltság (kész objektumok) Eseményvezérelt programozás Gyors fejlesztés (komponens alapú): elég megadni a megjelenítési és eseménykezelési paramétereket; az implementációs részleteket elrejti. Szabványosság és rugalmasság Moduláris programfelépítés Csoportmunka-támogatás Segédprogramok széles választéka Futtatható állomány generálása 39/36 B IT MAN

39/37 B IT MAN

39/38 B IT MAN

VÉGE VÉGE 39/39 B IT MAN