Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze. Jan Bursa



Podobné dokumenty
Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

RELAČNÍ DATABÁZE ACCESS

Excel a externí data KAPITOLA 2

MS SQL Server 2008 Management Studio Tutoriál

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Access. Tabulky. Vytvoření tabulky

Import a export dat EU peníze středním školám Didaktický učební materiál

1 Příručka používání Google Apps

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.

24 Uživatelské výběry

MONITORING OBCHODNÍCH PARTNERŮ

Kontingenční tabulky v MS Excel 2010

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

1.13 ACCESS popis programu

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

MBI - technologická realizace modelu

Průvodce aplikací FS Karta

DATABÁZE MS ACCESS 2010

45 Plánovací kalendář

Databáze v MS ACCESS

MOBILNÍ VERZE SYSTÉMU ASJA (dostupná od 7. září 2016)

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

8.2 Používání a tvorba databází

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Podrobný návod pro administraci zákaznických účtů na portálu Czechiatour.eu

Hromadná korespondence

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Instalace a první spuštění Programu Job Abacus Pro

Administrace webu Postup při práci

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Správa obsahu webové platformy

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

VKLÁDÁNÍ, EDITACE, SPRÁVA ZÁZNAMŮ PUBLIKACÍ V ÚČTU RID POMOCÍ ENDNOTE WEB

Statistica Enterprise

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

Základy práce s aplikací ecba / ESOP

Začínáme pracovat s tabulkovým procesorem MS Excel

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

Ukázka knihy z internetového knihkupectví

PRODUKTY. Tovek Tools

Řazení tabulky, dotazu nebo formuláře

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

1 Tabulky Příklad 3 Access 2010

Uživatelská příručka

Informace k přihlášení do aplikace REGIS Obsah

EPLAN Electric P8 2.7 s databázemi na SQL serveru

Hromadná korespondence

MS Excel 2007 Kontingenční tabulky

Začínáme s Tovek Tools

Elektronické zpracování dotazníků AGEL. Verze

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Evidence požadavků uživatelů bytů a nebytových prostor

Microsoft Word - Styly, obsah a další

POUŽITÍ DATABÁZÍ. Po ukončení tohoto kurzu budete schopni

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

1. Předmluva. 2. Uživatelské účty. Vážení rodiče,

Jak vytvořit sestavy na míru v registru zvířat (IZR)

Pravidla a plánování

Návod pro práci s aplikací

Formulář NÚV v programu PPP4

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Tvorba kurzu v LMS Moodle

Manuál k programu KaraokeEditor

ANOTACE vytvořených/inovovaných materiálů

Microsoft Office. Word vzhled dokumentu

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

1. Webový server, instalace PHP a MySQL 13

Úvodem... 4 Co je to vlastně formulář Co je to šablona dokumentu Jak se šablona uloží Jak souvisí formulář se šablonou...

Databáze II. 1. přednáška. Helena Palovská

ZŠ ÚnO, Bratří Čapků 1332

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access formuláře a sestavy - vytváření Ing. Kotásek Jaroslav

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce.

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

EndNote Web. Stručné informace THOMSON SCIENTIFIC

DoplněkCite While You Write pro aplikaci Microsoft Word

Úvod do databázových systémů. Ing. Jan Šudřich

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Stručný obsah. K2118.indd :15:27

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST]

Transkript:

Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze Jan Bursa Zavedení systému pro evidenci strojů ve firmě Doosan Bobcat Bakalářská práce 2012

Prohlášení Prohlašuji, že jsem bakalářskou práci na téma Zavedení systému pro evidenci strojů ve firmě Doosan Bobcat vypracoval samostatně a použil pouze zdrojů, které cituji a uvádím v seznamu použité literatury. V Praze dne 1. května 2012... Podpis autora

Poděkování Děkuji Ing. Bc. Davidu Klimánkovi Ph.D. za ochotné a trpělivé vedení mé bakalářské práce a poskytnutí svého času a cenných rad. Dále děkuji společnosti Doosan Bobcat, která mi umožnila tuto práci realizovat. V neposlední řadě děkuji všem, kteří mě až do konce psaní práce podporovali.

Abstrakt Práce se zabývá možností dotazování se na data v takzvaných plochých souborech, neboli flat file databázích. Účelem této práce je zefektivnit správu dat o parametrech strojů, které jsou v evidenci firmy Doosan Bobcat, s ohledem na možnosti databázových technologií. Popisuje vývoj databázových modelů a nástrojů zajišťujících práci s těmito modely. Dále se zabývá strukturou flat file databází a možností dotazování se na data v těchto strukturách. Nastiňuje možné varianty a nástroje pro dotazování. V druhé části popisuje realizaci vlastního systému pro dotazování se na data ve společnosti Doosan Bobcat. Klíčová slova Flat file databáze, databázové struktury, dotazování, strukturované dokumenty Abstract Thesis will be about data query in flat file databases. Objective was to streamline data administration about machine parameters, which are in register of Doosan Bobcat, with regard of database technologies. Thesis describes development of database models and tools to work with them. Thesis also examines the structure of flat file databases and possibilities to query data in these structures. It outlines possible options and tools for query. In the second part, thesis describes realization of system itself to query data in Doosan Bobcat Company.

Obsah Obsah... 5 Úvod..... 6 1 Základní pojmy... 7 2 Vývoj databázových modelů... 7 3 Struktury flat file databází... 9 3.1 Data uložená ve formátu prostého textu... 10 3.2 Data uložená v aplikaci MS Excel... 11 3.3 Data uložená ve značkovacím jazyce... 11 4 Nástroje pro dotazování flat file databází a jejich použití... 13 4.1 Nástroje pro dotazování bez zásahu do zdrojového souboru... 13 4.1.1 SQL Developer... 13 4.1.2 QueryCell pro MS Excel... 16 4.2 Nástroje pro dotazování s nutností převedení zdrojového souboru do nového formátu... 18 4.2.1 MS Access... 19 4.2.2 Oracle Apex (Application Express)... 21 5 Současný stav výskytu dat ve firmě Doosan Bobcat... 22 6 Zhodnocení použitelnosti nástrojů pro řešení efektivní správy dat o parametrech strojů 24 6.1 Porovnání testovaných produktů... 24 6.2 Odůvodnění vytvoření vlastního systému pro evidenci strojů ve firmě Doosan Bobcat... 26 7 Specifikace požadavků na nový systém... 27 8 Návrh datové základny... 29 9 Návrh uživatelského prostředí... 30 10 Vlastní přínos práce... 46 Závěr.... 48 Seznam použité literatury... 49 Seznam obrázků... 50 5

Úvod V současnosti se již žádná firma či společnost neobejde bez systému pro uchovávání dat. Ať již jde o rozsáhle datové sklady či poznámkové bloky obchodního zástupce. Společnosti využívající podnikové informační systémy mají dle mého názoru nad daty dobrý dohled. Tyto technologie umožňují pestrou paletu nástrojů pro správu a vyhodnocování vedených dat. Společnosti, které tyto systémy nevyužívají, jsou do jisté míry znevýhodněny a to je právě předmětem této práce. Cílem práce je zefektivnit správu dat o parametrech strojů, které jsou v evidenci firmy Doosan Bobcat, s ohledem na možnosti databázových technologií. Pokusím se najít způsob, který by umožňoval všem, kteří nevyužívají služeb podnikových informačních systému, spravovat efektivně svá data. Nejprve se zaměřím na vývoj databázových technologií, abych si udělal představu a obrázek o možnosti využití těchto prostředků. Poté se pokusím analyzovat struktury a možnosti dotazování nad flat file databázemi. Tedy soubory, které uchovávají data v prostém plochém souboru. Pod tímto typem si lze představit prakticky jakýkoliv soubor, který uchovává data bez podpory databázových technologií. Jedná se o soubory uložené v textovém editoru až po soubory uložené v určitém značkovacím jazyce. Do skupiny těchto souborů budu počítat i program MS Excel, který bývá hojně využíván pro uchovávání dat a považován spoustou lidí za náhražku databáze. V této formě jsou momentálně data vedena i ve firmě Doosan Bobcat a proto má pozornost bude směřovat především tímto směrem. V jednotlivých kapitolách se pokusím rozdělit struktury flat file databází na určité logické celky a zaměřím se na jejich způsob práce. Po bližším rozboru a pochopení struktur se zaměřím na vyhledání vhodných nástrojů, s pomocí kterých lze dosáhnout kýženého výsledku. Vybrané nástroje vyzkouším a práci s nimi zde popíši. Mým cílem je nalézt alespoň tři nástroje, bez ohledu na strukturu, které nám tuto činnost umožní. V této práci se z prostého důvodu nebudu zabývat soubory dat, které nejsou uloženy elektronicky. Ve druhé části zrealizuji vlastní systém pro správu dat ve firmě Doosan Bobcat. Své rozhodnutí se pokusím odůvodnit a uvést kritéria kterými jsem se při výběru řídil. 6

1 Základní pojmy Základním pojmem této práce je databáze. Pod pojmem databáze si lze představit množinu uspořádaných dat, která popisuje obraz části reálného světa. Například seznam pacientů navštěvujících jednoho lékaře, nebo také dostupná auta v autobazaru. V dnešní době se databázím, ať už v jakékoliv podobě, prakticky nevyhneme. Existuje spousta způsobů, jakým databázi vést. Současně jsou to již moderní podnikové systémy, které umožňují pohodlnou správu dat. Poměrně snadno jsme schopni zapsat, editovat a v neposlední řadě také vyhledávat to, co je pro nás důležité. Ne vždy tomu však tak bylo. [1] 2 Vývoj databázových modelů Za předchůdce databází lze považovat papírové kartotéky. Jedná se o uspořádaný soubor papírových listů či karetních složek, dle zvoleného kritéria. Uspořádání může být prováděno podle abecedy, letopočtu či jiného klíče. Každá kartotéka má většinou právě jedno uspořádání. Tím myslím, pokud data řadíme striktně dle abecedy, je nutné při pokusu o řazení dle letopočtu pozměnit celkovou organizaci listů, či karet. Data obsažena v této kartotéce jsou navzájem v určitém společném vztahu. Veškerou manipulaci s daty a vyhledávání v kartotéce provádí člověk. Jako typický příklad si můžeme představit starší způsob organizování údajů o pacientech u lékaře. Zde má každý pacient svou vlastní složku a v ní soubor papírových listů nesoucí informace o jeho zdravotním stavu, prováděných vyšetřeních či seznam léků, které užívá. Karty jsou v kartotéce uspořádány dle abecedy a každý šuplík má svůj abecední rozsah. V tomto smyslu je kartotéka chápána jako skříň, ve které je daná kartotéka vedena. Význam slova kartotéka tedy závisí na kontextu, ve kterém o pojmu hovoříme. V dnešní době jsou kartotéky již nahrazeny moderními databázovými systémy. 7

Obrázek 1: Porovnání klasické a elektronické technologie. Zdroj: HRONEK, Jiří. Databázové systémy 2 Co se elektronického zpracovávání týká, v počátcích se jednalo o komplikované databázové systémy pro potřeby vládních úřadů, knihoven, nemocnic a obchodních organizací. Tato historie je důležitá nejen proto, že některé základní metody se používají dodnes, ale zároveň ukazuje, ze kterých metod se ponaučit a kterým se raději vyhnout. Velký impuls na požadavky rozvoje databází přišel v 50. letech 20. století při rychlém vývoji počítačů. V této době bylo používání počítačů velmi efektivní pro soukromé organizace a tak vznikl požadavek na vytvoření jazyka pro zpracovávání dat. V roce 1960 přišly na svět dva hlavní modely. Jednalo se o síťový model nazvaný CODASYL a hierarchický model s názvem IMS. Síťový model CODASYL souvisí s jazykem COBOL, který byl v dalších letech nejrozšířenějším jazykem pro hromadné zpracovávání dat. Důraz byl kladen na ukládaná data, nikoliv na celkovou strukturu systému. Uživatel by musel znát fyzickou strukturu databáze, aby se byl schopen na data dotazovat. Jedním z úspěchů této doby byl systém SABRE od společnosti IBM pro potřeby American Airlines. V letech 1970 1972 bylo vydáno několik zpráv o tom, jak přemýšlet o databázích. Setkáváme se rovněž s pojmy týkající se schématu databáze. V článku E. F. Codda je první zmínka o použití relačního databázového modelu. V tomto modelu se na logickou organizaci dat a fyzické ukládání nahlíží odděleně. Tento model změnil pohled na databáze a stanovil nový standardní princip tvorby databázových systémů. 8

V těchto letech byly rovněž vytvořeny 2 hlavní prototypy systému relačních databází. Jedná se o systém Ingres, který byl vyvinut v UCB (University of California, Berkeley) a systém R, od IBM San Jose. Ingres používá dotazovací jazyk známy jako QUEL, který vedl k vytvoření systémů jako Ingres Corp., MS SQL Server, Sybase, Wang s PACE a Britton-Lee. Naopak systém R využívá dotazovací jazyk SEQUEL, který přispěl k rozvoji SQL/DS, DB2, Allbase, Oracle a Non-Stop SQL. Termín RDBMS (Relational Database Management System) se stal v těchto letech všeobecně známým. V roce 1976 navrhl P. Chen tzv. ER model (Entity-Relationship). Tento model umožňuje návrhářům soustředit se na samotné vztahy či použití dat, namísto logické struktury tabulky. V roce 1980 již byly relační databáze velkým komerčním úspěchem. Naopak síťové a hierarchické modely zažily velký pokles popularity. Systém DB2 se stává vlajkovým produktem společnosti IBM, což vedlo k založení dalších databázových firem a produktů jako například Paradox, RIM, Watcom SQL a později i Visual FoxPro. Jazyk SQL se stává standardním dotazovacím jazykem. V 90. letech 20. století jsou vyvíjeny nové klientské nástroje jako Oracle Developer, PowerBuilder, VB a další. Jednalo se rovněž o nástroje pro osobní potřebu jako ODBC a MS Excel/Access. Setkáváme se zde s pojmem objektové databáze, jejichž filosofie je přebírána z objektově orientovaných jazyků. Mělo se jednat o další přelom v databázových modelech. Skutečnost však byla jiná. Objektové modely nenahradili dosud fungující relační modely a tak se nakonec došlo ke kompromisu objektově-relační technologie. V dalších letech probíhal a stále probíhá vývoj dalších technologií, které umožňují správu dat celým spektrem lidských potřeb. Tím se však v této práci dále zabývat nebudu [3]. 3 Struktury flat file databází V této práci se hodlám převážně zabývat takzvanými flat file databázemi. Nejedná se v podstatě o databáze jako takové, jelikož nesplňují kritérium o architektuře, podle které jsou data ukládána. Z překladu se jedná o prostý databázový soubor. Veškeré informace jsou uloženy v jedné tabulce, nebo seznamu. V podstatě se dá říci, co záznam, to jeden řádek. Soubor často obsahuje velké množství duplicitních dat. Pokud máme 2 soubory, které spolu nějak souvisí, například v jednom jsou klienti a jejich adresy a v druhém klienti a jejich objednávky, po změně jména klienta v souboru s objednávkami, nedojde ke změně v souboru s adresami. Soubory, ačkoliv mají nějaký 9

logický vztah, nejsou navzájem závislé. Pokud bychom chtěli soubory sloučit, nezbývá nám než obsah jednoho souboru celý překopírovat do druhého a ručně opravit. [4] 3.1 Data uložená ve formátu prostého textu Typickým příkladem flat file databáze, jsou sobory uložené jako prostý text. Jedná se o jednoduchý zápis do textového souboru. Každý záznam je obsažen na vlastním řádku. Pokud se v řádku vyskytuje více informací, například jméno, příjmení a adresa, jsou tyto informace nějakým způsobem odděleny. Jedním ze způsobů je použití speciálního oddělovacího znaku. Tímto znakem bývá čárka, středník, svislítko či tabulátor. Většinou se používá znak, který není obsažen v samotném záznamu. Pokud by byl znak obsažen i v samotném záznamu, muselo by dojít k ošetření těchto shodných znaků. Dalším způsobem je stanovení pevné délky záznamu. Například jméno bude představovat prvních patnáct znaků na řádku, příjmení dalších patnáct a adresa čtyřicet znaků. Pokud některá položka nenaplní zcela svou stanovenou délku, je doplněna mezerami, nebo také bílými znaky. Horší případ je, pokud stanovenou hodnotu překročíme. Část záznamu se pak nemusí uložit, nebo naruší celkovou strukturu dokumentu. Je tedy důležité dopředu myslet na dostatek místa i pro netradiční dlouhé názvy. Z mého pohledu způsob stanovení pevných délek je na pohled přehlednější, jelikož vidíme záznamy opticky uspořádané a každý typ je přehledně pod sebou ve sloupci. Naopak způsob oddělování pomocí oddělovačů je na první pohled nepřehledný, avšak pro další zpracovávání může být užitečnější. Přidáváním relativně zbytečných bílých znaků, může narůst celková velikost souboru. Za typické představitele těchto databází lze považovat programy jako je poznámkový blok, MS Word a podobné. Jedná se o soubory ve formátu.doc,.txt, CSV (Comma-separated values) a dalších podobných textových formátů. Soubory CSV používají převážně jako oddělovač čárku. Tyto soubory používá například MS Excel, ale využívají se také jako prostředek pro přenesení a zálohování dat v relačních databázích a to zejména díky své jednoduchosti a použitelnosti. Někdy se setkáváme rovněž s pojmem TSV (Tab-separated values). Soubory TSV nejsou odděleny čárkou, ale jiným znakem, většinou středníkem či tabulátorem. Je tomu tak v závislosti na výskytu číselných hodnot, kde je čárka použita jako číselný oddělovač desetinných míst. Dle mého názoru lze do této kategorie řadit i reporty z databázových systémů. Zde se rovněž jedná ve většině případů o prostý soubor, nesoucí nějaké informace. Vidíme zde například výpis nakoupeného zboží za určité období. Soubor může obsahovat 10

duplicitní informace, lze s ním dále pracovat, ale již nelze měnit rychlým způsobem stanovené období. V takovém případě je nutné provést nový report. S typem prostých databázových souborů se můžeme setkat také v unixových operačních systémech. Jedná se o soubory, které je možno editovat v textovém editoru, například soubory v adresáři /etc v operačním systému Linux. 3.2 Data uložená v aplikaci MS Excel V dnešní době je aplikace MS Excel ještě stále využívána jako zdroj informací a považována za databázi. Svým způsobem se však jedná pouze o prostý databázový soubor v tabulkovém formátu, doplněný o některé možnosti zpracování a vyhodnocování dat. Dle mého názoru lze tento typ považovat za binární databázový soubor. Pro uživatele se Excel jeví jako srozumitelná struktura, to však jen z důvodu, že si ho uživatel právě tak připravil. Pokud se však rozhodnete psát všechny záznamy do jednoho řádku, nebo různě přeházené, struktura již nebude tak srozumitelná. Neexistuje totiž žádný prostředek, který by nás donutil určitou strukturu dodržovat. Struktura je tedy uživatelsky vytvořena, nikoliv striktně daná. Dívejme se tedy na Excel jako na databázi, jejíž struktuře nerozumíme, jelikož nevíme, jak byl program vytvořen. Excel nám umožňuje v zapsaných datech vyhledávat, ne však tak efektivně jako v relační databázi. Umožňuje nám jen základní možnosti vyhledávání. Při složitějším dotazu už není práce tak rychlá a mnohdy i nereálná. [5] 3.3 Data uložená ve značkovacím jazyce Z programu Excel je možné pomocí uložení ve správném formátu, vygenerovat XML soubor. Jedná se o soubor, který je uložený ve značkovacím jazyce. Značkovací jazyk je jazyk, který vkládá do textu značky, které specifikují význam jednotlivých částí textu. V podstatě jde o obohacení textu informacemi, které nemusí být na první pohled patrné, avšak vhodným použitím získávají patřičnou váhu. Asi nejznámější značkovací jazyk je jazyk HTML (HyperText Markup Language). Jedná se o jazyk pro tvorbu internetových stránek. Dá se poměrně snadno naučit a je podporován všemi internetovými prohlížeči. Pomocí použití takzvaných tagů, jsme schopni dodat textu nějakou formu, význam či vzhled. Pro představu vysvětlím na příkladu: 11

<table border='solid'> <tr style='text-align: center'><td colspan=3><b>název tabulky</b></td></tr> <tr><td style='padding: 0 10 0 10px;'><i>Jméno</i></td> <td style='padding: 0 10 0 10px;'><i>Příjmení</i></td> <td style='padding: 0 10 0 10px;'><i>Internetová stránka</i></td></tr> <tr><td>jan</td> <td>novák</td> <td><a href='http://www.seznam.cz'>seznam</a></td></tr> <tr><td>petr</td> <td>veselý</td> <td><a href='http://www.google.cz'>google</a></td></tr> </table> Zápis ve značkovacím jazyce, který je k vidění výše, na první pohled působí dosti nepřehledně. Díky významu značek, které jsou však v zápise uvedeny, má jasně danou formu, kterou pomocí internetové prohlížeče snadno zobrazíme. Ve stručnosti vysvětlím jen něco málo o použitých značkách. Značka neboli tag <table> značí, že vše co se od teď napíše, až do tagu </table>, bude zobrazeno v tabulce. Tabulku si můžeme specifičtěji definovat pomocí tagů <tr> a <td>. Tag <b> a </b> značí, že cokoliv bude umístěno mezi těmito značkami, bude zobrazeno tučně. Obdobně funguje tag <i>, jen s rozdílem zobrazení kurzívou. Dalším prvkem je tag <a> který v kombinaci s vlastností href můžeme nastavit jako hypertextový odkaz. Kam se tímto odkazem chceme odkazovat, nastavíme právě ve vlastnosti href. V neposlední řadě můžeme ještě více upravovat vzhled výsledku. V našem případě se vyskytuje zarovnání textu na střed a nastavení odsazení prvků v tabulce. Veškeré úpravy vzhledu se provádí pomocí CSS stylů, ale o tom tato práce není, stejně jako o samotném jazyku HTML. Příklad byl uveden jen pro představu, jak může značkovací jazyk vypadat. Výsledný vzhled, na první pohled nepřehledného zápisu, si můžete prohlédnout na následujícím obrázku. Obrázek 2: Výsledek HTML zápisu. Zdroj: autor Velmi podobným jazykem jako HTML je jazyk XML. (Extensible Markup Language). Jedná se dnes o nejpoužívanější značkovací jazyk. Pomocí toho jazyka jsou rovněž tvořeny internetové stránky, ale ne tak často jako pomocí jazyka HTML, jelikož 12

ne všechny prohlížeče jsou schopny s jazykem XML pracovat. Na rozdíl od jazyka HTML je složitější, nicméně uživatel si může značky vytvářet sám dle jeho potřeb a popisovat, jak mají být příslušné značky používány. Stejně jako formát CSV, o kterém jsem se zmínil výše, i XML je využíván pro přesun dat mezi databázemi. V dnešní době je snaha o větší používání právě formátu XML, díky jeho struktuře a možnému zobrazení. O jazyku XML by se dalo napsat více, nicméně bylo o něm již ledacos napsáno a s touto prací již dále nesouvisí. [6] [7] 4 Nástroje pro dotazování flat file databází a jejich použití Hlavním smyslem této práce je pokusit se najít způsob, kterým se bude možné dotazovat do plochých souborů. Pokud již někdo vede data v takzvané flat file databázi, ve většině případů se jedná o soubor Excel. Tento soubor se většině uživatelů jeví jako dostatečný nástroj pro správu jejich dat. Proto se v hledání způsobů, jakými se lze do plochých souborů dotazovat, omezím především právě na soubory v Excelu. Data z ostatních formátů plochých souboru se většinou dají do Excelu poměrně snadno přenést. Pustil jsem se tedy do hledání a pár nástrojů, ať již známých či neznámých jsem nalezl. O jejich použití a efektivitě jsem se poté osobně přesvědčil. Než abych hledal materiály, které práci s jednotlivými nástroji popisují, vše jsem si na vlastní kůži vyzkoušel. 4.1 Nástroje pro dotazování bez zásahu do zdrojového souboru Aby nástroj, který chceme použít splňoval prvotní cíl, tedy možnost dotazování se přímo do flat file databáze, musíme se omezit v nějaké vážnější změně struktury a zdrojového kódu. Je tedy jasné, že potřebujeme nástroj, který bude pracovat nad daným souborem nebo přímo s daným souborem jako celkem. Dva nástroje, které dle mého názoru v tomto rozdělení použít, jsem vybral a otestoval. 4.1.1 SQL Developer Prvním z nich je SQL Developer. Jedná se o dotazovací nástroj, který umožňuje i samotnou správu databáze. Nástroj nabízí jednotné konzistentní rozhraní, které lze využít pro více rozdílných typů databází. Pomocí tohoto nástroje lze spravovat databáze 13

v platformách MySQL, Firebird, SQL Server, ale také Access, Excel a další. Prostředí umožňuje procházet strukturu databáze či vytváření dotazů a skript [8]. Aby spojení s databázemi fungovalo, je nutné nainstalovat potřebné JDBC ovladače (Java Database Connectivity). JDBC ovladače jsou součástí Javy, je tedy nutné k použití tohoto nástroje nainstalovat produkt JDK (Java Development Kid). JDK je soubor základních nástrojů pro vývoj na platformě Java. Po nainstalování tohoto balíků zprovozníme jen část databází, do kterých se lze dotazovat. Ostatní databáze vyžadují další speciální ovladače, které je rovněž nutné nainstalovat, pokud chceme s danou databázovou platformou pracovat. Naštěstí samotný nástroj u každé databázové platformy uvádí v jakém je ovladač stavu a odkaz na popis ovladače. Ve spojení s webovou stránkou, kde je uveden seznam ovladačů pro konkrétní platformy i s odkazem na stažení, lze po chvilce nástroj zprovoznit. U některých platforem je snaha o zprovoznění poněkud delší, o čemž jsem se na vlastní kůži přesvědčil. Podařilo se mi zprovoznit ovladače pro spolupráci s platformou MySQL a Excelem, na kterých budu funkčnost tohoto nástroje testovat. Obrázek 3: Menu pro připojení se k platformě. Zdroj: SQL Developer, autor 14

Po nastavení všech potřebných ovladačů si uživatel vybere v záložce karet, ke které platformě se chce připojit. Poté vyplní formulář, který vyžaduje základní informace, jako adresu serveru na kterém databáze běží či uživatelské přístupy do databáze. Poté se SQL Developer s databází spojí. Samotné okno nástroje se poté skládá z několika částí. V levém panelu je stromová struktura připojených databází. V případě souboru Excel se jedná o cestu ke složce, kde je soubor uložen. Nahrazuje tím tak název databáze, který se uvádí u databázových platforem. Poté obsahuje seznam tabulek, v tomto případě listů, které se zde nachází. Tabulku je možné ještě více rozvětvit. V takovém případě se zobrazí sloupce, které jsou zde vedeny. V případě databáze MySQL je to podobné. Jen namísto cesty k uloženému souboru, se zde nachází seznam dostupných databází na přihlášeném serveru. Ve výpisu tabulek jsou vedeny rovněž uložené pohledy, procedury a funkce, které se v databázi nachází. Ve výpisu sloupců jsou poté navíc vedeny i indexy, constrainty a klíče. Obrázek 4: Obrazovka nástroje. Zdroj: SQL Developer, autor Ve zbylé části se odehrává ta podstatná část, díky které se o nástroji bavíme. Je zde k dispozici několik editorů. Jedná se o editor SQL dotazů, skriptů či procedur. Dále je zde možné nahlížet na diagram databáze, do které se dotazujeme. Diagram je možné poměrně snadno vytvořit. Stačí jen odkázat na zdroj, ve kterém se databáze nachází. Většinou se jedná o ten, ve kterém jsme právě připojeni. Poté se již jen zvolí tabulky, které mají být vypsány v diagramu. Samotné editory kódu pak fungují stejně, jak jsme zvyklý u jiných nástrojů, které databáze spravují. Například MySQL Query Browser či 15

prostředí SQL serveru. Je zde tedy možné sestavovat kódy libovolné složitosti. Lze využít všech agregačních i ostatních funkcí. Jedná se tedy o nástroj, pomocí kterého jsme schopni dotazovat se na data v plochých souborech, stejně jako na data v relačních databázích. Nástroj umožňuje provádět dotazy z více listů, které potřebuje při nutnosti spojení závislých dat. Jednou z výhod nástroje je dle mého názoru rozmanitost platforem, které je tímto způsobem možno dotazovat. Můžeme tak veškeré své databáze spravovat z jednoho místa. Osobně mě však nástroj více nenadchl. 4.1.2 QueryCell pro MS Excel Druhý nástroj, který jsem testoval, se jmenuje QueryCell. Jedná se o plugin pro MS Excel, který umožňuje využití SQL jazyka přímo v tomto prostředí. Nástroj je možné využívat od verze Excel 2003. Stejně jako v minulém příkladu i zde je již podle předchozího popisu nutná znalost SQL jazyka [9]. Popravdě řečeno, než abych hledal složitou cestou materiály, které práci s tím nástrojem popisují, vydal jsem se objevovat jeho dovednosti vlastní cestou. Nainstaloval jsem tedy příslušný plugin a spustil Excel, ve kterém jsou uložena data. Na první pohled nic nového. V horním hlavním menu se však objevila nová záložka QueryCell. Obrázek 5: Menu QueryCell v MS Excel. Zdroj: QueryCell, autor Po rozkliknutí se objevilo několik nových možností pro kliknutí. Najdeme zde nápovědu, která obsahuje mimo jiné tutoriál, který umožňuje otestování funkčnosti na defaultních datech. Dále zde najdeme další ikonky, které jsem detailně nezkoušel, jelikož na první pohled neřešili podstatu mého problému. Pro začátek práce s vlastními daty je nutné kliknout na Open/Close QueryCell, tím se otevře samotný panel, do kterého lze zapisovat SQL kód. V levé části je uveden seznam listů, které se v sešitu vyskytují. Každý list tvoří vlastní tabulku, které je označena písmenem. Tabulky jsou označovány a řazeny od A. Dále zde najdeme informace o názvu sešitu, ve kterém je tabulka uložena, název listu, rozsah oblasti dat a další. Ikony nad seznamem umožňují znovu načtení listu, vytvoření 16

a odstranění nového rozsahu dat a připojení k jinému zdroji. Vytvořením nového rozsahu dat můžeme vytvořit novou tabulku, které bude zaujímat například jen část tabulky existující. Lze tímto nástrojem vymezit data, se kterými chceme pracovat. Například víme, že chceme pracovat jen s objednávkami za měsíc leden a nechceme tuto skutečnost neustále psát do omezení v SQL kódu, nebo s touto částí chceme nadále manipulovat takto odděleně, tak si ji oddělíme právě vytvořením nového rozsahu. V prostřední části je samotné okno pro psaní SQL kódu. Ikonami s plusem a mínusem můžeme přidávat a odebírat karty, do kterých kód vypisujeme. Rovněž je možné přepnout se do vizuálního módu, kde vidíme obsah tabulek a můžeme se vyklikat konkrétní pole, které chceme zobrazit. Tento způsob je prakticky totožný se způsobem využití průvodce pro tvoření dotazů v prostředí MSSQL Serveru. Tlačítko Run SQL poté vytvořený dotaz spustí. Hned vedle je tlačítko nápovědy, které obsahuje to samé jako nápověda v horním menu a navíc ještě doplněk ve formě několika SQL funkcí. V pravé části je seznam použitých příkazů a při přepnutí na Column List se objeví seznam dostupných sloupců v celém souboru. Po kliknutí na vybraný sloupec se nám přepíše do okna pro tvorbu příkazů. V tomto případě je funkčnost podobná poklikání na sloupce v prostředí MySQL. V dolní části vidíme původní list s daty, se kterými lze normálně dále pracovat jako v klasickém Excelu. Obrázek 6: Vzhled listu MS Excel s použitím QueryCell. Zdroj: QueryCell, autor 17

Co se samotné práce s pluginem týká, je velmi podobná práci s MSSQL serverem. Pro vypsání všech dat z listu machine zadáme příkaz. SELECT * FROM D Proč D a ne machine? Protože tabulku machine nástroj nezná, pojmenoval si ji totiž D a pod tímto označením s ní pracuje. Pokud tedy chceme spojit dvě tabulky podle určitého označení, použijeme tento příkaz. SELECT * FROM D INNER JOIN C ON D.ID_engine = c.id_engine V příkazu není nutné odlišovat malá a velká písmena, nástroj si s tím poradí. Výsledky provedených dotazů se zobrazují v novém listě a navzájem se přepisují. Chcete-li výsledek dotazu uchovat, je nutné uložit a přejmenovat list. Dále je zde možné nastavovat generovaným sloupcům vlastní názvy pomocí alisu a používat omezení, včetně agregačních funkcí. SELECT D.Machine_type AS typ_stroje, D.Machine_model AS model_stroje, Count(D.ID_Machine) AS pocet_stroju FROM D GROUP BY D.Machine_type, D.Machine_model Nástroj se tedy ve smyslu vytváření SQL dotazů tváří stejně jako MSSQL server, se všemi dostupnými funkcemi a omezením. Neměl by tedy být problém vytvořit v tomto prostředí stejný dotaz jako v MSSQL serveru a dostat tak totožný výsledek. Bohužel, jedna z hlavních nevýhod je v dostupnosti. Ne že by se snad nedal volně stáhnout, ale legálně ho lze využívat jako trialovou verzi pro pouhých třicet použití. Pro další používání je nutné získání licenčního klíče. I z tohoto důvodu jsem nemohl nástroj prozkoušet do sebemenších detailů. Nicméně domnívám se, že příkazy skutečně fungují v plné míře a používání toho doplňku může být přínosné. Pokud bych měl hodnotit tento nástroj, ve srovnání s SQL Developer se mi líbí mnohem více. Prostředí mi přijde takové příjemnější. Obsahově nabízí v podstatě oba to samé, s tím rozdílem, že předchozí nástroj je multiplatformní. Pokud by se jednalo o volně dostupný nástroj, určitě bych ho doporučil. 4.2 Nástroje pro dotazování s nutností převedení zdrojového souboru do nového formátu V předešlé kapitole jsme testovali nástroje, které nevyžadují změnu uložení dat. Nyní se podíváme na programy, které umí s daty efektivněji pracovat, ale potřebují je převést do svého prostředí. Nedokáží tedy pracovat s celým souborem, jako tomu bylo 18

v předchozí kapitole, ale potřebují samotná data. Na dva z nich se nyní zaměříme. Programů tohoto typu jistě existuje více, ale ve své podstatě se jedná o stále stejný princip. Proto se nebudu zabývat všemi, ale pouze vybranými. 4.2.1 MS Access Jedním z nejznámějších programů tohoto typu, je dle mého názoru MS Access. Stejně jako Excel je obsažen v balíku kancelářských nástrojů od společnosti Microsoft, který bývá hojně používán. Jedná se o program sloužící k sestavení a správě databáze. Data jsou zde uspořádána a vedena ve formě relační databáze. Tento program bývá často realizován na osobních počítačích, může se však realizovat také jako síťový [10]. Práce s tímto programem je následující. Pokud chceme do programu dostat data, máme více možností. Jednou z nich je vytvořit si ručně strukturu tabulky pomocí návrhového zobrazení a poté data importovat. Druhou možností je vytvořit tabulku přímo při importu samotných dat. Tento způsob je velmi jednoduchý a elegantní. Program použije strukturu, podle které byla data rozdělena v aplikaci Excel, odkud importujeme a nabídne nám ji k editaci. Návrh si můžeme upravovat, podle možností, které nám program nabízí. Já jsem zvolil druhý způsob, jelikož je to značné ušetření práce. Takto jsem naimportoval všechny listy které v Excelu byly a vytvořil nové tabulky. Ještě než začneme tvořit uživatelské prostředí, je dobré nastavit si relace. Jedná se o omezení, která zajišťují vztahy mezi daty. Pokud máme nastavenu datovou základnu, vrhneme se na uživatelské prostředí. I zde máme několik variant, jak prostředí vytvořit. Jednou z nich je použití průvodce. Tuto variantu doporučuji, jelikož nám usnadní práci a data s formulářem rovnou propojí. Další variantou je vytvoření formuláře v návrhovém zobrazení. Tento způsob není moc šikovný, jelikož nám zkomplikuje práci s provázaností dat. Navíc způsob použití průvodce, který udělá vše za nás, umožňuje přepnutí do návrhového zobrazení a dodatečnou úpravu vzhledu. 19

Obrázek 7: Formulář MS Access. Zdroj: Access, autor Další část, bez které se neobejdeme, je tvorba dotazů. Jedná se o jednu z hlavních věcí, proč databázi vytváříme. Pokud máme data vedena, určitě je budeme chtít dotazovat a poté si je vyhodnocovat. Zde bych doporučil využít možnosti návrh dotazu. Otevře se nám průvodce, kterého můžeme znát z prostředí SQL serveru. Zde si vybereme, jaká data z kterých tabulek chceme zobrazovat. Můžeme nastavit omezovací podmínky, způsob řazení dat a další. Pokud si nebudete vědět rady, jak dotaz sestavit, můžete se přepnout do editoru SQL kódu a dotaz napsat ručně. Poté již pomocí průvodce sestavíme formulář, ve kterém se bude výsledek zobrazovat. Tento dotaz se řadí do kategorie výběrových dotazů. Dalším typem hlavních dotazů, které zde můžeme poskládat, jsou dotazy vytvářecí, přidávací, aktualizační, křížové a mazací. Pomocí těchto dotazů může vytvářet, aktualizovat a mazat data. Jedná se tedy, až na křížový dotaz, o dotazy které vyvolávají nějakou událost. Nejsou zobrazovány ve formulářích, ale přiřazovány určitým tlačítkům. V porovnání s jazykem SQL se jedná o příkazy insert, update a delete. Posledním prvkem, který by nás měl zajímat, jsou sestavy. Jedná se o prostředek, který umožní data publikovat dál. V podstatě jde o report. Opět pomocí průvodce jsme schopni nastavit, která data chceme vypisovat. Ať už jde o prosté výpisy z tabulek, nebo reportování vytvořených dotazů. Přepnutím do návrhového zobrazení lze měnit vzhled stránky. Program má jednoduché a přátelské prostředí, které nám umožňuje vytvářet to, co potřebujeme, bez nutnosti dlouhého přemýšlení jak s programem pracovat. Vše je možné vytvářet pomocí průvodců, kteří mnohdy velmi usnadní práci. Co nezvládne průvodce, zvládne návrhové zobrazení. Do formulářů lze přidávat prvky, jako jsou 20