PHP a MySQL
description
Transcript of PHP a MySQL
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?
• Klient odošle požiadavku nejakého PHP skriptu na server ten ju spracuje a odošle klientovi čistý HTML kód.
Server
Klient
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
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
KONEC