Adatbázis-kezelés Tarcsi Ádám 2011. január. 15. MySQL és PHP.

Slides:



Advertisements
Hasonló előadás
Tananyag: konzultáció
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
© 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.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
15. tétel Adatbázis felhasználói és jogosultságaik
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám március.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
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.
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
(MY)SQL MEGJEGYZÉSEK. MYISAM VS. INNODB  A MySQL-ben többféle tárolási motor is használatos: MyISAM, InnoDB  A régebbi verziókban a MyISAM alapértelmezett,
Adatbázis alapú rendszerek
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
6. előadás: PHP-MySQL Barabás Péter
ADATBÁZISOK
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
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:
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
DDL – Adatdefiníciós nyelv
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Fejlesztés PHP-NUKE portál rendszerre Horváth Zoltán Második Magyarországi PHP Konferencia március 27. Copyright PHP Konferencia,
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
SQL.
MSSQL szerver 2005/2008.
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázis rendszerek II
Ma az un. Relációs adatmodelleket használjuk.
Szerver és kliens gép közötti kommunikáció Adattárolási modellek  OLTP: OnLine Transaction Processing az MSSQL Szervert egy időben egyszerre sok felhasználó.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Adatbázis rendszerek I
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Adatbázis alapú rendszerek
Triggerek gyakorlás.
Adatbázisok SQL.
Triggerek Kalmár György.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP

Mai anyag  MySQL és a phpMyAdmin  Admin műveletek  Tárolt eljárások, triggerek  Tranzakciókezelés MySQL-ben

MySQL és a phpMyAdmin   1/Gyakorlat/MySQL_es_a_phpMyAdmin.docx 1/Gyakorlat/MySQL_es_a_phpMyAdmin.docx 3

Gyakorlás: Albums tábla  Létrehozás: CREATE TABLE IF NOT EXISTS `albumok` ( `id` int(10) NOT NULL, `nev` varchar(45) character set utf8 collate utf8_hungarian_ci NOT NULL, `leiras` varchar(100) character set utf8 collate utf8_hungarian_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;  Feltöltés INSERT INTO `albumok` (`id`, `nev`, `leiras`) VALUES (1, 'Album1', 'Első album'), (2, 'Album2', 'Második album'); 4

MySQL admin műveletek – 1.  Start server: /etc/init.d/mysql start  Stop server: /etc/init.d/mysql stop  Restart server: /etc/init.d/mysql restart  Mentés (Dump): $ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sq l]  Visszatöltés (Restore): mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql] 5

MySQL admin műveletek – 2. User létrehozás: CREATE USER IDENTIFIED BY 'pass1'; Adatbázis létrehozás: CREATE DATABASE user1; Jogok adása: GRANT all privileges on user1.* to identified by 'wabp2010'; User törlés: DROP USER Adatbázis törlés: DROP DATABASE if exists user1; 6

Tárolt eljárások delimiter // CREATE PROCEDURE elsoproc(OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM albumok; END// delimiter ; CALL 7

Trigger 8

Tranzakciókezelés – 1. $tranz= mysql_query(" BEGIN WORK; SELECT adatok FROM test WHERE id='1' FOR UPDATE; ROLLBACK; UPDATE test SET adatok=adatok-1100 WHERE id='1'; COMMIT; "); 9

Tranzakciókezelés – 2. <?php $utaltOsszeg = 500; //célszámla kikeresése $e = mysql_query("SELECT id FROM bankszamlak WHERE szamlaszam = ' '"); $celszamla = mysql_fetch_row($e); //az indító számla egyenlege elegendő az utaláshoz? $e = mysql_query("SELECT id, egyenleg FROM bankszamlak WHERE szamlaszam = ' '"); $utalo = mysql_fetch_array($e); if($utalo['egyenleg'] >= $utaltOsszeg){ //ha elegendő az egyenleg vonjuk le belőle //tranzakció indítása mysql_query("START TRANSACTION"); mysql_query('UPDATE bankszamlak SET egyenleg = egyenleg-'. $utaltOsszeg. ' WHERE id = '. $utalo['id']); //adjuk hozzá a célszámla egyenlegéhez mysql_query('UPDATE bankszamlak SET egyenleg = egyenleg+'. $utaltOsszeg. ' WHERE id = '. $celszamla[0]); //eddig minden rendben hajtsuk végre a tranzakciót mysql_query('COMMIT'); } ?> 10

PHP és az adatbázisok  Telepítés: AMP, kiterjesztések - egyszerű  Speciális függvényeken/osztályokon, (csomag kiterjesztésekkel) keresztül érjük el. ▪ mysql: ▪ mysqli: ▪ OCI8: Oracle (ezekhez Oracle kliens is szükséges)  Adatbázisok felderítése: ▪ phpinfo()  Segítség: ▪

Tipikus adatbázis használat  Kapcsolódás  SQL utasítások futtatása (pl.: lekérdezés)  Eredmények feldolgozása  Kapcsolat bontása 12

Gyakorlat  1. "régi" mysql függvények használatával.  2. Új mysqli fügvényekkel  3. Szűrés megvalósítása  4. BIND  5. Adatbáziselérési réteg absztrakciója: mysql.inc

14 BIND: SQL változóhoz kötjük a PHP változót  Az SQL utasítás (1) parszolása (2) után a belső változókat feltöltjük az értékekkel (3), majd kiadjuk a futtatás parancsát (4). 1.$sql=”insert into album (nev, leiras, user_id) values (:nev, :leiras, :user_id)”; 2.$stmnt = OCIParse($conn, $sql); 3.OCIBindByName(, belső változó, érték, hossz (-1 az automatikus méretmegadás)); OCIBindByName($stmnt,":nev",$nev,-1); OCIBindByName($stmnt,":leiras",$leiras,- OCIBindByName($stmnt,":user_id",$user_id,-1); 4.OCIExecute($stmnt);

.htaccess  egyéni hibalapok (404-es hiba)  jelszavas védelem  látogatók tiltása IP alapján  alapértelmezett fájl megváltoztatása (pl. index.html  alma.php)  átirányítások  könyvtárlistázás tiltása  adott fájlok elérésének letiltása

Példa DirectoryIndex jelentkezes.php Deny from all

Jelszavas védelem AuthName "Protected Area" AuthType Basic AuthUserFile /usr/home/www/lapodcime/vedettkonyvtar/.ht passwd require valid-user.htpasswd nev:$3$OAvE458H4vgG

Látogatók engedélyezése / tiltása IP cím alapján order allow,deny allow from allow from deny from all

Egyéb.htaccess  Átirányítás: Redirect /regikonyvtar/ RedirectMatch 301 ^/njszt-ikon/$ /ikon.htm  Könyvtárlistázás tiltása IndexIgnore * IndexIgnore *.gif *.jpg  Könyvtárlistázás engedélyezése Options +Indexes