Adatbázisok gyakorlat



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

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

PHP-MySQL. Adatbázisok gyakorlat

KÖTELEZŐ PROGRAM, SZÁMONKÉRÉSEK. Részletek

ADATBÁZISOK, 2018 ősz

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

ADATBÁZISOK, 2017 ősz

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

PHP. Adatbázisok gyakorlat

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

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

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


JavaServer Pages (JSP) (folytatás)

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

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


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

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. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Java Database Connectivity (JDBC)

JAVA PROGRAMOZÁS 8.ELŐADÁS

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

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

Adatbázis-kezelés ODBC driverrel

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

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

Java I. A Java programozási nyelv

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

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

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

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

II. ADATLAP - Programmodul részletes bemutatása

Adatbázis használata PHP-ből

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

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.

Az Adatbázis alapú rendszerek kurzus követelményei és tematikája

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

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

Informatika terméktervezőknek

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

Kliens oldali SQL-API

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

Java és web programozás

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

JDBC - adatbáziskezelés

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

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

Pénzügyi algoritmusok

SZAKDOLGOZAT. Vígh Gábor DEBRECEN 2009.

Adatbázis alapú rendszerek (2015 tavaszi félév) Előadás

Kedvenc Linkek a témakörben: MySQL mindenkinek Vizuális adatbázis tervezés

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

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

Szerver oldali technológiák Szerver oldali script nyelvek PHP

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

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

Microsoft SQL Server telepítése

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Adatbázis alapú rendszerek (2016 tavaszi félév) Előadás

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Java és web programozás

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

A MOODLE KERETRENDSZER TELEPÍTÉSE

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

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

Produktív környezetben használt, nyílt forráskódú komplex térinformatikai megoldások dr. Siki Zoltán

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

Moodle IPSZILON előadás március 23.

Adatbázis rendszerek. dr. Siki Zoltán

IBM Data Server ügyfelek telepítése

MDAC - Microsoft Data Access Components

Informatikai alapismeretek Földtudományi BSC számára

WEB PROGRAMOZÁS 1.ELŐADAS. Dr. Pál László Sapientia EMTE, Csíkszereda, tanév, I. Félév

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

Nyílt forrású, webes WGS84-EOV transzformáció

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

Java és web programozás

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Web programoz as

PRECÍZ Információs füzetek

Programozás és adatbázis kezelés PHP ben

Adatbázis fejlesztés és üzemeltetés II. Szabó Bálint

Adatbázisok gyakorlat

Java és web programozás

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

Bevezetés a Python programozási nyelvbe

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

SZAKDOLGOZAT. Szabó Attila

WEBES ALKALMAZÁSFEJLESZTÉS 1.

Egy jelentés-adattárház: Lila Cinege

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

Készítette: Enisz Krisztián, Lugossy Balázs, Speiser Ferenc, Ughy Gergely

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

OOP és UML Áttekintés

Mobilizálódó OSZK. A nemzeti könyvtár mobileszközöket célzó fejlesztései az elmúlt időszakban. Garamvölgyi László. Networkshop, 2013.

Átírás:

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 Kar Antal Gábor 1

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 Kar Antal Gábor 2

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 Kar Antal Gábor 3

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 Kar Antal Gábor 4

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 Kar Antal Gábor 5

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 Kar Antal Gábor 6

JDBC működése Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 7

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

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 Kar Antal Gábor 9

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é. <?php és?> 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 Kar Antal Gábor 10

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 Kar Antal Gábor 11

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 Kar Antal Gábor 12

PHP Egyszerű feltételes szerkezet: if(feltétel) { parancs } elseif(feltétel2) { parancs2 } else { parancs3 } Diszkrét ismétléses szerkezet: (Tömb minden elemére végrehajtódik) 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 Kar Antal Gábor 13

PHP Osztály: class ElsoOsztaly{ public $counter=0; public function fgv() { } } Függvény: 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 Kar Antal Gábor 14

PHP Példakód <?php $link = mysql_connect('localhost', 'user', 'pass'); if (!$link) { die('nem sikerult: '. mysql_error()); } mysql_select_db($adatbazis, $link); $utasitas = "SELECT * FROM adatb"; $result=mysql_query($utasitas, $link); //Kapcsolódjon a szerverhez //Ha nem sikerül, hibaüzenet //Válasszunk ki egy adatbázist //Hozzunk létre egy utasítást //Amelyet futtatunk while($sor = mysql_fetch_assoc($result) ){ //Amíg van sora echo $sor["integer"]. $sor["text"]. $sor["char"]."<br>"; //Í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 Kar Antal Gábor 15

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 Kar Antal Gábor 16

Megjegyzések Adatbázisok. Előadás jegyzet, www.inf.u-szeged.hu/~katona, pub/adatbázisok/ Cser Lajos diái alapján Németh Gábor példakódjai XAMPP telepítési segédlet: CooSpace http://www.houg.hu/oraclejunior Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 17

Megjegyzések MySQL Driverek: http://www.mysql.com/products/connector/ Tutorialok rekordok aktualizálására: http://www.mkyong.com/jdbc/jdbc-preparestatementexample-update-a-record/ http://www.tutorialspoint.com/mysql/mysql-updatequery.htm Teljes, ingyenes PHP-MySQL videóanyag példákkal: http://thenewboston.org/list.php?cat=11 http://thenewboston.org/list.php?cat=49 Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 18