Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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 - Úvod do databáz vo VB .NET

Vítame vás pri prvej lekcii kurzu o programovaní databázových aplikácií vo VB.NET. Kurz spracováva pokročilú problematiku čo možno najjednoduchšie as čo najviac príkladmi a ilustráciami. Preberieme v ňom teóriu i prax a niekoľko prístupov, ktoré sa vo VB.NET pre prácu s databázou používajú. Kurz popisuje prácu s MS-SQL databázou v jazyku VB.NET. Na sieti sa nachádza aj podrobnejší kurz len o MS-SQL databáze (nezávisle na jazyku).

V dnešnom tutoriáli Databázy vo VB.NET - ADO.NET si uvedieme relačné databázy a povieme si, ako sa s nimi pracuje vo VB.NET. Zaobstaráme si Microsoft SQL Server.

Na čo databázu?

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

RDBMS

Označenie databázy je vlastne nepresné av odbornej literatúre sa stretneme s označením RDBMS (Relation DataBase Management System). V preklade: systém riadenia bázy dát. Ďalej budeme používať označenie databázový stroj alebo RDBMS. Databázový stroj (teda tu MS-SQL) 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.

Databáza vo VB.NET - ADO.NET

S databázou komunikujeme jazykom SQL, ktorým sú v podstate ľudsky zrozumiteľné vety. Nad týmto jazykom vzniklo mnoho nadstavieb a niekedy sa už dokonca s SQL vôbec nestretneme. My si v kurze ukážeme rôzne prístupy a budeme s databázou komunikovať ako pomocou SQL, tak len ako s objektmi pomocou technológie LINQ.

Spolu s ukladaním dát je ale treba ďalej riešiť mnoho ďalších vecí. Asi by nás napadlo napr. 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:

  • Atomicity (nedeliteľnosť),
  • Consistency (validita),
  • Isolation (izolácia),
  • Durability (trvanlivosť).
Význam jednotlivých zložiek si vysvetlíme.

Atomicity

Operácie v transakcii sa vykonajú ako jedna atomická (nedeliteľná) operácia. Tzn., že pokiaľ nejaká časť operácie zlyhá, vráti sa databáza do pôvodného stavu a žiadne časti transakcie nebudú vykonané.

Reálny príklad je napr. prevod peňazí na bankovom účte. Pokiaľ 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 el. energie alebo iného prerušenia prevádzky RDBMS všetko zostane tak, ako bolo tesne pred výpadkom.

Zhrnutie

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, viď ďalej.

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. O databáze občas hovoríme ako o tretej vrstve aplikácie, kde:

  • prvou vrstvou je užívateľské rozhranie,
  • druhou vrstvou potom vlastná logika aplikácie,
  • a nakoniec treťou vrstvou je práve dátová vrstva.
MS-SQL Server

Vo VB.NET sa pracuje takmer výhradne s databázou MS-SQL (niekedy sa technológia označuje ako T-SQL ako Transact SQL). Teoreticky je možné vo VB.NET pracovať s ľubovoľnou databázou (napr. SQLite, MySQL a podobne.)

Prakticky sú však všetky nástroje a technológie optimalizované pre MS-SQL (ako inak, keď je od Microsoftu:-) ). A naopak, nástroje pre iné databázy veľa ľudí nepoužíva, ich vývoj skončil alebo sú v alfaverziách a podobne. Výnimkou sú databázy Oracle, s ktorými Microsoft počíta, ale ktoré sú určené pre veľké podniky. MS-SQL nie je zlá databáza a je možné ju používať zadarmo. Keď si vyberieme práve tú, vyhneme sa mnohým problémom a vývoj aplikácie pôjde relatívne ľahko.

Databáza vo VB.NET - ADO.NET

LocalDB vs. MS-SQL Server

V tomto kurze budeme pracovať s tzv. lokálnou databázou (LocalDB), ktorú si možno pridať do projektu cez samotné Visual Studio a bude uložená v jednom súbore. Možno ju tak ľahko prenášať a nemusí nám na danom stroji bežať komplexná služba. V minulosti bola táto verzia MS-SQL databázy označovaná ako Express, občas sa pre tieto typy databáz všeobecne tiež používa označenie embedded alebo portable. Táto databáza sa najčastejšie používa buď pri vývoji aplikácie a vo finálnej verzii je nahradená, alebo ako lokálne úložisko dát.

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

Príprava Visual Studia 2022

Pre prácu s localDB je nutné mať vo Visual Studiu nainštalovanú sadu funkcií Ukladanie a spracovanie dát (Data storage and processing).

Ak danú sadu máme nainštalovanú, overíme kliknutím na položku Tools v aplikačnom menu Visual Studia, potom zvolíme položku Get Tools and Features. Otvorí sa nám Visual Studio Installer, pomocou ktorého sa inštaluje nielen Visual Studio, ale aj pomocou neho môžeme doinštalovať sady funkcií. Uistite sa, že máte zaškrtnutú sadu Ukladanie a spracovanie dát, prípadne ju zaškrtnite a kliknite na Zmeniť:

Databáza vo VB.NET - ADO.NET

Relačná databáza

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 uzivatele, ďalšiu tabuľku clanky a ďalšie potrebné komentare.

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

Meno Priezvisko Dátum narodenia Počet článkov
Ján Novák 11.3.1984 17
Tomáš Márny 1.2.1989 6
Jozef Nový 20.12.1972 9
Michaela Sláviková 14.8.1990 1
Položky (konkrétne tu používatelia) 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, atď.) a môže obsahovať hodnoty len tohto typu.

Pokiaľ 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ť potrebné rodné číslo. Oveľa častejšie sa však používajú identifikátory umelé, 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 ale necháme na neskôr a zatiaľ budeme pracovať iba s jednou tabuľkou zároveň.

ADO.NET

ADO.NET je knižnica, ktorá zastrešuje technológie na prístup k dátam a prácu s nimi. Je súčasťou .NET frameworku. Obsahuje poskytovateľov dát, ktorí sú navrhnutí vždy pre konkrétny typ dátového zdroja. Najprv teda musíme vybrať vhodného poskytovateľa dát pre našu databázu.

Rovnakým spôsobom vie VB.NET pracovať napríklad s databázami MS Access alebo Oracle.

Prehľad poskytovateľov dát

Medzi poskytovateľov dát patria najmä:

Poskytovateľ Menný priestor Popis
SQL System.Data.SqlCli­ent určené pre MS-SQL Server
OleDB System.Data.OleDb vhodné pre DB MS Access
ODBC System.Data.Odbc pre prístup k DB nezávisle od OS a typu databázy
Oracle System.Data.O­racleClient určené pre Oracle
Ďalších poskytovateľov je možné si stiahnuť a doinštalovať (napr. MySQL)

My už vieme, že budeme pracovať s databázou MS-SQL, preto vyberieme poskytovateľa dát SQL.

V budúcej lekcii, Vytvorenie lokálnej databázy vo Visual Studio vo VB.NET , si vytvoríme databázu, ku ktorej sa budeme z VB.NET pripájať.


 

Všetky články v sekcii
Databáza vo VB.NET - ADO.NET
Preskočiť článok
(neodporúčame)
Vytvorenie lokálnej databázy vo Visual Studio vo VB.NET
Článok pre vás napísal Stanislav Zita
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity