EU-OPVK-ICT-32
Úvod do problematiky VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Databáze je uspořádaná množina velkého množství informací (dat). Příkladem databáze je překladový slovník, seznam PSČ nebo telefonní seznam. Databáze slouží především k vyhledávání informací. Právě vyhledávání je slabinou „papírových“ forem databází. Můžeme například snadno najít v telefonním seznamu, jaké číslo telefonu má konkrétní osoba, ale zjistit komu patří určité číslo, bude velice pracné. U databáze, vedené na počítači, tuto informaci zjistíme snadno. Počítačová forma databáze přináší i další výhodu. Můžeme získávat i údaje, které jsou výsledkem zpracování dat v databázi. Například v telefonním seznam snadno zjistíme, kolik účastníků jménem Karel Novák se v databázi vyskytuje. V databázi se rozlišují tzv. datové typy. My se seznámíme s následujícími základními datovými typy:
text číslo datum logické hodnoty grafika (obrázky)
Uvedené datové typy se liší především způsobem zápisu, který je nutné striktně dodržovat. Nejobecnějším datovým typem je text, u něhož můžeme využít všechny znaky příslušné znakové sady. Naopak množina logických hodnot má pouze dva prvky: pravda a nepravda. Datové typy vymezují množinu všech operací, které s údajem můžeme provádět. Rozlišování datových typu má několik důvodů. Jednak je umožněna automatická kontrola syntaxe zápisu tj. přípustnost znaku pro daný datový typ a další pravidla formy zápisu, ale i přípustnost hodnot (např. t datum 31. 4. 2014 nepůjde do databáze vložit). Jednak ten který datový typ má různé nároky na kapacitu paměťových médií, čímž se významně šetří místo především na pevném disku počítače. Lze si snadno představit, že například k uložení logických hodnot vystačíme s jedním bitem (0-nepravda, 1-pravda), zatímco k uložení textu budeme podle jeho délky potřebovat rozhodně mnohem vetší paměťovou kapacitu. V databázovém modulu programového balíku OPENOFFICE, se seznámíme s následujícími základními datovými typy: TEXTY (řetězce) CHAR(m)
VARCHAR(m)
délka řetězce "m" může být v rozsahu 0-255 pokud je vložený řetězec kratší než nastavíme, chybějící znaky jsou automaticky doplněny mezerami (má tedy "pevnou" velikost) CHAR (tedy bez "m") je považováno za CHAR(1). Je vhodný k uložení krátkých textů (například jména a příjmení). Ukládá se vždy jako řetězec s daným počtem znaků. Je-li definován například jako CHAR (30) a zadáme do něj hodnotu Honza, bude v databázi uloženo toto jméno a k tomu pětadvacet mezer. délka řetězce "m" může být v rozsahu 0-255 pokud je vložený řetězec kratší než nastavíme, chybějící znaky se nedoplňují (má tedy "plovoucí" velikost), ale navíc se ukládá informace o jeho délce Je vhodný k uložení textů, jestliže se jejich šířka dost mění. Ukládá se jako řetězec s proměnlivým počtem znaků. Je tedy uložen jak řetězec, tak počet znaků, které zabírá. V předchozím případě bude u tohoto typu uložen řetězec Honza a údaj o tom, že je 5 znaků dlouhý.
1
© Z/S 2013
EU-OPVK-ICT-32 CELÁ ČÍSLA
rozsah hodnot od -128 do +127, bez znaménka (UNSIGNED) 0 až 255 (zabere 1 byte) rozsah hodnot od -32 768 do 32 767, bez znaménka 0 až 65 535 (zabere 2 bytes) rozsah hodnot od -2 147 483 648 do +2 147 483 647, bez znaménka 0 až 4 294 967 295 (zabere 4 bytes)
TINYINT SMALLINT INTEGER
RACIONÁLNÍ ČÍSLA DECIMAL(p,s) NUMERIC (p,s)
Tyto datové typy jsou funkčně totožné a slouží k uložení desetinných čísel se specifikovanou přesností. Parametr p udává nejvyšší počet číslic, které budou uloženy, a to jak vpravo, tak vlevo od desetinné čárky. Výchozí hodnota je 18, minimum 1 a maximum 38. Parametr s je nejvyšší možný počet číslic vpravo od desetinné čárky. Výchozí hodnotou je 0, minimální taky 0, maximální p. Na volbě parametrů závisí výsledná velikost dat. Použití těchto typů má smysl pro data pocházející z výpočtů.
DATUM DATE
Používá se pro uložení kalendářních datumů.
LOGICKÉ HODNOTY BOOLEAN
Používá se v případě, kdy položka vyjadřuje jednu ze dvou možností. Tedy zda je příslušná možnost pravdivá nebo nepravdivá. Například zda faktura v databázi je nebo není uhrazena. V systému OPENOFFICE se logická hodnota zobrazuje jako zaškrtávací políčko, kde zaškrtnutí políčka představuje PRAVDU, nezaškrtnuté NEPRAVDU.
GRAFIKA LONGVARBINARY
Používá se pro uložení obrázků (fotografií). Ukládat lze obrázky především ve formátu JPG, PNG a GIF. Použít lze i formát BMP, což ale není příliš vhodné, protože obrázky jsou v tomto formátu příliš velké.
Nástroje pro založení databáze a návrh tabulek Databázi je nutné nejdříve založit a posléze navrhnout a uložit v rámci databáze jednu nebo více tabulek pro ukládání údajů. Po spuštění databázového modulu systému OPENOFFICE se automaticky otevře dialogové okno PRŮVODCE DATABÁZÍ, v němž provedeme založení databáze. V okně necháme zaškrtnutou volbu VYTVOŘIT NOVOU DATABÁZI a klikneme na tlačítko DOKONČIT. Otevře se okno pro zadání názvu databáze a určení místa uložení. Operaci dokončíme kliknutím na tlačítko ULOŽIT. Potom již můžeme přikročit k návrh jednotlivých tabulek.
2
© Z/S 2013
EU-OPVK-ICT-32
K ukládání údajů v databázi slouží tabulky, které musíme nejdříve nadefinovat. To provedeme v sekci TABULKY volbou VYTVOŘIT TABULKU V REŽIMU NÁVRHU.
V mřížce pro návrh hlavičky tabulky zadáváme do sloupce název pole jméno položky a ve sloupci typ pole vybereme datový typ položky. Datový typ zvolíme v seznamu, který otevřeme černou šipkou na pravém okraji. K některým datovým typům můžeme nastavit ve spodní části okna v sekci VLASTNOSTI POLE doplňující parametry. Například u typu VARCHAR maximální délku textu nebo u typu DECIMAL délku a počet míst za desetinnou čárkou.
3
© Z/S 2013
EU-OPVK-ICT-32
První řádka mřížky je určena pro tzv. primární klíč, což je údaj, který jednoznačně určuje každý záznam (řádku) v tabulce. Každá hodnota primárního klíče může být použita v tabulce pouze jednou. Když je v našich datech takový údaj obsažen (což může být např. rodné číslo), zapíšeme názeve údaje do první řádky návrhové mřížky. Potom ovšem musíme zapisovat hodnotu primárního klíče ručně. Častěji ale využijeme možnost, že jednotlivým záznamům v tabulce bude přiděleno pořadové číslo. V tom případě není třeba první řádku vyplňovat a položka primárního klíče se do návrhu přidá při jeho uložení. Abychom nemuseli doplňovat tuto položku ručně, lze nastavit automatické generování primárního klíče.
Každá tabulka musí primární klíč obsahovat, jinak nelze s tabulkou dále pracovat. Po dokončení a uložení návrhu již jenom tabulku otevřeme poklepáním na příslušnou ikonu a můžeme vkládat údaje.
4
© Z/S 2013
EU-OPVK-ICT-32
Cvičné úlohy 1. Založte databází SEZNAMY. V databázi vytvořte tabulku ročník4, která bude obsahovat údaje jméno, příjmení, datum narození, adresu (s položkami ulice, číslo, obec a PSČ), třídu a údaj zda student je ubytován v domově mládeže. Do tabulky doplňte 5 studentů ze třídy 4.A a 5 studentů ze třídy 4.B. 2. Založte databází PLODINY. V databázi vytvořte tabulku RV s položkami kategorie, plodina a výměra. Do tabulky zaneste následující údaje: obiloviny - pšenice 1560 ha, ječmen 1620 ha, žito 1410 ha, oves 1280 ha okopaniny - brambory 1420 ha, krmná řepa 1470 ha, cukrovka 1390 ha 3. Založte databází TRZBY2014. V databázi vytvořte tabulku a tržba. Do tabulky zaneste následující údaje: 1.1.2014, mléko, 15247,80 2.1.2014, vejce, 5687,40 3.1.2014, mléko, 12744,60 4.1.2014, mléko, 13698,30 5.1.2014, vejce, 6024,60
5
© Z/S 2013
TRŽBY
s položkami datum, produkt