1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 2. gyakorlat MySQL elérése számítógépen (JDBC, ODBC, PHP)

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Számítógépes adatbázis-kezelés
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés,
Tananyag: konzultáció
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
DFAN-INF-524 és DFAL-INF-524 kurzus hallgatói számára
Követelmények Szoftver- környezet SQL ismétlés ADATBÁZIS ALAPÚ RENDSZEREK.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 6. gyakorlat Gyakorlás, kötelezőprogram.
megismerése, mintaadatbázis létrehozása
Készítsünk el egy olyan egy dokumentumos (SDI) alkalmazást, amely alkalmas a mysql adatbáziskezelővel létrehozott BANK adatbázisunk UGYFEL táblájának.
Fájlkezelés, IO Kivételkezelés Belső osztályok
Vizuális modellezés Uml és osztálydiagram UML eszközök
kötelező program, SZÁMONKÉRÉSEK
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Programozás II. 3. Gyakorlat C++ alapok.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 7. gyakorlat.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A Java programozási nyelvSoós Sándor 1/20 Java programozási nyelv 11. rész – Adatbázis-programozás Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László.
6. előadás: PHP-MySQL Barabás Péter
PHP Webprogramozás alapjai
Szombathely Dinamikus WEB programozás: PHP és JSP.
Vizuális és web programozás II.
Kivételkezelés a C++ nyelvben Bevezetés
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
PHP VII Sütik, munkamenetek. Sütik Mi az a süti? A süti (cookie) állapotot tárol a felhasználó böngészőjében. Pl. ha egy oldalon beállítható, hogy milyen.
A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt.
Java – adatbázisok elérése
A barátságos MySQL Papp Szabolcs INFO ÉRA november 18.
PHP oktatási tapasztalatok
Objektum orientált programozás a gyakorlatban
Gábor Dénes Főiskola Rendszertechnikai Intézet
Készítette: Lipp Marcell
APEX BMF, II. félév.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
Adatbázisok gyakorlat
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 8. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
A gyakorlatok munkakörnyezete
Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP.
Adatbázis alapfogalmak
Webprogramozó tanfolyam
Számítógépes adatbázis-kezelés
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Programozás III KIVÉTEL.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Programozás I. 3. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 5. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
Programozás III JPA.
PHP függvények MySQL adatbázisok kezelésére
Miskolci Egyetem Alkalmazott Informatikai Tanszék 2007
Alkalmazásfejlesztés gyakorlat
Adatbázis használat a webszervernél
Kovács Gergely Péter Bevezetés
MySQL története, részei, felhasználhatóság, PHPMyAdmin
Előadás másolata:

