Databßze

Databßze obecn∞

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.


Co je to databßze

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.


DatabßzovΘ tabulky

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φΦ∙.

Tabulka

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φ).


Relace

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.


Relace 1 : 1

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).

Relace 1 : 1


Relace N : 1

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.

Relace N : 1


Relace N : M

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.

Relace N : M


MySQL - zaΦφnßme

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


MySQL - instalace

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.

Potvrzenφ instalace


Sprßva MySQL

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.

mysql.exe

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.

Petr Rympler