Pokud budeme vytvß°et slo₧it∞jÜφ systΘmy, kter²mi mohou b²t redakΦnφ systΘmy, chaty, diskusnφ f≤ra, poΦφtadla nßvÜt∞vnosti, ale i obyΦejnΘ knihy nßvÜt∞v, m∙₧eme vyu₧φt databßzφ. Databßze nßm umo₧nφ vytvß°et efektivnφ dynamickΘ aplikace, kterΘ budou v₧dy obsahovat aktußlnφ informace a zv²Üφ tak presti₧ naÜich strßnek.
Databßze si m∙₧eme p°edstavit jako skladiÜt∞, do kterΘho si m∙₧eme nejen uklßdat, ale takΘ editovat, mazat a vyhledßvat jednotlivΘ zßznamy. VeÜkerΘ tyto Φinnosti obstarßvß tzv. SystΘm ╪φzenφ Bßze Dat (S╪BD). Mezi S╪BD pat°φ r∙znΘ databßzovΘ produkty. Mezi nejznßm∞jÜφ pat°φ MySQL, MS SQL, PostgreSQL, InterBase, Ingres a mnohΘ dalÜφ. S╪BD se liÜφ nejen sv²mi funkcemi, ale takΘ svou cenou.
V∞tÜina dneÜnφch S╪BD je zalo₧ena na principu relaΦnφho modelu. Tento model vychßzφ z uklßdßnφ dat do tabulek. Tabulku si m∙₧eme p°edstavit jako jakoukoliv tabulku, kterß obsahuje sloupce a °ßdky.
Sloupce - urΦujφ typ dat, kter² do n∞j (do jednotliv²ch °ßdk∙) m∙₧eme vlo₧it. Sloupce b²vajφ takΘ obΦas naz²vßny atributy.
╪ßdky - jsou to jednotlivΘ zßznamy v tabulce, kterΘ b²vajφ identifikovßny pomocφ klφΦ∙.
Jako p°φklad si m∙₧eme ukßzat tabulku, kterß bude obsahovat seznam uΦitel∙.
ID | JmΘno | P°φjmenφ | RodnΘ Φφslo |
---|---|---|---|
1 | Josef | Marn² | 731210/2509 |
2 | Pavel | Novotn² | 710422/3583 |
3 | Veronika | Novotnß | 710422/3553 |
Tuto tabulku m∙₧eme vyu₧φt jako vzor a vysv∞tlit si jejφ strukturu:
Abychom mohli jednoznaΦn∞ identifikovat ka₧d² °ßdek, u₧φvajφ se tzv. primßrnφ klφΦe. Primßrnφm klφΦem se m∙₧e stßt ka₧d² sloupec, kter² nebude mφt v ₧ßdnΘm °ßdku duplicitnφ hodnotu. Primßrnφm klφΦem se nesmφ stßt pole, kterΘ by mohlo obsahovat prßzdnout hodnotu (NULL). V naÜem p°φklad∞ bychom mohli jako primßrnφ klφΦ zvolit sloupec id. Pokud se po°ßdn∞ podφvßme na tabulku tak zjistφme, ₧e jako primßrnφ klφΦ m∙₧eme zvolit takΘ rodnΘ Φφslo (je pro ka₧dΘho obΦana unikßtnφ).
Mezi jednotliv²mi tabulkami mohou existovat tzv. relace, kterΘ mohou vytvo°it vztahy mezi sloupci (poli). M∙₧eme tak propojit naÜi tabulku uΦitel∙ s tabulkou t°φd, kterß obsahuje seznam t°φd.
Pat°φ mezi nejzßkladn∞jÜφ z typ∙ relacφ a umo₧≥uje vytvo°it relaci mezi dv∞mi tabulkami. V praxi to znamenß, ₧e jeden uΦitel bude uΦit jednu t°φdu (°ßdek z jednΘ tabulky bude svßzßn s jednφm °ßdkem z druhΘ tabulky).
Jednß se o relaci, kdy jeden °ßdek z jednΘ (primßrnφ) tabulky bude svßzßn s vφce °ßdky z tabulky sekundßrnφ. P°φkladem m∙₧e b²t nap°φklad to, ₧e jeden uΦitel m∙₧e uΦit vφce t°φd, ale ka₧dß t°φda m∙₧e b²t souΦasn∞ vyuΦovßna pouze jednφm uΦitelem.
Jednß se o nejkomplikovan∞jÜφ relaci, kdy n∞kolik °ßdk∙ primßrnφ tabulky je svßzßno s n∞kolika °ßdky sekundßrnφ tabulky. Jako p°φklad si m∙₧eme uvΘst to, ₧e jeden autor m∙₧e napsat n∞kolik Φlßnk∙ a jeden Φlßnek m∙₧e b²t napsßn vφce autory.
Jeliko₧ databßzov² server MySQL pat°φ mezi nejznßm∞jÜφ, tak v celΘm povφdßnφ o databßzφch se budeme v∞novat prßv∞ tomuto serveru (S╪BD).
MySQL pat°φ mezi nejpopulßrn∞jÜφ voln∞ Üφ°itelnΘ databßzovΘ servery. MySQL je populßrnφ nejen kv∙li tomu, ₧e je dostupn² na mnoha platformßch (Windows, Linux, FreeBSD, atd.), ale takΘ proto, ₧e je zdarma. I kdy₧ MySQL obsahuje hodn∞ "vymo₧enostφ", n∞jakΘ stßle neobsahuje (triggery, ulo₧enΘ procedury, atd.). DalÜφ podrobnosti o tomto serveru naleznete na oficißlnφch strßnkßch www.MySQL.cz
Pro Windows instalaci je pot°eba si stßhnout poslednφ verzi MySQL serveru - aktußlnφ verze je 3.23.56 (zde). Po sta₧enφ a nßslednΘm rozbalenφ spus¥te soubor setup.exe. Cestu, do nφ₧ se nainstaluje MySQL server ponechte na "C:\mysql". Zvolte typickou instalaci a po ·sp∞ÜnΘ instalaci by se m∞lo zobrazit okno potvrzujφcφ nainstalovßnφ serveru. Po instalaci se takΘ vytvo°φ hlavnφ u₧ivatelsk² ·Φet, pomocφ kterΘ m∙₧ete MySQL spravovat. P°ihlaÜovacφ ·daje jsou root a prßzdnΘ heslo.
Pro sprßvu databßzφ existuje mnoho nßstroj∙. Ji₧ v MySQL distribuci nalezneme klienta, kter² nßm umo₧nφ zpracovßvat dotazy. Jednß se o konzolovou aplikaci mysql.exe, kterou nalezneme v adresß°i bin.
P°φpadn∞ m∙₧eme vyu₧φt nßstroj phpMyAdmin, kter² pat°φ mezi nejznßm∞jÜφ webovΘ nßstroje pro sprßvu MySQL databßzov²ch server∙. Pro sta₧enφ m∙₧ete navÜtφvit oficißlnφ strßnku www.phpMyAdmin.net nebo p°φmo odkaz na sta₧enφ zde. Instalace a konfigurace tohoto nßstroje ji₧ byla popsßna na strßnkßch magazφnu CHIP.
Pro tento dφl to bude vÜe. V p°φÜtφm dφle si povφme zßklady jazyka SQL.