php a mysql
DESCRIPTION
PHP a MySQL. Boris Žolna 3.A. História. r.1994-bolo vytvorené PHP. Jeho autor je Rasmus Lendorf. r.1995-k PHP bol pridaný program Form interpreter – PHP/FI 2,0. r.1997-Zeev Suraski a Andi Gutmans prepísali syntaktický analyzátor (parser) ktorý sa stal základom novej verzie PHP3. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/1.jpg)
PHP a MySQL
Boris Žolna
3.A
![Page 2: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/2.jpg)
![Page 3: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/3.jpg)
História• r.1994-bolo vytvorené PHP. Jeho autor je Rasmus Lendorf.• r.1995-k PHP bol pridaný program Form interpreter – PHP/FI 2,0.• r.1997-Zeev Suraski a Andi Gutmans prepísali syntaktický analyzátor
(parser) ktorý sa stal základom novej verzie PHP3.• r.1998-bolo vydané PHP3 a zmenený názov na hypertext procesor. • r.1999-Zeev Suraski a Andi Gutmans prepísali jadro PHP a nazvali ho
Zend Engine a založili spoločnosť Zend technologies , ktorá sa od vtedy podieľa na vývoji PHP.
![Page 4: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/4.jpg)
História• r.2000-PHP4 s jadrom Zend Engine 1• r.2004-PHP5 s jadrom Zend Engine 2• r.2007-aktuálna verzia PHP5 je 5.2.1
Rasmus Lendorf Andy Gutmans Zeev Suraski
![Page 5: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/5.jpg)
PHP v skratke• Je to skriptovací jazyk predovšetkým určený na vytváranie
dynamických stránok• Syntax jazyka v sebe kombinuje jazyky (Perl, C, Pascal, Java) • Veľmi dobre pracuje s relačnými databázami (MySQL, Oracle,
IBM DB2, PostgreSQL, SQLite, Microsoft SQL Sever)• Beží na všetkých platformách (Windows, Linux, UNIX, Mac OS
X)• PHP sa dá použiť aj pri tvorbe konzolových a desktopových
aplikácii• Najznámejším programom na tvorbu skriptov PHP je Zend
Studio ktorého tvorcovia sú tvorcami PHP jazyka.• Najnovšia verzia podporuje OOP
![Page 6: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/6.jpg)
Ako to funguje?
• Klient odošle požiadavku nejakého PHP skriptu na server ten ju spracuje a odošle klientovi čistý HTML kód.
Server
Klient
![Page 7: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/7.jpg)
![Page 8: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/8.jpg)
História• MySQL je databázový systém vytvorený v roku 1995 firmou MySQL
AB. Hlavnými autormi sú Michael Widenius a David Axmark.• 1998-verzia pre Windows• 2000-verzia 3.23• 2002-verzia 4.0• 2004-verzia 4.1• 2005-verzia 5.0
Michael Widenius David Axmark
![Page 9: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/9.jpg)
Info• MySQL je databázový systém ktorý je k dispozícii v bezplatnej
licencii GPL ako aj v komerčne platenej licencii.• Pretože je ľahko inštalovateľná (ide pod Linuxom aj Windowsom) je
často nasadzovaná spolu s Apachom a PHP. Pre vysokú obľúbenosť sa zaužívala skratka LAMP (Linux, Apache, MySQL, PHP)
• MySQL kladie dôraz na rýchlosť preto bola do nedávna ukrátená o niektoré vlastnosti.
• Asi najznámejší program na tvorbu databáz je phpMyAdmin.
![Page 10: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/10.jpg)
Slovník pojmov• Entity - sú to veci v reálnom svete o ktorých uchovávame v databázy
informácie.
• Relácia - relácie predstavujú odkazy medzi entitami. Relácia je vlastne tabuľkou dát.
• Stĺpce - popisujú určitú časť dát, ktorú má každý záznam v tabuľke.
• Riadky – každý riadok v tabuľke je zložený z hodnoty pre každý stĺpec v tabuľke.
• Primárny kľúč – je to stĺpec pomocou ktoré vieme určiť jeden riadok v tabuľke.
• Cudzí kľúč – predstavuje odkaz medzi tabuľkami.
![Page 11: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/11.jpg)
Typy relácii• Relácia 1:1 (one-to-one) – každý riadok
primárnej tabuľky je (môže byť) viazaný s jedným riadkom sekundárnej tabuľky.
• Relácia N:1 (many-to-one) – každý riadok primárnej tabuľky je (môže byť) viazaný s jedným či viac riadkami sekundárnej tabuľky.
• Relácia N:M (many-to-many) – viac riadkov primárnej tabuľky sú viazané s viacerími riadkami sekundárnej tabuľky.
![Page 12: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/12.jpg)
Normalizácia• Je proces s pomocou ktorého sa dá zbaviť štruktúrnych chýb.• Je súhrnom niekoľkých normálových foriem čo sú pravidlá aká
by mala a nemala byť štruktúra našich tabuliek.• Nultá normálová forma (0NF)• Prvá normálová forma (1NF)• Druhá normálová forma (2NF)• Tretia normálová forma (3NF)• Štvrtá normálová forma (4NF)• Piata normálová forma (5NF)
![Page 13: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/13.jpg)
Typy tabuliek• MyISAM
• InnoDB
• BDB
• MERGE
• HEAP
![Page 14: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/14.jpg)
MyISAM• Tabulky MyISAM sú nastavené ako
predvolené• Veľmi rýchli prístup k dátam• Transakčne nebezpečné úložište dát • Rozdeľujeme ich na: statické, dynamické,
komprimované
![Page 15: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/15.jpg)
InnDB• Podpora transakcii • Rýchli mechanizmus ukladania dát• Uzamykanie na úrovni riadku • Podpora cudzích kľúčov
![Page 16: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/16.jpg)
BDB• Podpora transakcii• Uzamykanie na úrovni stránky• Horší výkon ako InnDB• Musí mať primárny kľúč• Nemožnosť premiestňovať dáta na iné
miesto na disku
![Page 17: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/17.jpg)
MERGE• Tabuľky MERGE predstavujú šikovný
spôsob ako obísť obmedzenia operačného systému na maximálnu veľkosť súboru. Pretože je každá tabuľka MyISAM uložená v jednom súbore je jej maximálna veľkosť obmedzená OS. Pomocou tabuliek MERGE môžeme spracovať viac tabuliek MyISAM ako jednu.
![Page 18: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/18.jpg)
HEAP• Ukladajú sa iba do pamäti RAM preto treba
ich veľkosť obmedziť• Dáta v nich nie sú trvalé. V prípade výpadku
prúdu budú zmazané• Sú výnimočne rýchle ak je pre nich dostatok
pamäti• Nepodporujú stĺpce AUTO_INCREMENT,
TEXT, BLOB
![Page 19: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/19.jpg)
Typy stĺpcov• Číselné: numeric, decimal, integer, float,
double.• Reťazcové: char, varchar, text, blob.
num, set.• Typy DATE a TIME: date, time, datetime,
timestamp, year.
![Page 20: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/20.jpg)
Základné príkazy• SELECT – vyberá dáta z tabuliek• INSERT – vloží nový riadok do tabuľky• UPDATE – upraví dáta už v existujúcom
riadku• DELETE – vymaže vybrané riadky
![Page 21: PHP a MySQL](https://reader035.vdocuments.pub/reader035/viewer/2022081421/56814fd9550346895dbd9f05/html5/thumbnails/21.jpg)
KONEC