Abychom si rozumněli, je pro databázové zelenáče v dnešním dílu připraven slovníček nejběžnějších pojmů.
11.3.2005 15:00 | Petr Zajíc | přečteno 45511×
V každém odvětví lidské činnosti je zažitá nějaká terminologie.
Nejinak je tomu v databázích a situace na tomto poli je celkem
jednotná. To znamená, že stejné věci se stejně říká v mnoha databázích.
Pojďme dnešní díl věnovat tomu, že si většinu základních pojmů
databázového světa nějak definujeme. Profíci to asi budou moci s čistým
svědomím přeskočit, pro začátečníky to bude čtení téměř povinné.
Každý, kdo se nějak zabýval daty, narazil ve svém životě na tabulkové kalkulátory (nebo procesory). Databáze a tabulkové procesory mají mnoho společného, proto jsem si dovolil při vysvětlování databázových pojmů použít malé srovnání. Použiju k tomu vykonstruovaný dokument OpenOffice.org Calc.
Databázový server - to je
název softwaru, který "zastřešuje" a řídí
jednotlivé databáze. Má na starosti takové věci, jako je autorizace
uživatelů, poskytování a vracení dat, jejich organizace, sdílení po
síti a správu. Databázový server je v našem případě tvořen právě
nainstalovanou MySQL. Slovo "server" se v této často používá pro
zdůraznění toho, že celé řešení je síťové, nebo proto, aby se odlišil
od "klienta". V našem srovnání s OpenOffice.org Calcem bychom mohli
přirovnat "server"
k tomu, když nainstalujeme samotný kancelářský balík. Teprve ten totiž
umožní vytvářet soubory dokumentů a pracovat s nimi.
Databázový klient - je název
libovolného software, který s
databázovým serverem komunikuje (tzn. buď mu předává nějaká data k
uložení, nebo po něm data chce). Typicky se může jednat o řádkového
klienta, o webovou stránku zobrazující data, o obchodní aplikaci nebo o
cokoli podobného. Slovem "klient" v takovém případě vyjadřujeme buď
závislost na databázi (tzn. bez serveru by existence klienta byla k
ničemu), nebo fakt, že může běžet "oproti" serveru; často v jiném PC v
počítačové síti.
Pozn.: V praxi bývá mezi klientem
a serverem někdy ještě třetí vrstva. Pro pochopení práce s databází ji
však nepotřebujeme a můžeme ji teď klidně ignorovat.
Databáze - termín pro
označení kolekce tabulek. Jedna databáze může
mít nula až mnoho tabulek. Dalo by se to přirovnat k jednotlivým
sešitům OpenOffice.org Calcu. Jeden sešit můžete mít například pro
evidenci zboží a další sešit pro seznam fotbalových zápasů. V praxi se
databáze používají zejména pro logické oddělení vzájemně
nesouvisejících tabulek a pro zjednodušení správy oprávnění (databázím
se totiž dají přidělovat oprávnění).
Příklad: Webhostingová společnost nabízí k hostingu i databázi MySQL. Každý uživatel, který to využije, dostane přidělenu jednu databázi, která se typicky jmenuje stejně jako jeho uživatelské jméno, a dostane oprávnění používat jen tuto databázi.
Tabulka - základní
organizační jednotka databáze. Každá databáze
může obsahovat nula a více tabulek. Tabulky se svým charakterem
podobají jednotlivým listům sešitu OpenOffice.Org Calc.
Řádek - někdy též záznam
nebo věta. Každý řádek obsahuje informace o
jedné položce (například jméno, příjmení a telefon pro jednoho zaměstnance). Narozdíl od
listu sešitu tabulkového kalkulátoru však musí být všechny řádky v
databázi stejně dlouhé. Znamená to například, že nelze mít u jednoho
zaměstnance jedno telefonní číslo a u jiného pět.
Pozn.: Výjimkou je samozřejmě
situace, kdy sestavíme tabulku tak, že může obsahovat pět telefonních
čísel a někomu zadáme jen jedno. Nicméně, stále je prostor pro dopsání
zbývajících, ale není možné zadat šesté.
Řádky lze do tabulky přidávat z klientské aplikace, z jiné tabulky nebo z externího zdroje (pak se tomu říká import).
Sloupec - prostor pro
uložení jedné položky záznamů. V jednom sloupci v tabulce databáze musí
být data stejného typu (například všechno to musí být čísla, všechno
datumy a podobně). Rovněž tím se databázové tabulky liší od sešitů
kalkulátorů.
Index - pomocná datová
struktura popisující vztah mezi hodnotou v tabulce a jeho umístěním.
Slouží pro vyhledávání a spojování tabulek. Rovněž může hlídat, aby v
jednom sloupci byly jedinečné hodnoty. Ještě o něm bude v našem seriálu
řeč.
Klíč - ve skutečnosti se výrazy "klíč" a "index" často zaměňují. Přesto je mezi nimi jemný významový odstín - klíč reprezentuje logickou strukturu, kdežto index fyzickou.
Pohled - virtuální tabulka,
která vybírá řádky a sloupce z jedné nebo více existujících tabulek.
Může je rovněž například filtrovat nebo řadit.
Uložená procedura -
programový kód, který je uložen na databázovém serveru a vykonává
příkazy jazyka SQL (viz níže). Uložené procedury se používají proto, že
mohou být serverem kompilovány a optimalizovány, a také proto, že
zjednodušují práci v situaci, kdy několik klientů potřebuje provést
stejné nebo podobné úkony na serveru.
Trigger (spoušť) - uložená
procedura, která se spouští automaticky poté, co klient změní data v
tabulce na serveru.
Oprávnění - sada pravidel
definujících, co jednotliví uživatelé smějí s databázovým serverem
dělat. Podobné, jako v systému.
V tomto odvětví se rovněž používá celá řada zkratek. Uvedu pro
úplnost ty nejběžnější:
DBMS - z anglického
"database management system"; nic jiného než obecný název pro
databázové systémy. Český ekvivalent SŘBD (systém řízení báze dat) se
naštěstí moc neujal.
SQL - z anglického
"structured query language", strukturovaný dotazovací jazyk. To je
jazyk, s nímž databázoví klieti komunikují s databázovými servery.
Existuje bohužel řada jeho dialetů, což komplikuje život vývojářům,
pracujícím s několika DBMS.
DDL - z anglického "data
definition language", jazyk pro definici dat. Podmnožina SQL, která je
tu pro definici databáze. Pomocí DDL se definují tabulky, sloupce a tak
dále.
DML - z anglického "data
manipulation language", jazyk pro manipulaci s daty. Podmnožina SQL,
která zajišťuje vlastní práci s daty v tabulkách - jejich vkládání,
mazání a aktualizaci.