MySQL (4) - něco terminologie

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 45087×

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é.

Databáze je když...

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.

Zkratky

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.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=744