Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty jsou popsány nějakou množinou údajů. Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Relační databáze je databázový systém, který využívá relační model dat a relační algebru. Data jsou uspořádána do tabulek (relací), nad kterými jsou definovány operace. Software pro řízení databáze se označuje jako Systém řízení báze dat (anglicky Relational database management system). Databáze se ovládá jazykem SQL, což je dotazovací strukturovaný jazyk. Databázová tabulka je jedním ze základních databázových objektů. Slouží k přímému uložení dat do paměťového prostoru relační databáze. Je to dvourozměrná tabulka, která má pevně daný počet sloupců. Sloupce se nazývají atributy. Každý sloupec má jednoznačně definován název, typ a rozsah (např. sloupec typu „datum“ může obsahovat pouze datum a nic jiného). Pořadí sloupců není podstatné, hodnoty ze sloupce získáváme pomocí názvu sloupce. Dále může obsahovat libovolný počet řádků (= konkrétní data), který je omezen pouze technickými možnostmi serveru. Každému objektu (entitě) je přiřazen jeden řádek (záznam). Entita je prvek reálného světa, např. člověk, škola, město. Řádky jsou identifikovány pomocí klíčů.
Jako příklad můžeme použít tabulku, která bude obsahovat seznam smyšlených žáků.
Struktura tabulky: ID – unikátní id (číslo) identifikující záznam Jméno – jméno osoby Příjmení – příjmení osoby Ročník – navštěvovaný ročník ve škole. Primární klíč slouží k jednoznačné identifikaci řádku tabulky. Primárním klíčem může být každý sloupec, který nebude mít v žádných dvou řádcích tabulky stejnou hodnotu (např. v našem příkladu nelze použít primární klíč pro sloupec příjmení, neboť obsahuje dvojí hodnotu Novák, ani sloupec ročník). Primární klíč také nelze použít, pokud pole obsahuje prázdnou hodnotu (NULL). Pro náš příklad lze zvolit jako primární klíč sloupec id. Typicky slouží jako primární klíč rodné číslo nebo identifikační číslo. Cizí klíč je sloupec tabulky, který odkazuje na jiný sloupec jiné tabulky (vždy jde o právě dva sloupce). Hodnoty tohoto sloupce musí být shodné s některou z hodnot ve sloupci, ke kterému je klíčem. Vytváří se tak reference – odkaz. Tato podmínka se kontroluje při všech operacích nad databází - označuje se referenční integrita.
Vazby mezi entitami Jednotlivé entity, které odpovídají prvkům reálného světa, mají mezi sebou určitý vztah. Existují relace (vazby): 1:1 - každý člověk má právě jedny osobní údaje na městském úřadu, na oddělení občanských průkazů. 1:N - jeden člověk může vlastnit více kreditních karet a zároveň jedna kreditní karta je vlastněna pouze jedním člověkem. M:N - jeden student si může zapsat několik volitelných předmětů a zároveň jeden předmět může být zapsán více studenty.
Access je jedním z programů určených pro zpracování databází,
Typy objektů databáze: Tabulky – nejdůležitější typ objektu, zde se vlastně databáze vytváří. Všechny ostatní typy objektů, např. dotazy, formuláře apod. vlastně „pouze“ spolupracují a jsou přímo závislé na tabulkách Dotazy – jsou přímo závislé na tabulkách. Jsou to nadefinované funkce, které na základě nastavených kritérií provedou vyhodnocení dat, jež jsou následně zobrazena na obrazovku nebo vložena do nově vytvořené tabulky. Formuláře – jsou závislé buď na tabulkách, nebo na dotazech. Zjednodušeně řečeno jsou to graficky pěkně zpracované masky pro prohlížení a úpravu dat z tabulek a dotazů. Sestavy – objekty určené pro výstup dat z databáze. Jsou to graficky vzhledně uspořádaná data z tabulek či dotazů, která jsou připravena a zformátována pro tisk. 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. Makra – v různých typech objektů se můžeme setkat s problémy, které nelze vyřešit jinak než vytvořením makra.
Vytvoření a návrh nové tabulky Tabulku lze vytvořit: pomocí průvodce importem datové tabulky z Excelu v návrhovém zobrazení V návrhovém zobrazení navrhujeme jednotlivé sloupce tabulky a datové typy. Nelze zde vkládat a upravovat data
Pátek 7. září Datový typ – rozbalovací šipka nabídne varianty typů 1. text – jeho obsahem může být libovolný řetězec znaků v max. délce 255 2. memo – používá se pro zaevidování poznámek, velice různorodých, max 65 535 znaků 3. číslo – obsahem pole bude právě jedno číslo bajt – pouze celá čísla od 0 do 255 celé číslo – pouze celá čísla od -32 767 do 32 767 dlouhé celé číslo – pouze celá čísla od -2 000 000 do 2 000 000 jednoduchá přesnost – libovolné des. číslo v rozmezí od –3 . 1018 do 3 . 1018 dvojitá přesnost – číslo v rozmezí od -1,7 * 10308 do 1,7 * 10308, max 15 platných číslic 4. datum/čas - vhodné pro datum narození, pro datum pořízení něčeho apod. Access umí přičíst týden, vyjmout měsíc apod. Na kartě Obecné v políčku formát lze vybrat podobu data. 5. Měna – použijeme v případě, že požadujeme, aby vkládaná čísla obsahovala znak měny. 6. automatické číslo – necháme na počítači, aby každému záznamu přidělil jeho nezaměnitelné číslo 7. ano/ne – obsahuje pouze dvě varianty – ano/ne, zapnuto/vypnuto, pravda/nepravda apod. 8. objekt OLE – nejobecnější, může obsahovat cokoli do velikosti 1MB, i obrázek, fotku apod. 9. Popis – toto políčko je nepovinné a lze jej použít pro objasnění a doplnění názvu pole. Vypisuje se jako nápověda na posledním řádku okna Access
Pátek 14. září Filtry a řazení Vyberte knihy žánru beletrie
Seřaďte knihy vzestupně podle ceny
Vyberte spisovatele, jejichž příjmení začíná na M nebo M
Pátek 21. září Dotazy výběrové Dotaz slouží k zobrazení, úpravě a analýze dat z tabulek databáze. Jedná se o příkaz k výběru nebo změně dat z tabulek databáze na základě nastavených podmínek Na kartě Vytvoření zvolíme Návrh dotazu
Přidat tabulku a zavřít
1. Vyberte všechny knihy žánru počítače
Sloupec se nezobrazí, není-li zaškrtnutý.
2. Zobrazte knihy, kterých je na skladě víc jak 20
3. Vytvořte dotaz, který u každého žánru vypočítá průměrnou cenu a zaokrouhlí ji na 2 des. místa. Na kartě Dotazy-nástroje klikněte na ikonu Souhrny, tím se přidá další řádek do tabulky návrhu
U žánru nastavíme Seskupit, u ceny vybereme průměr (Avg)
Desetinná místa nastavíme ve vlastnostech
4. Vytvořte dotaz, který bude mít v jednom sloupci název knihy a ve druhém jméno i příjmení autora S kurzorem v prvním řádku otevřete Tvůrce výrazů a klikáním v Kategorii výrazů sestavíme požadovaný výraz
Pátek 5. října Křížové dotazy Křížový dotaz je dotaz pracující na bázi kontingenční tabulky. Výsledek je tvořen funkcí jednoho sloupce podle zadaných parametrů 1. Vytvořte křížový dotaz, který uvede průměrnou cenu v jednotlivých měsících u jednotlivých produktů V návrhu dotazů vybereme Křížový dotaz
Objeví se nový řádek – křížová tabulka. U ceny zvolíme funkci a v křížové tabulce hodnotu U dalších sloupců zvolíme záhlaví sloupce a záhlaví řádku
Hotový dotaz
2. Vytvořte křížový dotaz, který uvede minimální příjem v měsíci únoru a březnu v jednotlivých městech
3. Vytvořte křížový dotaz, který uvede počet záznamů (produktů) u jednotlivých splátek a jednotlivých výrobců
Aktualizační dotazy Aktualizační dotazy slouží k provedení změn (aktualizací) ve skupině nebo ve všech záznamech tabulky Aktualizační dotaz je spustitelný dotaz, tzn. výsledek uvidíte až v příslušné tabulce po spuštění dotazu. 1. Vytvořte dotaz, který změní všechna zaměstnání technik na zaměstnání mistr V návrhu dotazů vybereme Aktualizační dotaz
Vybereme pole zaměstnání a do řádku Aktualizovat do napíšeme novou hodnotu mistr. Do kritérií vybereme technik Po spuštění dotazu
se všechna zaměstnání
technik změní na
mistr
2. Vytvořte dotaz, který zvýší všem prodavačům plat o 1000 Kč Ve sloupci plat napíšeme pomocí Tvůrce výrazů vzorec, který po spuštění zvedne plat všem prodavačům Pozor, spustíme-li dotaz vícekrát, vždy se plat zvýší. 3. Vytvořte dotaz, který sníží plat o 15 % u pracovníků, kteří jsou z Prahy nebo z Brna Do kritérií je musíme před název města napsat hvězdičku *Praha, protože ve sloupci adresa je i název ulice. Hvězdička znamená, že je před slovem Praha ještě nějaký text