Image
7.6.2016 0 Comments

Databázy / 1. časť

Späť na úvod >> Späť na seriál

„Najväčšia cena je cena informácie,“ povedal dávnejšie akýsi obchodník a isto tým myslel správnu informáciu v správny čas. Tú správnu v nekonečnej zmesi všelijakých informácií, balastu aj skutočných perál. Kedysi, keď jediným komunikačným prostriedkom na väčšie vzdialenosti bol konský povoz kráľovskej pošty, bolo informácií poriedko, a tak nebol veľký problém udržať ich v kompetentnej hlave a správne vyhodnotiť. No dnes, v dobe, keď sa na nás valia informácie zo všetkých strán rýchlosťou svetla, je veľmi dôležité rôzne informácie niekde ukladať a vyhodnocovať na základe konkrétnych kritérií. Takýmto „skladom“ informácií hovoríme databázy.

Čo môže byť databázou?
Sú všade okolo nás, v zamestnaní, na ulici alebo v  mliekarni na rohu ulice. Lebo účtovné programy, cestovný poriadok autobusov alebo zoznam tovaru v obchode nie je nič iné ako sklad informácií, teda databáza.

A preto sa poďme pozrieť databázam bližšie na zúbky. Vysvetlíme si základné pojmy, povieme si niečo z histórie databáz a programov na prístup k nim. A keďže dnes vládnu svetu databázy typu SQL (čo to je, to sa dozvieme neskôr), budeme sa venovať jednej z nich, a to MySQL. Že ste o nej už počuli, ale neviete nič podrobnejšie? Tak práve vám je určený náš seriál. Túto databázu si nainštalujeme, a čo je najzaujímavejšie, budeme s ňou pracovať na obidvoch najrozšírenejších operačných systémoch posledných dní – na Linuxe i na Windows. A tak si prídu na svoje priaznivci oboch systémov. Okrem inštalácie sa spravovanie SQL servera na obidvoch systémoch skoro nelíši, a preto nie je problém „konvertovať“ k inej platforme. A navyše nie je problém pristupovať k serveru na Linuxe z Windows alebo naopak, ba dokonca si taký programček v Delphi, prípadne v inom vyššom programovacom jazyku napíšeme. Že neviete programovať? Tak si údaje z databázy pripojíme do Excelu a tam si z nich urobíme graf! A nakoniec si ukážeme, ako pomocou SQL servera môžeme prezentovať svoje dáta na intranete alebo dokonca internete tak, že naši klienti budú potrebovať iba internetový prehliadač. Tak čo, ideme na to?

Trocha teórie
Hneď na úvod si povedzme, že nebudeme brať do úvahy rozdiel medzi dátami a informáciami. Budeme predpokladať, že všetky dáta sú pre nás zároveň informáciami, pretože ich dokážeme interpretovať a priradiť im zmysel.
Dáta sa ukladajú do tabuliek (tab. č. 1).  Naša cvičná tabuľka sa nazýva KNIHA.

ID

NAZOV

AUTOR

VYDAVATEL

TEMA

CENA

POZNAMKA

1

Angelika a kráľ

Golon, Anne a Serge

Slovenský spisovateľ

román

56

 

2

KGB

Gordijevsky, Oleg

EAAP

faktografia

239

 

3

Bratia Ricovci

Simenon, Georges

Smena

krimi

18

 

4

Vtáky v tŕní

Mcclloughová, Collen

Slovenský spisovateľ

román

66

 

5

Linux - praktický průvodce

Sobell, Mark G.

Computer Press

odborná

1073

 

6

Naučte se programovat v Delphi

Binzinger, Thomas

Grada

odborná

439

 

7

Používame Linux

Welsh, M.a Kaufman, L.

Computer Press

odborná

494

 

Databázová tabuľka je veľmi podobná tabuľke v textovom editore alebo v tabuľkovom kalkulátore, napr. Excel, Quattro a pod., alebo tej, čo si narysujete doma na papier, aby ste zaznamenali určité informácie. Skladá sa z jednotlivých riadkov a stĺpcov. Riadkom hovoríme záznamy (vety) a stĺpcom hovoríme položky (polia). Výrazy v zátvorkách sú takisto správne, sú to ekvivalenty, s ktorými sa tiež môžeme v databázach stretnúť. My bude používať tie prvé výrazy.

Stĺpce tabuľky
Každý stĺpec (položka) má názov, ktorému sa hovorí atribút. Atribútom tretej položky je AUTOR, teda v tomto stĺpci sa budú nachádzať mená autorov jednotlivých kníh. Každá tabuľka musí obsahovať aspoň jeden stĺpec.

Riadky tabuľky
Zatiaľ čo položky majú rozdielne atribúty, záznamy obsahujú rovnaké položky. To znamená, že jednotlivé riadky majú rovnaké stĺpce. V našej tabuľke vidíme iba 7 záznamov, ale v  tabuľke býva obyčajne veľa riadkov. Môžeme sa stretnúť s tabuľkami, ktoré obsahujú až milióny riadkov, ale na druhej strane sú tabuľky, v ktorých nie je ani jeden riadok. Takýmto tabuľkám hovoríme, že sú prázdne. Záznamy môžeme do tabuľky pridávať alebo ich mazať, ale iba celé riadky. Takisto výsledkom našich dopytov bude jeden riadok alebo skupina celých riadkov.

Hodnoty = dáta = informácie
V priesečníku riadka a stĺpca je konkrétna hodnota (aj prázdna hodnota je hodnota!). Táto hodnota reprezentuje určitý vzťah medzi záznamom a položkou. V priesečníku riadka opisujúceho knihu Bratia Ricovci a stĺpca CENA nájdeme sumu 18, čo predstavuje osemnásť vtedajších korún československých. (Skutočne, voľakedy stála kniha smiešne peniaze...)

Súbor tabuliek, logicky vytvárajúcich určitý celok, tvorí databázu. Tak ako každá tabuľka aj databáza má konkrétne meno, ktorým sa prezentuje. Našu databázu nazveme KNIZNICA. V našej databáze máme zatiaľ iba jednu tabuľku KNIHA, ale môže ich tu byť viac, ktoré s danou tematikou projektu riadenia výpožičky kníh budú úzko súvisieť. Isto nás napadne, že by tu mala byť akási tabuľka o členoch – čitateľoch knižnice, napr. CLENOVIA, kde budú ich osobné údaje a údaje o tom, aké knižky si požičali. Nepredbiehajme, k tomuto sa ešte dostaneme.

Databázový systém
Okrem  rozčlenenia dát do jednotlivých tabuliek v rámci databázy máme k dispozícii ešte nástroje na manipuláciu s týmito dátami. Môžeme dáta vkladať, upravovať, meniť alebo vykonávať nad nimi rôzne operácie, ako napr. sčitovať, porovnávať, triediť do podskupín a podobne.
Zlúčením dát a nástrojov, pomocou ktorých vykonávame spomínané operácie, dostaneme databázový systém.
Každý databázový systém musí obsahovať tieto základné nástroje na:

  • vytvorenie, vyhľadávanie, aktualizáciu a rušenie používateľských dát,
  • definíciu štruktúry dát,
  • definíciu a zabezpečenie integrity dát,
  • zabezpečenie fyzickej a logickej nezávislosti dát,

prípadne nástroje na:

  • podporu práce viacerých používateľov (definovanie prístupových práv),
  • zálohovanie dát,
  • replikáciu dát.

Fyzická nezávislosť dát znamená oddelenie spôsobu fyzického uloženia dát (napr. na disku) od práce s nimi. Ak chceme pracovať s tabuľkou kníh, odkážeme na ňu pomocou jej názvu KNIHA a nemusíme sa zaoberať tým, kde je uložená na disku počítača a akým spôsobom sú fyzicky zaznamenané dáta v nej uložené.

O logickej nezávislosti dát hovoríme vtedy, keď zmena logickej štruktúry dát (napr. rozšírenie o ďalšie tabuľky alebo stĺpce v existujúcej tabuľke) nevyžaduje úpravu už existujúcich programov alebo dopytov pracujúcich s dátami.

Dátové typy
Už z našej jednoduchej tabuľky vidíme, že dáta obsiahnuté v rôznych stĺpcoch môžu byť rôzneho druhu. Je tu hodnota v stĺpci CENA, ktorá je zadávaná ako číslo, a teda s ňou môžeme vykonávať číselné operácie, napr. sčítať, odčítať, násobiť a pod. Ďalej sú tu hodnoty v stĺpcoch NAZOV, AUTOR, VYDAVATEL, ktoré sú textového charakteru a môžeme ich porovnávať, hľadať podobné atď. Existujú však aj iné druhy hodnôt, ktoré sa môžu v tabuľke vyskytovať. Stĺpec ID je tak trochu zvláštny typ. Je síce číselný, ale s autoinkrementačnou vlastnosťou, teda databázový systém sám za nás pridá číslo o jedno vyššie, keď vložíme nový záznam do tabuľky.

Odborne sa týmto druhom hodnôt hovorí dátové typy. Základné dátové typy databázového systému MySQL, s ktorým budeme pracovať, sú v tab. č. 2. Samozrejme, MySQL ich má podstatne viac. Keď budeme niektorý typ používať, vysvetlíme si ho.

Dat. typ

Opis

int

celé číslo v rozsahu -2 147 483 648 do 2 147 483 647

smallint

celé číslo v rozsahu -32 768 do 32 767

tinyint

celé číslo v rozsahu od 0 do 255

float

číslo s pohyblivou rádovou čiarkou

char(n)

textový reťazec dĺžky n (max. 255 znakov)

varchar(n)

textový reťazec max. dĺžky n (max. 255 znakov)

decimal(p)

desatinné číslo s p platnými číslicami

decimal (p,d)

desatinné číslo s p platnými číslicami a s d desatinnými miestami

money

peňažná suma

datetime

údaj o čase a dátume vo formáte RRRR-MM-DD HH:MM:SS

time

údaj o čase v tvare HH:MM:SS

date

údaj o dátume v tvare RRRR-MM-DD

blob

špeciálny typ na ukladanie dlhých binárnych dát

V jednom stĺpci dátovej tabuľky sa môžu vyskytovať iba hodnoty rovnakého dátového typu. Potom je zrejmé, že nemá zmysel požadovať vloženie textovej hodnoty do stĺpca ID alebo CENA. Preto hovoríme o dátovom type celého stĺpca tabuľky.

Nabudúce si povieme niečo väzbách v tabuľkách, o kľúčoch a indexoch. A nainštalujeme si databázový systém.

 

 


Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

Čo robiť keď firme chýba IT expert?

08.12.2016 10:36

IT projekty majú z hľadiska nárokov na kapacity špecialistov premenlivý charakter a v určitých fázach často treba posilniť kapacity IT oddelení externými odborníkmi. Riešením je IT ousourcing, ako fo ...

Ako na to

Ako funguje sandbox?

08.12.2016 15:36

Každá aplikácia môže pre operačný systém počítača či mobilného zariadenia predstavovať potenciálnu hrozbu, a to aj v prípade, ak neobsahuje žiadne bloky škodlivého kódu. Murphyho zákony neúprosne defi ...

Ako na to

Tipy a triky: Ako na snímku obrazovky na akomkoľvek počítači s Windows?

02.12.2016 00:13

Ak snímky obrazovky robíte často apotrebujete napríklad funkcie na posun stránok alebo snímanie zobrazenia pri vyššom rozlíšení displeja, zrejme používate nejakú špecializovanú aplikáciu. Väčšina použ ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá