9. Editor databází – úvod a základní funkce Co jsou to databáze Možná jste se někdy setkali s případem, kdy bylo nutné zpracovat větší množství dat. Například při turnaji ve fotbale je zapotřebí dát dohromady spoustu údajů o hráčích, družstvech, ke kterým náleží, záložnících atd. Pokud je takových dat hodně a je nutné je nějakým efektivním a rychlým způsobem vyhodnocovat, neobejdete se bez programů pro zpracování databází. Databáze je jinými slovy větší seskupení dat (informací), které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat. Jedním z programů určených pro zpracování databází je program z balíku Microsoft Office Access. Možná namítnete, proč se zabývat „nějakým“ dalším programem, když s daty jako takovými již vlastně umíte pracovat v Excelu. V Excelu je také možné zpracovávat data v tabulkách, třídit je a vyhodnocovat. Ano, to je pravda. Jenže Excel neumí spoustu dalších užitečných funkcí, které jsou pro Access naprostou samozřejmostí. Jedná se například o snadnou a efektivní tvorbu sestav, formulářů, nastavení celé řady výběrových kritérií apod. Tyto pojmy vám zatím mnoho neříkají, ale postupně se pro vás stanou samozřejmostí. Excel navíc není vhodný pro větší databáze – čím je databáze větší, tím více se ukazuje rozdíl mezi Excelem a Accessem. Na druhé straně je nutno objektivně uznat, že pokud byste měli vytvořit tabulku například s pouhými třiceti adresami nějakých lidí, pak by použití Accessu bylo mrháním času, protože v Excelu byste analýzu takových dat určitě provedli lépe. V souvislosti se zpracováním databází v Accessu je nutné podotknout ještě jednu důležitou informaci. Program MS Access vám jistě pomůže pochopit a do jisté míry zvládnout oblast databází. Ovšem ani Access není vhodný pro zpracování opravdu „pořádných“ databázových aplikací s rozsahem stovek tisíc záznamů, desítek propojených tabulek a složitých relací. Pro takovéto potřeby se používají SQL databáze, které jsou velmi výkonné a ke zpracování velkého množství dat přímo navržené. Základní filozofie zpracování dat je stejná jako u Accessu, ale praktické provedení je daleko důmyslnější (ale na ovládání složitější). Z hlediska návrhu a správy jsou SQL databáze podstatně složitější než například Access. Samotný návrh databáze se obvykle odehrává na příkazové řádce a pro práci s daty je nutné mít přímo naprogramované rozhraní. Je velmi pravděpodobné, že pokud v budoucnu přijdete do styku s databázemi, pak to bude na úrovni uživatelské, tj. setkáte se pouze s možností zadat vstup a výstup do předem připraveného formuláře nebo sestavy.
Spuštění MS Access Access můžete spustit bud z hlavní nabídky po klepnutí na tlačítko START, následně na položku Programy a v rozevřené nabídce na položku Microsoft Access. Access se rovněž spustí klepnutím na jakoukoliv již vytvořenou databázi, po poklepání na ikonu s příponou *.mbd. Po spuštění programu Access (například z nabídky START) se zobrazí okno s dotazem, zda vytvořit novou prázdnou databázi, otevřít průvodce vytvořením databáze, nebo otevřít již existující databázi. Nejlepší variantou jak začít vytvářet vlastní databázi je zvolit položku Prázdná databáze Microsoft Access. Vyžaduje sice více znalostí, než kdybyste k vytvoření použili průvodce, ale zase máte celou databázi, její strukturu a návrh pevně pod kontrolou. Zvolte tedy první variantu a klepněte na tlačítko OK.
Typy objektů databáze Access je program, který je v určitém směru o něco složitější než například Excel nebo jiné programy MS Office. A to už jen například proto, že je zde několik typů objektů (tabulky, dotazy, formuláře, sestavy apod.), se kterými se v rámci návrhu jedné databáze pracuje samostatně, ale přitom všechny objekty zapadají do jednoho návrhu a musí mít sjednocenou logiku. Jinými slovy, jedna databáze je složena z mnoha „modulů“ různého typu, které dohromady tvoří celek.
Aby uživatel neztratil přehled, jsou jednotlivé objekty v okně Databáze rozděleny do několika skupin. Vždy platí, že na jakou skupinu klepnete v levé šedé části okna, pouze takové objekty se zobrazí v pravé části okna. TABULKY Jedná se o velmi důležitý, resp. vůbec nejdůležitější typ objektu. V této sekci se vlastně databáze vytváří. Zde se navrhuje podoba tabulek, jejich množství, počet položek v každé datové tabulce atd. Zde je také možné tabulky naplnit daty (jde to ale jinde). Všechny ostatní typy objektů, jako např. dotazy, formuláře apod., vlastně „pouze“ spolupracují a jsou přímo závislé právě na tabulkách. DOTAZY Dotaz je typ objektu, který dokáže podle zadaných kritérií s tabulkami pracovat. Po tabulkách je to druhý nejdůležitější typ objektu v databázi. Dotaz je na tabulkách přímo závislý. Například pokud chceme najít v seznamu žáků pouze ty, kteří bydlí v Brně, lze pomocí objektu Dotazy nadefinovat dotaz, který z tabulek dané údaje zjistí. Dotazy ale umí mnohem více. FORMULÁŘE Formuláře jsou objekty, které jsou rovněž závislé, a to buď na tabulkách, nebo na dotazech. Formulář je velmi zjednodušeně řečeno graficky pěkně zpracovaná maska pro prohlížení a úpravu dat z tabulek a dotazů. Pracovat s údaji v tabulkách přímo je u mnoha údajů poměrně nepřehledné. Je to v podstatě jako pracovat s velkou tabulkou v Excelu. Daleko přehlednější je mít možnost každý záznam editovat v přehledných dialozích („chlívečcích“) a ovládacích prvcích, kde je s nimi možné daleko lépe pracovat. To umožňuje právě formulář, tedy zmíněná maska. SESTAVY Sestava je objekt určený pro výstup dat z databáze. Jedná se o graficky vzhledně vypadající uspořádaná data z tabulky či dotazu, která jsou připravena a zformátována pro tisk na tiskárnu. Přitom sestavu lze nastavit tak, aby data přímo třídila, seskupovala určené údaje apod. STRÁNKY Tento typ objektu je určen pro vytváření internetových stránek z datových podkladů tabulky či dotazu. Využije se v případě, že je nutné data z databáze vystavit na internet. Objekt sám stránku vytvoří, a data tedy není nutné převádět dalšími nepohodlnými cestami do podoby HTML stránky. MAKRA V různých typech objektů se můžete setkat s problémy, které nelze vyřešit jinak než vytvořením, eventuelně naprogramováním makra. Například na formuláři budete mít tlačítko, po jehož stisknutí se zobrazí detailnější formulář s větším množstvím informací o záznamu. V takovém případě je nutné vytvořit makro a danému objektu ho přiřadit.
Návrh databáze – TABULKY Předtím než začnete navrhovat jakoukoliv databázi, je nutné dobře promyslet její strukturu. To v praxi znamená, že byste měli vědět a znát, jaké údaje se v databázi budou nacházet a které údaje budou se kterými propojené.Tyto informace jsou před samotným návrhem nesmírně důležité, protože správné navržení databáze je zárukou jejího následného správného fungování a případného rozšiřování. V následujících popisech budeme pracovat s databází pacientů u lékaře a jejich jednotlivými záznamy. Každý pacient bude mít svou kartu s osobními údaji a k ní se budou vázat jednotlivé záznamy návštěv u lékaře. Jak je vidět na schématu, k návrhu takové databáze budou zapotřebí dvě tabulky. V jedné bude pouze seznam pacientů a jejich údajů a ve druhé pouze seznam všech návštěv. Aby bylo možné poznat, které návštěvy patří ke konkrétnímu pacientovi, budou tabulky propojeny pomocí
identifikačního čísla, tzv. ID. Obě tabulky budou následně propojeny pomocí tzv. relace. Jedná se o nový pojem, který bude popsán dále. ID 1 2 3 4 5 6 7 8 9
Jméno Karel Leopold Petra Martina Rudolf Martin Ondřej Pavlína Veronika
Příjmení Novák Málek Koloušková Míková Vaníček Dobrovolný Skivný Boňková Krátká
ID 2 2 5 6 4 5 5 8
Dat. návštěvy 12. 5. 2004 15. 5. 2004 10. 5. 2004 23. 5. 2004 16. 5.2004 20. 5. 2004 5. 6. 2004 30. 5. 2004
Bydliště Praha Olomouc Ostrava Liberec Č. Budějovice Znojmo Prachatice Telč Prostějov
Potíže Bolesti břicha Kontrola Zlomená noha Pálení očí Bolesti zad Noha – kontrola Noha – kontrola Bolesti hlavy
Datum narození 15.6. 1980 12.1.1983 1. 1. 1984 16. 9. 1980 26. 5. 1984 14.3.1982 12.1. 1985 16. 7. 1979 22.2. 1982
Závěr vyšetření / doporučení Užívat čaj, nepřepínat se. Vše OK. Jít na sádrovnu. Kontrola. Nekoukat tolik do monitoru. Doporučena rehabilitace. Stav se lepší. Už je to OK. Sundání sádry. Doporučeno vyspat se
Vytvoření a návrh nové tabulky 1. Zkontrolujte si, zda skutečně stojíte v typech objektu Tabulky (v levé šedé části musí být stisknuto stejnojmenné tlačítko). 2. V pravé části poklepejte na ikonu objektu Vytvořit tabulku v návrhovém zobrazení, anebo klepněte na tlačítko Návrh. Obě varianty jsou rovnocenné. 3. Access zobrazí okno s návrhem tabulky. Pozor, zobrazená tabulka není tabulka pro zadávání dat! Access má dva režimy pro práci s tabulkou. V tomto režimu je možné navrhnout jednotlivé sloupce tabulky a jejich parametry, nikoliv vkládat a upravovat data v tabulce – k tomu slouží druhý režim! a. TEXT … Zvolíte-li tento datový typ buňky, může buňka obsahovat jakýkoliv nepříliš dlouhý textový řetězec (tj. mimo jiné i čísla, data, speciální znaky = % – * 1: apod.). Ovšem pozor, s textovou buňkou nelze v budoucnu příliš efektivně pracovat. Například pokud byste pro sloupec s číselnými údaji použili textový typ, následně by nefungovalo třídění a výběr podle kritérií apod. Proto pokud víte, že buňka bude obsahovat například čísla, určitě zvolte typ číslo. b. MEMO … Memo je typ buňky pro dlouhý text. Jedná se o typ buňky podobný jako v předchozím případě, ale s tím rozdílem, že text v ní může být opravdu velmi dlouhý. Pokud předpokládáte, že v buňkách bude velmi dlouhý text (např. text několika stránek knihy, popis určité věci, problému apod.) pak je memo určeno právě pro tyto případy. c. ČÍSLO … Typ buňky, do které je možné vložit jen a pouze číslo. S číselnou buňkou lze následně velmi snadno pracovat, řadit podle sloupce s čísly tabulku, porovnávat, hodnotit, analyzovat, tvořit výběrová kritéria apod. d. DATUM/ČAS … Tento typ buňky je určen výhradně pro datum a čas. e. MĚNA … Typ buňky určený výhradně pro finanční operace. I tento typ má své opodstatnění. f. AUTOMATICKÉ ČÍSLO … Často používaný typ buňky. Právě tento typ bývá u záznamů používán jako identifikační číslo – ID. Výhodou je, že je uživatel nemusí
4.
5. 6.
7.
8.
zadávat sám, ale že s každým novým záznamem zvýší svou hodnotu vzhledem k předchozí hodnotě o 1. g. ANO/NE … Typ buňky, která může mít pouze dva stavy – ano / ne. Používá se u vyjádření stavů (například při otázce „Má maturitu?“ – ano/ne), kde jiná možnost nastat nemůže. h. OBJEKT OLE … Tento typ zahrnuje propojení (resp. vložení) téměř jakéhokoliv objektu s databází (např. obrázek, soubor, tabulka, dokument apod.). i. HYPERTEXTOVÝ ODKAZ … Tento typ objektu může obsahovat pouze hypertextový odkaz. V prvním sloupci zleva se definuje název pole (název sloupce budoucí tabulky). Může obsahovat diakritiku, ale obecně se to nedoporučuje. Ihned poté je nutné nadefinovat datový typ každého nového sloupce. Ten se definuje výběrem jedné z možností ve druhém sloupci zleva. Pokud datový typ nenadefinujete, bude automaticky nastaven na text. Obecně platí, že každý sloupec může mít jiný datový typ. Sloupce na sebe nejsou nijak vázané. Každý sloupec je navíc možné nadefinovat podrobněji. Pokud se na kterékoliv pole nastavíte, zobrazí se ve spodní části okna detailnější volby. Ty jsou pro každý datový typ jiné. Jakmile máte návrh tabulky dokončen, zavřete okno s návrhovým režimem klepnutím na tlačítko křížku. Budete dotázáni, zda si přejete uložit změny ve struktuře. Zde pochopitelně klepněte na tlačítko Ano. Následně se zobrazí menší okno, do kterého napište jasný a stručný název tabulky a klepněte na tlačítko OK. Nyní budete informováni o tom, že se v tabulce nenachází tzv. primární klíč a zároveň je nabídnuta možnost, zda ho má Access automaticky vytvořit. Význam primárního klíče bude vysvětlen dále v textu. Doporučuji nenechávat Access vytvářet primární klíč, tj. pokračovat dál klepnutím na tlačítko Ne. Nyní budete vráceni zpět do okna Databáze. Zde by ale již měl figurovat objekt, resp. tabulka v podobě ikony s popisem, kterou jste právě vytvořili.
Zadávání dat do tabulky Jak již bylo zmíněno, tabulka může být zobrazena ve dvou režimech. V režimu návrhového zobrazení, kde je možné měnit typy sloupců a jejich parametry, a v režimu editace dat, kde je možné pouze vkládat, upravovat a mazat data, nikoliv však měnit strukturu tabulky. Pokud je již tabulka navržena, je možné začít do n zadávat data. Do režimu zadávání a úpravy dat nastavíte tabulku tak, že na její ikonu poklepete dvakrát levým tlačítkem myši. Okamžitě poté se zobrazí tabulka, zatím prázdná – pouze s jedním řádkem. Počet sloupců a jejich názvy budou přesně odpovídat tomu, co jste nadefinovali při návrhu tabulky. Nyní můžete začít do tabulky doplňovat jednotlivé údaje. Pokud jste v tabulce nadefinovali sloupec, který má typ automatické číslo, pak se údaj do něj doplňuje sám a není třeba jej doplňovat ručně. Stejně tak pokud jste například nadefinovali číselné nebo datové buňky, můžete vyzkoušet, že do takových buněk nelze napsat text nebo řetězec jiného typu. To znamená, že například do sloupce s datovým typem datum není možné napsat text nebo číslo (Access by ohlásil chybu). Po buňkách se můžete pohybovat šipkami na klávesnici, nebo kurzorem myši. Principy práce s buňkami jsou v podstatě stejné jako v Excelu. Jakmile budete mít editaci tabulky (zadávání dat) dokončenou, můžete tabulku zavřít křížkem v pravém horním rohu. V tomto případě nebudete vyzváni k potvrzení uložení změn. Změny se při editaci tabulky ukládají automaticky ihned po editaci každé buňky. Co je to záznam? Při práci s tabulkami a databázemi se často budete setkávat s pojmem záznam. Záznamem je myšlen jeden řádek tabulky, resp. jeden vložený údaj jako celek. To znamená například vyplněná jedna adresa (vyplněné sloupce jméno, příjmení, adresa apod.).
Při vyplňování dat je možné pro každý sloupec nastavit, zda je údaj ve sloupci povinný, či nikoliv. Standardně je ale nastaveno, že žádný údaj není povinný. To znamená, že při zadávání nového záznamu není nutné, aby všechny jeho sloupce byly povinně vyplněny.
Editace a úprava dat v tabulce Pochopitelně kdykoliv později je možné data v tabulce jakkoliv upravovat, doplňovat nové záznamy a mazat je. Toto všechno je možné provádět nejen v tabulce samotné, ale i ve formulářích a prostřednictvím dotazů. K těm se postupně dostaneme. Přidání a úprava záznamu v tabulce Pokud kdykoliv později otevřete tabulku poklepáním na její ikonu, zobrazí se tabulka přesně tak, jak jste ji při poslední práci opustili. Nyní je tedy možné začít psát text na dalším řádku, nebo text upravit. Nový řádek přidáte snadno tak, že se na něj prostě myší nebo klávesou se šipkou dolů nastavíte. Stávající údaje v tabulce je opět možné velmi snadno upravit. Stačí se nastavit do buňky s údajem, který si přejete opravit, a klasickou cestou úpravu provést. Smazání záznamu (řádku) z tabulky Jakýkoliv záznam, tj. celý řádek tabulky, lze kdykoliv později vymazat. 1. Na řádku (záznamu), který si přejete vymazat, klepněte pravým tlačítkem myši na šedý čtvereček zcela vlevo. Čtvereček se zobrazuje u každého řádku. 2. V zobrazené nabídce zvolte položku Odstranit záznam. 3. Zobrazí se okno s dotazem, zda si záznam opravdu přejete vymazat. Váš záměr potvrďte klepnutím na tlačítko Ano. Řádek bude odstraněn. Třídění tabulky podle abecedy Tabulku je možné nechat setřídit podle jakéhokoliv sloupce, a to buď vzestupně, nebo sestupně podle abecedy. 1. Postavte se do jakéhokoliv řádku vtom sloupci, podle kterého bude řazení provedeno. 2. Klepněte na jedno z tlačítek AZ nebo ZA na panelu nástrojů podle toho, zda si přejete řazení vzestupné (AZ), nebo sestupné (ZA). Tabulka bude okamžitě seřazena. Chcete-li řadit tabulku podle sloupce s čísly, je postup naprosto stejný. Access řadí bez problémů číselné i textové záznamy. Další základní tlačítka na panelu nástrojů Na panelu nástrojů se nachází nejzákladnější nástroje pro práci s tabulkou. Až na několik málo ikon mají všechny ostatní stejný význam jako v jiných aplikacích Office (Wordu, Excelu apod.).
Import datové tabulky z Excelu Vkládat data do tabulky ručně není zejména u delších tabulek příliš pohodlné. Pokud data pro tabulku nejsou nikde v digitální podobě, nedá se samozřejmě nic dělat, ale velmi často se stává, že data jsou již v počítači, ale nikoliv v Accessu samotném. Je proto nutné je připravit a následně do Accessu importovat. Tak můžete do Accessu dostat během cca 5 minut tabulku s třeba pěti tisíci záznamy. Nezbytným předpokladem pro správný import tabulky do formy databáze Access je mít zdrojovou tabulku správně připravenou. Bez jakýchkoliv potíží se obvykle importují tabulky z Excelu a soubory typu DBF. Bohužel není možné v rámci této knihy popsat přípravu tabulky na import, nicméně budete-li mít soubor ve formátu *.xls (Excel) nebo správně vyexportovaný *.dbf soubor (databáze), pak by import neměl být problémem. 1. V hlavní nabídce Accessu klepněte na položku Soubor, dále na Načíst externí data a poté na položku Import.
2. Access zobrazí klasické okno pro procházení stromovou strukturou disku. Zde nalezněte soubor připravený pro import (např. *.dbf nebo soubor sešitu MS Excelu) a klepněte na Otevřít. 3. V závislosti na tom, jaký typ souboru jste otevřeli a jak moc „dobře“ byl připraven k importu, se buď spustí, nebo nespustí průvodce importem. Nespustí se jedině tehdy, pokud byl zdrojový soubor připraven tak ideálně, že nebylo co zpřesňovat. 4. Postupujte dle průvodce. Po posledním kroku průvodce importem bude tabulka importovaná a pojmenovaná tak, jak se jmenoval soubor, ze kterého byl import proveden.