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

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

Adatbázisok gyakorlat

PHP. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat

Adatbázisok webalkalmazásokban

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

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

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

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

JavaServer Pages (JSP) (folytatás)

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

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


Java Database Connectivity (JDBC)

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ás 10. Ea: JDBC. SQLite alapokon

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

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

Java programozási nyelv 6. rész Java a gyakorlatban

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

JAVA PROGRAMOZÁS 8.ELŐADÁS

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Programozási nyelvek Java

abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {

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

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

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

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

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Kliens oldali SQL-API

A Java nyelv. VI. Adatbázis-kezelés Javaban, Példaprogram Az elôzô részben láthattuk, hogy a Java ideális programozási nyelv perszisztens objektumok

Internet programozása. 1. előadás

Stateless Session Bean

Java és web programozás

Pénzügyi algoritmusok

Segédanyag: Java alkalmazások gyakorlat

A MOODLE KERETRENDSZER TELEPÍTÉSE

Entity Framework alapú adatbáziselérés

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

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

A C# programozási nyelv alapjai

Web-technológia PHP-vel

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

Globális operátor overloading

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

INFORMATIKAI ALAPISMERETEK

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

Java és web programozás

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

Adatbáziskezelés Delphi 5 alatt. Bese Antal

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

A WEB programozása - JSP1 dr.gál Tibor őszi félév

OOP: Java 8.Gy: Abstract osztályok, interfészek

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Smalltalk 2. Készítette: Szabó Éva

Java I. A Java programozási nyelv

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

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

A JavaScript főbb tulajdonságai

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

PRECÍZ Információs füzetek

Adatbázis használata PHP-ből

Apache, MySQL, PHP/Perl NetWare-n

Bevezető. Servlet alapgondolatok

500. AA Megoldó Alfréd AA 500.

7. K: JAVA alapok Konzultáció

WEBES ALKALMAZÁSFEJLESZTÉS 1.

INFORMATIKAI ALAPISMERETEK

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

Java Programozás 11. Ea: MVC modell

OOP és UML Áttekintés

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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:

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

WordPress segédlet. Bevezető. Letöltés. Telepítés

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

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

Bevezetés a Python programozási nyelvbe

Informatika terméktervezőknek

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Programozás I. Első ZH segédlet

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

és az instanceof operátor

OOP: Java 8.Gy: Gyakorlás

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Adatbázis rendszerek. dr. Siki Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Segédanyag: Java alkalmazások gyakorlat

JAVA SE/ME tanfolyam tematika

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

Átírás:

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

ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma) definiálása, adatok aktualizálása (új felvétel, törlés, módosítás), lekérdezési lehetőségek, fejlesztő környezet biztosítása célalkalmazások létrehozásához. Relációs modell (1970): az adatok kétdimenziós táblázatokban tárolódnak

MYSQL MySQL: népszerű, ingyenes adatbáziskezelő rendszer ( DBMS ). A későbbiekben (PHP, JDBC, ODBC) arra látunk majd példákat, hogy lehet kapcsolódni hozzá Többfelhasználós, relációs alapelvekre épül A kurzus keretein belül a hozzá tartozó SQL nyelvjárást fogjuk használni sajnos néhány így megtanult dolog nem fog működni pl. Oracle használatakor Adminisztrációjához parancssori eszközök (mysql, mysqladmin) vagy a phpmyadmin rendszer használatos A kabinetben is elérhető

MYSQL / PHPMYADMIN

XAMPP PHP+MySQL alapú oldalak fejlesztéséhez kiváló rendszer platformfüggetlen, Windows, Linux, Mac OS X alatt egyaránt használható tartalma: Apache HTTP szerver MySQL, phpmyadmin PHP interpreter (Perl támogatás) Könnyen használható vezérlőpult Telepítés és elindítás után a böngészőben a http://localhost címen elérhető lesz az {xampp}/htdocs könyvtár A nyitólapot ebbe a könyvtárba helyezzük el index.php néven Otthon telepíteni! [4]

PHP ALAPOK Objektumorientált (vagy inkább többparadigmájú) programozási nyelv Lényegi működése: a kliens oldalról bejövő adatokat fogad, és azok ismeretében a szerver végrehajtja a programunkat, legyárt egy weblapot, ami a felhasználónak megjelenik.php kiterjesztéssel mentsük el a programjainkat ezen fájlokban tetszőleges mennyiségű HTML kódot helyezhetünk el, valamint speciális határolók (<?php és?>) közt a programot (sőt ezek többször váltakozhatnak is) ez itt a PHP-kód, az echo parancs kiír egy szöveget <!DOCTYPE html> <meta charset=utf-8> <title>php Test</title> <?php echo 'Hello World';?>

PHP / ADATSZERKEZETEK, VEZÉRLÉS a változók típusaival nem nagyon kell törődnünk $valtozo = Egy szoveg ; $masik = 421; $tomb = array( Suzuki, Fiat, Volvo ); $atomb = array( zero => nulla, one => egy, two => kettő ); echo Two is called. $atomb[ two ]. in Hungarian ; Feltételes vezérlési szerkezet: if (feltétel1) { } [elseif (feltétel2) { } else { }] Diszkrét ismétlés ( minden elemre hajtsd végre ): foreach ($tomb as $auto) { echo $auto; } asszociatív tömb: kulcs-érték párok megadásával sztring konkatenáció

PHP / FÜGGVÉNYEK, OSZTÁLYOK Függvény: function osszeado($a, $b) { } Osztály: return $a+$b; class MintaOsztaly { public $var = kezdőérték ; } public function ertekkiir() { echo $this->var; } A class kulcsszóval definiáljuk az osztályt. A tagváltozóknak adunk láthatóságot, pl. itt a $var változó publikus. Ha egy tagváltozóra hivatkozunk metódusokban, kiírjuk az aktuális objektumpéldányt jelentő $this-t a változó neve elé.

WEBES ŰRLAP LÉTREHOZÁSA A feladat létrehozni egy olyan űrlapot, amelyen található egy szövegbeviteli mező a felhasználó nevének bekérésére, és egy Küldés feliratú gomb. A bevitt adatot juttassuk el a szervernek, és ha a név Cser Lajos, jelenítsünk meg egy oldalt Demonstrátor szöveggel, egyébként pedig Szia XY legyen a válasz!

TESZTOLDAL.PHP POST HTTP eljárással az udvozol.php-nak elküldjük az űrlapon bevitt adatokat. Számos további vezérlő létrehozható (pl. rádiógombok, jelölőnégyzetek stb.)

UDVOZOL.PHP Ezen az oldalon már PHP kód is van. Az űrlap adatait a beépített $_POST tömb tartalmazza.

FELADAT Készítsünk PHP nyelven mini angol-magyar szótárat: a felhasználó megadhat egy szót, és ha az benne van a szótárunkban, kiírjuk a magyar megfelelőjét, ha nincs benne, a nincs találat szöveg jelenjen meg! szotar.php

FELADAT / FORDIT.PHP

KAPCSOLÓDÁS MYSQL-HEZ PHP-BAN (EGY EGYSZERŰ MEGKÖZELÍTÉS) 1. Kapcsolat nyitása $kapcsolat = mysql_connect("localhost", $user, $pwd); 2. Ellenőrizzük, van-e kapcsolat if (!$kapcsolat) { } die ("Nem lehet csatlakozni a MySQL kiszolgalohoz!"); 3. Ellenőrizzük, ki lehet-e választani a szükséges adatbázist, ha nem, hozzuk létre azt if (!(mysql_select_db($adatbazis, $kapcsolat)) ) { } mysql_query("create DATABASE..."); mysql_select_db($adatbazis, $kapcsolat); 4. Adjunk meg SQL nyelven megfogalmazott utasításokat mysql_query($utasitas, $kapcsolat);! A gyakorlati életben nem szoktuk ezeket a függvényeket alkalmazásaink kifejlesztéséhez használni, helyette számos API, keretrendszer áll rendelkezésre, amivel hatékonyabb és biztonságosabb eredményt kaphatunk. Jelen kurzus keretein belül viszont megelégszünk ezzel a megoldással is.

