IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

1. diel - MySQL krok za krokom - Úvod do MySQL a príprava prostredia

Vitajte pri prvej lekcii populárneho on-line kurzu k databáze MySQL. Kurz je určený pre všetkých, čo sa ešte s databázami nestretli a potrebujú s nimi pracovať v ďalšom jazyku, napríklad v PHP na webe alebo v Jave v desktopovej aplikácii. Postupne si vysvetlíme základy jazyka SQL, ktoré sú podobné vo všetkých SQL databázach. Medzi ďalšie SQL databázy patrí napríklad MS-SQL, SQLite alebo PostgreSQL.

V tomto úvodnom tutoriále si vysvetlíme, čo sú to relačné databázy a na akých princípoch fungujú. Pripravíme si tiež potrebné nástroje na prácu s MySQL databázou. V nasledujúcich lekciách si ukážeme, ako vytvoriť databázovú tabuľku a vložiť do nej dáta alebo ich modifikovať. Nakoniec sa naučíme potrebné dáta z databázy vyberať aj s pomocou komplikovanejších otázok cez viacero tabuliek.

Pracovať budeme iba so samotnou databázou a bez ďalšieho programovacieho jazyka. Nebude to ale tak suché, ako to znie, pretože budeme používať grafické rozhranie phpMyAdmin. Ukážeme si napríklad, ako upraviť štruktúru celej tabuľky priamo z grafického rozhrania. A samozrejme sa tiež dozvieme, ako všetko zapísať ako SQL dotaz. Z grafického rozhrania pekne pochopíme, čo sa presne v databáze deje a potom si to spojíme s SQL príkazom:

Získané znalosti môžete využiť v ktoromkoľvek jazyku pre prácu s MySQL databázou as minimálnou úpravou aj s ktoroukoľvek inou SQL databázou. Po dokončení tohto seriálu budete schopní pracovať s databázou na takej úrovni, aby ste dokázali vytvoriť jednoduchý redakčný systém alebo podobnú aplikáciu.

Minimálne požiadavky

Pre tento kurz nie sú potrebné žiadne špeciálne zručnosti, všetko si postupne ukážeme a vysvetlíme. Stačí bežná práca s počítačom :)

Relačná databáza

MySQL je relačná databáza. Tento pojem označuje databázu založenú na tabuľkách. Každá tabuľka obsahuje položky jedného typu. Môžeme mať teda tabuľku uzivatele, ďalšiu tabuľku clanky a ďalej napríklad tabuľku komentare.

Databázovú tabuľku si môžeme predstaviť napríklad ako tabuľku v Exceli. Tabuľka uzivatele potom vyzerá napríklad takto:

Tabuľka používateľov v Exceli - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Položky, tu sú to používatelia, ukladáme na jednotlivé riadky. Stĺpce potom označujú atribúty (vlastnosti, ak chcete), ktoré položky majú. MySQL databáza je typovaná, to znamená, že každý stĺpec má pevne stanovený dátový typ (číslo, znak, krátky text, dlhý text...) a môže obsahovať hodnoty iba tohto typu.

Ak chceme s relačnou databázou rozumne pracovať, každý riadok v tabuľke by mal byť opatrený unikátnym identifikátorom. U užívateľov by to mohlo byť rodné číslo, oveľa častejšie sa však používajú identifikátory umelé. Užívateľov jednoducho očíslujeme, prvý užívateľ bude mať id 1 a tak ďalej. K tomu sa dostaneme neskôr.

Slovo relačné označuje vzťah (anglicky relation). Ten je medzi tabuľkami alebo medzi entitami v jednej tabuľke. To si ale necháme na inokedy a zatiaľ budeme pracovať len s jednou tabuľkou zároveň.

RDBMS

Možno sa pýtate, k čomu vlastne potrebujeme nejakú databázu. Dáta by sme rovnako dobre mohli ukladať do nejakých textových alebo binárnych súborov, do XML alebo niečoho podobného. Určite by to nejako tiež fungovalo.

