220 likes | 393 Views
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.
E N D
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. • 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.
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
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
Ako to funguje? Server • Klient odošle požiadavku nejakého PHP skriptu na server ten ju spracuje a odošle klientovi čistý HTML kód. Klient
História • MySQL je databázový systém vytvorený v roku 1995 firmou MySQL AB. Hlavnými autormi sú MichaelWidenius a David Axmark. • 1998-verzia pre Windows • 2000-verzia 3.23 • 2002-verzia 4.0 • 2004-verzia 4.1 • 2005-verzia 5.0 MichaelWidenius David Axmark
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.
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.
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.
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)
Typy tabuliek • MyISAM • InnoDB • BDB • MERGE • HEAP
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é
InnDB • Podpora transakcii • Rýchli mechanizmus ukladania dát • Uzamykanie na úrovni riadku • Podpora cudzích kľúčov
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
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.
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
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.
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