JDBC (JAVA DATABASE CONNECTIVITY) alkalmazásprogramozási interfész (API) Java nyelven készülő programokhoz java.sql csomag tartalmazza a vonatkozó osztályokat ezt importálni kell a programunkban Működési elv: a programunkban a JDBC-nek adunk át utasításokat A DriverManager nevű összetevő kezeli az egyes típusú adatbázisokhoz való kapcsolódást biztosító illesztőprogramokat A kapcsolat létrehozása előtt a megfelelő drivert regisztráljuk A kérésünk eljut a megfelelő adatbázishoz, és végrehajtódik

JDBC

JDBC / KAPCSOLÓDÁS MYSQL-HEZ import java.sql.*; utasítás public class Jdbc { public static void main(string args[]){ eredmények tárolására try { Statement stmt; ResultSet rs; Class.forName("com.mysql.jdbc.Driver"); // driver regisztralasa MySQL-hez. String url = "jdbc:mysql://localhost:3306/test"; Connection con = DriverManager.getConnection(url, usr", pass"); a Java-nak alapjában véve nem része a MySQL driver, azt először magunknak kell beszerezni [1] [2]

JDBC / LEKÉRDEZÉS stmt = con.createstatement(); stmt = con.createstatement(resultset.type_scroll_insensitive, ResultSet.CONCUR_READ_ONLY); rs = stmt.executequery("select * from proba"); // irassuk ki az eredmenyeket System.out.println("Display all results:"); while(rs.next()){ String id = rs.getstring("id"); String vnev = rs.getstring("vezeteknev"); String knev = rs.getstring("keresztnev"); System.out.println(id + " " + vnev + " "+ knev); } egy ExecuteQuery() függvényhívással adjuk meg, mi legyen az utasítás, a végén nincs pontosvessző. (Eredményt visszaadó utasításokhoz) addig igaz, amíg van fel nem dolgozott eredmény a válaszban, és ilyenkor egyből a következőre is lép

JDBC / KAPCSOLAT LEZÁRÁSA // zarjuk a kapcsolatot con.close(); // hiba eseten irassuk ki a stack-et (az egesz program egy try blokkban // volt) }catch( Exception e ) { e.printstacktrace(); } } }

ODBC (OPEN DATABASE CONNECTIVITY) A JDBC-hez hasonlóan számos adatbáziskezelővel képes kapcsolatot létesíteni, de nem Java környezetből, hanem C-ből. A megfelelő header fájlok include-olása után az alábbi adatstruktúrákkal dolgozhatunk: Környezet (Environment): a kliens hozza létre a DBMS-sel való kapcsolat előkészítéséhez. Kapcsolat (Connection): DBMS-sel való kapcsolat leírására szolgál. Egy környezethez több kapcsolat tartozhat. ODBC-utasítás (Statement). Egy SQL utasítás leírására szolgál. Minden ODBC-utasítás valamely kapcsolathoz tartozik. Ugyanaz az ODBCutasítás különböző időpontokban különböző SQL-utasításokat tartalmazhat. A fentiek kezelése handle-k (az adatstruktúrára mutató pointerek) segítségével történik. Ezek típusai sorrendben SQLHENV, SQLHDBC, SQLHSTMT. [3]

MEGJEGYZÉSEK [1] A MySQL-hez szükséges JDBC driver beszerezhető itt: http://dev.mysql.com/downloads/connector/j/ [2] Németh Gábor példái nyomán [3] Forrás: dr. Katona Endre: Adatbázisok http://www.inf.u-szeged.hu/~katona/db-ea1.pdf [4] Az XAMPP letölthető a következő címről: http://www.apachefriends.org/en/xampp.html