Označenie databázy je vlastne nepresné av odbornej literatúre sa stretneme s označením RDBMS (Relation DataBase Management System). Slovensky je to preložené ako "systém riadenia bázy dát", čo znie naozaj hrozne a preto budeme radšej používať označenie databázový stroj alebo anglickú skratku RDBMS. Databázový stroj, v našom prípade MySQL, nie je len úložisko dát. Jedná sa o veľmi sofistikovaný a odladený nástroj, ktorý za nás rieši množstvo problémov a zároveň je extrémne jednoduchý na použitie. S databázou totiž komunikujeme jazykom SQL, ktorým sú v podstate ľudsky zrozumiteľné vety.

Spolu s ukladaním dát je ale treba ďalej riešiť mnoho ďalších vecí. Asi by nás napadlo napríklad zabezpečenie alebo optimalizácia výkonu. RDBMS toho ale robí ešte oveľa viac. Rieši za nás problém súčasnej editácie rovnakej položky niekoľkými užívateľmi v rovnaký okamih, ktorý by inak mohol zapríčiniť nekonzistenciu databázy. RDBMS dáta v tomto prípade zamkne a odomkne až po vykonaní zápisu. Ďalej umožňuje spájať niekoľko otázok do transakcií, kedy sa séria otázok vykoná vždy celá alebo vôbec. Nestane sa, že by sa vykonala len časť. Tieto vlastnosti databázového stroja sú zhŕňané skratkou ACID, poďme si ju vysvetliť.

ACID

ACID je akronym slov A tomicity (nedeliteľnosť), C onsistency (validita), I solation (izolácia) a D urability (trvanlivosť). Jednotlivé zložky majú nasledujúci význam:

  • Atomicity – Operácie v transakcii sa vykonajú ako jedna atomická (nedeliteľná) operácia. Ak nejaká časť operácie zlyhá, vráti sa databáza do pôvodného stavu a nebudú vykonané žiadne časti transakcie. Ako príklad uveďme prevod peňazí na bankovom účte. Keď sa nepodarí peniaze odpočítať z jedného účtu, nebudú ani pripísané na účet druhý. Inak by bola databáza v nekonzistentnom stave. Pokiaľ by sme si prácu s dátami riešili sami, mohlo by sa nám toto veľmi jednoducho stať.
  • Consistency – Stav databázy po dokončení transakcie je vždy konzistentný, teda validný podľa všetkých definovaných pravidiel a obmedzení. Nikdy nenastane situácia, že by sa databáza nachádzala v nekonzistentnom stave.
  • Isolation – Operácie sú izolované a navzájom sa neovplyvňujú. Ak sa zíde v jeden okamih viac otázok na zápis do rovnakého riadku, sú vykonávané postupne, ako vo fronte.
  • Durability – Všetky zapísané dáta sú okamžite zapísané na trvanlivé úložiská (na pevný disk), v prípade výpadku elektrickej energie alebo iného prerušenia prevádzky RDBMS všetko zostane tak, ako bolo tesne pred výpadkom.
Databáza (presnejšie databázový stroj) je teda čierna skrinka, s ktorou naša aplikácia komunikuje a do ktorej ukladá všetky dáta. Jej použitie je veľmi jednoduché a je odladená tak, ako by sme si sami zápis dát v programe asi ťažko urobili. Vôbec sa nemusíme starať o to, ako sú dáta fyzicky uložené, s databázou komunikujeme pomocou jednoduchého dotazovacieho jazyka SQL.

V dnešnej dobe sa vôbec neoplatí zaťažovať sa otázkou ukladania dát Jednoducho siahneme po hotovej databáze, ktorých je obrovský výber a sú väčšinou zadarmo. Často sa o databáze hovorí ako o tretej vrstve aplikácie, kde prvá vrstva predstavuje používateľské rozhranie a druhá obsahuje logiku samotnej aplikácie.

