Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.
IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

1. diel - MS-SQL krok za krokom: Úvod do MS-SQL a príprava prostredia

Vitajte pri prvom diele kurzu tutoriálov k databáze Microsoft SQL Server, skrátene MS-SQL. Kurz je určený pre všetkých, ktorí sa ešte s databázami nestretli a potrebujú s nimi pracovať či už samostatne, alebo v programovacom jazyku či frameworku (napríklad v ASP.NET Core na webe alebo v C# formulárovej aplikácii). Zmyslom je naučiť vás základy jazyka T-SQL (MS-SQL), ktoré sú podobné aj vo všetkých iných SQL databázach (MS-SQL, MySQL, SQLite, ...). Postupne si ukážeme vytváranie tabuliek, vkladanie dát, ich modifikáciu a nakoniec aj výber, vyhľadávanie a komplikovanejšie dotazy cez viac tabuliek.

Pracovať budeme iba so samotnou databázou a bez ďalšieho programovacieho jazyka. Nebude to však také suché, ako to znie, pretože budeme používať Visual Studio. Ukážeme si, ako veci naklikať (tie, ktoré sa dajú), a ako to isté zapísať aj ako T-SQL dotaz. Z grafického rozhrania pekne pochopíte, čo presne robíte, a potom si to spojíte s SQL príkazom:

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ázy

MS-SQL je tzv. 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 pouzivatelia, ďalšiu tabuľku clanky a ďalšiu napríklad komentare.

Databázovú tabuľku si môžeme predstaviť napríklad ako tabuľku v Exceli. Tabuľka pouzivatelia by mohla vyzerať asi takto:

Meno Priezvisko Dátum narodenia Počet článkov
Ján Kováč 11.3.1984 17
Tomáš Horváth 1.2.1989 6
Jozef Tóth 20.12.1972 9
Michaela Sláviková 14.8.1990 1

Položky (konkrétne tu používateľov) ukladáme na jednotlivé riadky, stĺpce potom označujú atribúty (vlastnosti, ak chcete), ktoré položky majú. MS-SQL databáza je typovaná, to znamená, že každý stĺpec má pevne stanovený dátový typ (číslo, znak, krátky text, dlhý text, dátum...) 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. Pri používateľoch by to mohlo byť napríklad rodné číslo, oveľa častejšie sa však používajú umelé identifikátory, a to tak, že používateľov jednoducho očíslujeme. 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 však necháme na inokedy a zatiaľ budeme pracovať iba s jednou tabuľkou naraz.

RDBMS

Možno vám napadlo, načo vlastne potrebujeme nejakú databázu. Dáta by sme rovnako dobre mohli ukladať do nejakých textových súborov, binárnych súborov, XML alebo niečoho podobného. Určite by to nejako fungovalo, alebo nie?

Označenie databáza je vlastne nepresné a v odbornej literatúre sa stretneme s označením RDBMS (Relation DataBase Management System). Po slovensky je to preložené ako „systém riadenia bázy dát“, čo znie naozaj hrozne, a preto budem ďalej používať označenie databázový stroj alebo RDBMS. Databázový stroj (teda tu MS-SQL) nie je iba úložisko dát. Ide 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. Jazyk databázy MS-SQL je T-SQL, T označuje transact, pretože podporuje transakcie, ale o tom až ďalej.

Spolu s ukladaním dát je však potrebné ďalej riešiť mnoho ďalších vecí. Asi by nám napadlo napríklad zabezpečenie alebo optimalizácia výkonu. RDBMS toho však robí ešte oveľa viac. Rieši za nás problém súčasnej editácie rovnakej položky viacerými používateľmi v rovnakom okamihu, ktorý by inak mohol spôsobiť nekonzistentnosť databázy. RDBMS dáta v tomto prípade zamkne a odomkne až po vykonaní zápisu. Ďalej umožňuje spájať niekoľko dotazov do transakcií, keď sa séria dotazov vykoná vždy celá alebo vôbec. Nestane sa, že by sa vykonala iba časť. Tieto vlastnosti databázového stroja sú zhrnuté skratkou ACID, poďme si ju vysvetliť.

ACID

ACID je akronym slov Atomicity (nedeliteľnosť), Consistency (validita), Isolation (izolácia) a Durability (trvanlivosť). Jednotlivé zložky majú nasledujúci význam:

  • Atomicity – Operácie v transakcii sa vykonajú ako jedna atomická (nedeliteľná) operácia. To znamená, že ak nejaká časť operácie zlyhá, databáza sa vráti do pôvodného stavu a žiadne časti transakcie nebudú vykonané. Reálnym príkladom je napríklad prevod peňazí na bankovom účte. Ak sa nepodarí peniaze odpočítať z jedného účtu, nebudú ani pripísané na druhý účet. Inak by bola databáza v nekonzistentnom stave. Ak by sme si prácu s dátami riešili sami, mohlo by sa nám to stať veľmi jednoducho.
  • 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 v jeden okamih stretne viac dotazov na zápis do rovnakého riadka, vykonávajú sa 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 el. 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, pozri ďalej. V dnešnej dobe sa vôbec neoplatí zaťažovať otázkou ukladania dát, jednoducho siahneme po hotovej databáze, ktorých je obrovský výber a väčšinou sú zadarmo. O databáze občas hovoríme ako o 3. vrstve aplikácie (1. vrstva je používateľské rozhranie, 2. vlastná logika aplikácie, 3. je práve dátová vrstva).

LocalDB vs. Microsoft SQL Server

V tomto kurze budeme pracovať s odľahčenou verziou MS-SQL databázy zvanou LocalDB. Ide o tzv. lokálnu databázu, teda databázu, ktorá je tvorená iba jedným súborom. Dá sa tak ľahko prenášať a nemusí nám na našom počítači bežať komplexná služba. Táto databáza sa najčastejšie používa pri vývoji aplikácie a vo finálnej verzii je nahradená.

S LocalDB budeme pracovať pomocou populárneho IDE Visual Studio. IDE je skratka pre Integrated Development Environment (integrované vývojové prostredie) a jednoducho povedané ide o aplikáciu, v ktorej píšeme zdrojový kód alebo spravujeme databázy a pomocou ktorej potom našu aplikáciu testujeme a ladíme.

Alternatívne možno použiť aj plnohodnotný Microsoft SQL Server, ku ktorému si možno doinštalovať ešte administračný nástroj SQL Server Management Studio na tvorbu samotnej databázy. Toto riešenie sa však používa skôr na serveroch a pre naše potreby je príliš zložité.

Príprava Visual Studia

Potrebovať teda budeme iba Visual Studio vo verzii 2022 alebo novšej. To možno použiť vo variante Community, ktorá je úplne zadarmo.

Ak používate Mac, inštaláciu Visual Studia v tejto lekcii preskočte. Na precvičenie MS-SQL dotazov využite online kompilátory, napríklad OneCompiler, ktorému sa venujeme v samostatnom tutoriáli. V ďalších lekciách potom všetky kroky a dotazy, ktoré vykonávame vo Visual Studiu, zadávajte práve do online kompilátora. Dbajte pritom na to, aby skript obsahoval aj potrebnú prípravu databázy, napríklad vytvorenie tabuliek a vloženie ukážkových dát.

Ak Visual Studio ešte nemáme nainštalované, stiahneme pri možnosti Community príslušný inštalačný súbor z oficiálnych stránok Microsoftu a spustíme:

Stiahnutie Visual Studio Community - MS-SQL databázy krok za krokom

Visual Studio bohužiaľ nie je dostupné v slovenčine, ale iba v češtine a angličtine. Pre jednoduchšiu orientáciu použijeme českú verziu.

Po chvíli sa nám spustí Visual Studio Installer.

Ak už Visual Studio máte z predchádzajúceho obdobia, otvorte si Visual Studio Installer, nájdite vami používanú inštaláciu Visual Studia a zvoľte Změnit (Modify).

Najprv sa uistíme, že máme zaškrtnutú sadu Ukladanie a spracovanie dát (Data storage and processing), treba na obrazovke zájsť kúsok nižšie:

Výber sady vo Visual Studio Installer - MS-SQL databázy krok za krokom

Ďalej sa presunieme do záložky Jednotlivé komponenty (Individual components), kde si overíme, že máme pridanú komponentu SQL Server Express LocalDB, napr. SQL Server Express 2025 LocalDB, verzia sa môže líšiť:

Výber LocalDB vo Visual Studio Installer - MS-SQL databázy krok za krokom

V ďalšej záložke Jazykové sady (Language packs) si prípadne môžeme nainštalovať ďalšie jazyky, ako angličtinu alebo češtinu, ak ste si Visual Studio stiahli v angličtine:

Výber angličtiny vo Visual Studio Installer - MS-SQL databázy krok za krokom

Inštaláciu spustíme kliknutím na tlačidlo Instalovat (Install), prípadne Změnit (Modify).

Po inštalácii

Ak sa Visual Studio po inštalácii neotvorilo, spustíme si ho. Možnosť prihlásenia môžeme pokojne preskočiť:

Prihlásenie do Visual Studia - MS-SQL databázy krok za krokom

Potom zvolíme režim zobrazenia, v ktorom budeme pracovať, a Visual Studio spustíme:

Farebný režim Visual Studia a spustenie - MS-SQL databázy krok za krokom

Zobrazí sa nám štandardná úvodná obrazovka.

Nastavenie češtiny

Ak Visual Studio nemáme v češtine, zvolíme Close without code (Pokračovať bez kódu):

Úvodná obrazovka Visual Studia v angličtine - MS-SQL databázy krok za krokom

Ďalej si otvoríme nastavenia cez ponuku Tools (Nástroje) a položku Options... (Možnosti...):

Zobrazenie nastavení Visual Studia - MS-SQL databázy krok za krokom

Tu prejdeme do sekcie Environment (Prostredie)International Settings (Medzinárodné nastavenia), kde si ako Jazyk zvolíme English:

Zmena jazyka vo Visual Studiu - MS-SQL databázy krok za krokom

Vypneme Visual Studio a znovu ho spustíme:

Úvodná obrazovka Visual Studia v češtine - MS-SQL databázy krok za krokom

Tým máme naše vývojové prostredie pripravené.

Skôr, ako sa pustíte do čítania nasledujúcej lekcie, MS-SQL krok za krokom: Vytvorenie databázy a tabuľky, pripravte si Visual Studio :)


 

Všetky články v sekcii
MS-SQL databázy krok za krokom
Preskočiť článok
(neodporúčame)
MS-SQL krok za krokom: Vytvorenie databázy a tabuľky
Článok pre vás napísal Michal Žůrek - misaz
Avatar
Užívateľské hodnotenie:
38 hlasov
Autor se věnuje tvorbě aplikací pro počítače, mobilní telefony, mikroprocesory a tvorbě webových stránek a webových aplikací. Nejraději programuje ve Visual Basicu a TypeScript. Ovládá HTML, CSS, JavaScript, TypeScript, C# a Visual Basic.
Aktivity