1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 2. gyakorlat MySQL elérése számítógépen (JDBC, ODBC, PHP)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor2Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor2 Kötelező program 1.moodle (teszt, kérdések, válaszlehetőségek, válaszok) 2.családfa (személyek, kapcsolatok, események, házasságok) 3.csapatsportok (csapatok, versenyzők, mérkőzések, pontszerzők/góllövők) 4.egyéni sportok (bajnokságok, versenyzők, résztvevők, mérkőzések) 5.imdb (filmek, színészek, szereplések, filmstúdiók) 6.műsorújság (tv csatornák, műsorok, szereplők, időpontok) 7.publikációk (közlemények, szerzők, folyóiratok, kiadók) 8.etr (oktatók, kurzusok, termek, hallgatók) 9.bugzilla (hibajelentések, fejlesztők, szerepkörök, javítások) 10.szavazatszámláló (szavazások/fordulók, jelöltek, szavazók, szavazatok) 11.vállalat (részlegek, osztályok, dolgozók, fizetések) 12.raktár (áruk, készlet, mozgások) 13.könyvtár (olvasók, könyvek, kiadók, szerzők) 14.órarend (osztályok, tantárgyak, termek, órarend) 15.munkahely (helyiségek, számítógépek, telefonok, dolgozók) 16.városi tömegközlekedés (buszjáratok, megállók, menetrend) 17.pizzéria (pizzák, ügyfelek, rendelések, feltétek) 18.bank (folyószámlák, ügyfelek, átutalások) 19.ingatlan (telkek, épületek, tulajdonosok) 20.busz, vasút, repülő helyfoglalás (járatok, városok, ügyfelek, foglalás) 21.gyakorlatvezetővel előre egyeztetett saját téma

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor3Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor3 Kötelező program •Egy feladatot legfeljebb két hallgató választhat. A felsorolt fogalmakat mindenképpen be kell építeni a programba, de nem táblákat jelölnek. •Az alkalmazás értékelése: –Alapkövetelmények: 8-10 pont –További pontok adhatók az alábbiakra (témánként 1-2 pont, kivételes esetben 3 pont): •Négynél több tábla •Nagyobb mennyiségű, feltöltött valós adat •Nemtriviális (nem szokványos) alkalmazás •Diagramok, képek használata •Jelentések (formázott listák) készítése •JDBC vagy ODBC (és egyéb, PHP-n kívüli eszköz) •Plusz pontok csak az alapkövetelmények teljesítése esetén adhatók. •A dokumentáció értékelése : –Alapkövetelmények: 2-3 pont. –Összesen további max. 4 pont adható az alábbiakra: •Az E-K modell nemtriviális és hibátlan: 1-2 pont •A relációs modell nemtriviális és hibátlan: 1-2 pont •A dokumentáció külalakja: 1 pont •A dokumentáció terjedelemben lényegesen meghaladja a minimális követelményeket: 1 pont

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor4Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor4 MySQL (mint DBMS) •Ingyenes adatbáziskezelő ( DBMS = Database Management System) rendszer •Egyik legnépszerűbb (nagyon kicsi adatbázisokhoz Access, nagyokhoz Oracle, minden másra jó a MySQL) •Rendkívül támogatott, minden platformról elérhető •Többfelhasználós •Relációs alapelvekre épül •JDBC, ODBC, PHP driver is elérhető hozzá •Az ehhez tartozó „nyelvjárást” fogjuk használni (ám az itt megtanultak közül nem minden működik pl. Oracle-ben) •Adminisztrációhoz: mysql, mysqladmin, vagy pedig a webes phpMyAdmin •A kabinetben is elérhető 

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor5Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor5 JDBC (Java Database Connectivity API) •Java alkalmazásprogramozási interfész (API) •Csomagba van rendezve, melyet importálni kell minden fájlba, ahol használjuk (import java(x).sql.* ) •A programhoz csatolni kell a kapcsolódást szolgáló drivert. (Nem csak MySQL-hez kapcsolódhatunk a segítségével)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor6Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor6 JDBC •Megfelelő driver regisztrálása •Kapcsolat létrehozása DriverManager segítségével •Átadjuk az utasításokat, melyeket az adatbázis végre tud hajtani (vagy nem) •Mivel nem biztos sem a kapcsolat, sem az utasítás lefutásának sikeressége, ezért mindig try-catch blokkot kell használni

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor7Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor7 JDBC működése

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor8Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor8 JDBC Példakód try { Statement stmt=null; //Utasítás ResultSet rs=null;//Eredmény tárolása Class.forName("com.mysql.jdbc.Driver");//Driver regisztrálása String url = "jdbc:mysql://localhost:3306/test";//Egyszerű String Connection con = DriverManager.getConnection(url, "nev", "jelszo");//Kapcsolat létrehozása stmt = con.createStatement();//Inicializálás stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery("SELECT * from adatb");//Lekérés végrehajtása //Eredményt visszaadó utasításnál System.out.println("Eredmeny:");//Nincs pontosvessző!! while(rs.next()){ String szoveg = rs.getString("text");//Az eredményből kikérjük a text System.out.println("text mezo tartalma: " + szoveg);// értékét } con.close();//Kapcsolat lezárása FONTOS!! }catch( Exception e ) {//Hibakezelés FONTOS!! }

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor9Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor9 ODBC (Open Database Connectivity) •Microsoft fejlesztette ki •Számos adatbáziskezelővel képes kapcsolatot teremteni, C környezetből •Megfelelő header fájlokat includeolni kell, utána használható adatstruktúrák: –Environment (Környezet ): Kliens hozza létre, a kapcsolat előkészítéséhez –Connection (Kapcsolat): Adatbázishoz való kapcsolat leírására szolgál. Több is lehet egy környezetben –Statement (Utasítás): SQL-utasítás leírására szolgál. Minden ODBC-utasítás valamely kapcsolathoz tartozik. Egy ODBC-utasítás különböző SQL utasításokat tartalmazhat. •Ezek kezelése handle-k segítségével történik (adatstruktúrára mutató pointer). Típusai: –SQLHENV, SQLHDBC, SQLHSTMT

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor10Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor10 PHP •A PHP (PHP: Hypertext Preprocessor) egy objektumorientált programozási nyelv, főbb felhaszálása: dinamikus weboldalak létrehozása •A PHP kód egy webszerveren fut, ahol a PHP-értelmező értelmezi (futtatja a parancsokat, lekéréseket), és ezek eredményét HTML-szövegként küldi ki a kliens böngésző felé. • közé kell írni a PHP-kódokat. •Ezeken kívüli kódokat automatikusan HTML-ként értelmezi a böngésző •A PHP és HTML részek szabadon váltakozhatnak, többször is.

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor11Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor11 PHP Alapok •Változók deklarálása: $valt = 231.1; •Típusuk dinamikus, kiírni semmilyen esetben nem kell, a PHP tudja $valt = ‘RED’; •Kiíratás: echo $valt; •Parancsokat pontosvessző választja el •Összefűzés: echo ”Taylor Swift legújabb albuma a ”. $valt. ”címet viseli”; •Tömbök lehetnek egyszerű, valamint asszociatív tömbök

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor12Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor12 PHP Alapok •Egyszerű tömb felsorolással: (Kezdőszám: 0) –$eloadok = array(”Taylor Swift”, ”KORN”, ”Nine Inch Nails”); //$eloadok[2] = ”Nine Inch Nails” •Egyszerű tömb elemenként megadva: –$eloadok[0] = ”Taylor Swift”; $eloadok[1] = ”KORN”; •Asszociatív tömb felsorolással: –$albumok = array(”elso” => ”Taylor Swift”, ”masodik” => ”Fearless” ); •Asszociatív tömb elemenként megadva: –$albumok[”elso”] = ”Taylor Swift”; $albumok[”legujabb”] = ”RED”; Parancs: echo ”Taylor Swift legújabb albuma a ”. $albumok[”legujabb”]; Eredmény: Taylor Swift legújabb albuma a RED címet viseli

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor13Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor13 PHP •Egyszerű feltételes szerkezet: •Diszkrét ismétléses szerkezet : (Tömb minden elemére végrehajtódik) if(feltétel) { parancs } elseif(feltétel2) { parancs2 } else { parancs3 } foreach ($albumok as $lemezcim) { echo ”Jó album a”. $lemezcim; } Eredmény: Jó album a Taylor Swift Jó album a Fearless Jó album a RED

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor14Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor14 PHP •Osztály: •Függvény: class ElsoOsztaly{ public $counter=0; public function fgv() { } } function invertalas( $ezt ){ return -1*$ezt; } Osztályon belül ugyanúgy láthatóságot kell adni az osztályváltozóknak, függvényeknek, akárcsak Javaban. Hasonlóan, függvényen belül $this->counter-rel lehet hivatkozni az aktuális objektum attribútumaira. Ugyanígy, az osztály nevével jelzett publikus függvény lesz az osztály konstruktora. (Újabb PHP verziókban pedig a __construct függvényt kell megvalósítani ehhez.)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor15Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor15 PHP Példakód <?php $link = mysql_connect('localhost', 'user', 'pass');//Kapcsolódjon a szerverhez if (!$link) { die('Nem sikerult: '. mysql_error());//Ha nem sikerül, hibaüzenet } mysql_select_db($adatbazis, $link);//Válasszunk ki egy adatbázist $utasitas = "SELECT * FROM adatb"; //Hozzunk létre egy utasítást $result=mysql_query($utasitas, $link);//Amelyet futtatunk while($sor = mysql_fetch_assoc($result) ){//Amíg van sora echo $sor["integer"]. $sor["text"]. $sor["char"]." ";//Írjuk ki } mysql_close($link);//Miután végeztünk az adatbáziskapcsolattal, //minden esetben zárjuk le. FONTOS!! ?>

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor16Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor16 XAMPP •Az elnevezése egy betűszó, mégpedig –X (=platformfüggetlen [Windows, Linux, Mac] ) –Apache webszerver –MySQL (Adatbázis) –PHP –Perl •További előnye, hogy egyszerű kezelőfelületről vezérelhető, konfigurálható •Otthoni telepítés ajánlott (segítség CooSpace-en)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor17Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor17 Megjegyzések •Adatbázisok. Előadás jegyzet, – –pub/Adatbázisok/ •Cser Lajos diái alapján •Németh Gábor példakódjai •XAMPP telepítési segédlet: –CooSpace •

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor18Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor18 Megjegyzések •MySQL Driverek: – •Tutorialok rekordok aktualizálására: – example-update-a-record/ – query.htm •Teljes, ingyenes PHP-MySQL videóanyag példákkal: – –