Potrebné nástroje

Začnime teda. Potrebovať budeme nakonfigurovaný webserver Apache a databázu MySQL. Všetko si veľmi jednoducho zaobstaráme nainštalovaním balíka XAMPP.

Inštalácia XAMPP

Balíček XAMPP si stiahneme na webovej stránke www.apachefriends.org.

Na tejto stránke si vyberieme verziu pre Windows, nabehneme na tú najnovšiu a klikneme na tlačidlo Download:

Stiahnutie inštalačného balíčka XAMPP pre Windows - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Ak používate operačný systém Linux alebo MacOS, zíďte trochu nižšie a vyberte inštalačný balíček pre svoj operačný systém. Postup inštalácie pre tieto OS je potom popísaný na stránkach MySQL databázy, https://dev.mysql.com/, v sekcii Documentation.

Stiahnutý súbor spustíme ako administrátor a povolíme zmeny v našom počítači. Následne v inštalácii vyberieme potrebné komponenty. Odporúčame si nechať nainštalovať aj tie voliteľné. Potom pokračujeme kliknutím na tlačidlo Next:

Inštalácia XAMPPu – výber komponentov - MySQL databázy krok za krokom - MySQL databázy krok za krokom

V ďalšom okne máme možnosť zmeniť umiestnenie inštalovaných súborov. Necháme ich nainštalovať do zložky C:/, čo býva predvolené nastavenie:

Inštalácia XAMPPu – výber umiestnenia inštalovaných súborov - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Ku koncu inštalácie budeme požiadaní o povolenie prístupu k sieti, ten potvrdíme:

Inštalácia XAMPPu – povolenie prístupu k sieti - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Týmto sme nainštalovali potrebné nástroje.

Nástroj phpMyAdmin

Na prácu s MySQL databázou, ktorá je najpoužívanejšou databázou vo webových aplikáciách, sa najčastejšie používa nástroj phpMyAdmin. Nutné dodať, že existujú aj lepšie administračné nástroje (napríklad Adminer) a niekedy môže byť výhodné použiť v projekte inú databázu. MySQL a phpMyAdmin však nájdeme na každom webhostingu. Ak sa niekedy dostanete k cudziemu projektu, je veľmi pravdepodobné, že bude postavený práve na týchto technológiách. Berme tieto dva nástroje ako štandard, ktorými tiež zatiaľ sú a začnime s databázami práve v nich.

Po inštalácii si otvoríme XAMPP Control Panel a spustíme Apache server a MySQL. (Pozor na Skype, rád blokuje port 80). Následne klikneme na tlačidlo admin pri MySQL a otvoríme tak phpMyAdmin v našom prehliadači:

Otvorenie phpMyAdmin v prehliadači pomocou XAMPP panelu - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Alternatívne v našom webovom prehliadači zadáme sami adresu:

localhost/phpmyadmin/

V oboch prípadoch uvidíme webové rozhranie phpMyAdmin, ktoré vyzerá takto:

Úvodná stránka nástroja phpMyAdmin - MySQL databázy krok za krokom - MySQL databázy krok za krokom

Položky v ľavom stĺpci sú databázy. Možno je to trochu zavádzajúce, ale databáz si môžeme samozrejme založiť viac. Tie, čo tu vidíme, sú konfiguračné a testovacie databázy XAMPPu. Pokiaľ by sme spustili phpMyAdmin na našom webhostingu, tak budú skryté.

V budúcej lekcii, MySQL krok za krokom - Vytvorenie databázy a tabuľky , si vytvoríme databázu a tabuľku užívateľov.


 

Všetky články v sekcii
MySQL databázy krok za krokom
Preskočiť článok
(neodporúčame)
MySQL krok za krokom - Vytvorenie databázy a tabuľky
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
3 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity