Diplomová práce. Informační systém pro podporu obchodní činnosti

Rozměr: px
Začít zobrazení ze stránky:

Download "Diplomová práce. Informační systém pro podporu obchodní činnosti"

Transkript

1 Diplomová práce Informační systém pro podporu obchodní činnosti vypracoval: Václav Klofera vedoucí práce: Ing. Vladimír Dumek, Ph.D. obor: Inženýrská informatika a automatizace specializace: Informatika 2006

2

3

4

5 ANOTACE Diplomová práce se zabývá návrhem a realizací informačního systému pro podporu obchodní činnosti. Řešení je realizováno pomocí vývojového prostředí Delphi s použitím relačního databázového systému MySQL. ANNOTATION The thesis deals with design and realization of the information system for business support. IDE Delphi and the relational database system MySQL were used for development of this information system.

6

7 PODĚKOVÁNÍ Děkuji panu Ing. Vladimíru Dumkovi, Ph.D., za vedení mé diplomové práce a za jeho podnětné rady a připomínky. PROHLÁŠENÍ Prohlašuji, že jsem tuto práci vypracoval samostatně podle rad a pokynů svého vedoucího diplomové práce pana Ing. Vladimíra Dumka, Ph.D. Pro vypracování jsem použil literaturu a zdroje uvedené na konci práce. V Brně dne

8

9 Informační systém pro podporu obchodní činnosti Strana 9 OBSAH Obsah... 9 Seznam použitých symbolů a zkratek Úvod Informační systémy Informace a systém Charakteristika informace Pojem systém Informační systém Tvorba informačních systémů Realizační prostředky Objektově orientované programování Vývojové prostředí Delphi Historie Možnosti Delphi Komponenta Zeos Jazyk SQL Základní příkazy Transakce Izolační úrovně transakcí Databázový systém MySQL Charakteristika Typy tabulek Použité prostředky Specifikace požadavků Momentální stav Požadavky na systém Datová a funkční analýza Datový model systému Tok dat v systému Návrh datového modelu Funkce systému Návrh databáze Normalizace databáze Návrh struktury databáze... 35

10 Strana 10 Informační systém pro podporu obchodní činnosti 6 Implementace Vytvoření databáze Tvorba tabulek Datové třídy Datový modul Třída Class_Generic Třída ClassObjednavka Ostatní datové třídy Konfigurace aplikace Třída TSchemata Konfigurační soubor Třída TNastaveni Grafické rozhraní aplikace Hlavní formulář aplikace Připojení Formuláře entit Formulář Editace objednávky Formulář Editace faktury Faktura Statistiky Uživatelská nastavení Instalace a požadované prostředky Závěr Seznam použité literatury... 59

11 Informační systém pro podporu obchodní činnosti Strana 11 SEZNAM POUŽITÝCH SYMBOLŮ A ZKRATEK ANSI BDB CORBA CSV DFD DLL DNS E-R GNU GPL IDE IDEF INI InnoDB IP ISAM LAN LGPL MDI MEIN MERISE OOP PHP RAD RDBMS SDM SQL SSADM VCL WIN32 API XML American National Standards Institute Berkeley Database Common Object Request Broker Architecture Comma-Separated Values Data Flow Diagram Dynamic-Link Library Domain Name System Entity Relationship GNU s Not Unix General Public License Integrated Development Environment Integrated Definition Initialization File Inno Database Internet Protocol Indexed Sequential Access Method Local Area Network Lesser General Public License Multiple Document Interface Methodologia Informatica Methode d'etude et de Realisation Informatique pour les Systemes d'enteprise Object Oriented Programming PHP Hypertext Preprocessor, původně Personal Home Page Rapid Application Development Relational Database Management System Sytem Development Methodology Structured Query Language Structured System Analysis and Design Method Visual Component Library 32-bit Windows Application Interface Extensible Markup Language

12

13 Informační systém pro podporu obchodní činnosti Strana 13 1 ÚVOD Bez počítačové podpory se v současné době neobejde takřka žádná organizace. Firmy dnes používají hardwarové a softwarové vybavení, které jim umožňuje přehledně vytvářet a zpracovávat doklady vystavované klientům. Na našem trhu se nachází několik takových softwarových produktů. Pokud ale tyto produkty nevyhovují požadavkům firmy, je firma nucena vyvinout vlastní systém, který odpovídá zavedeným vnitrofiremním postupům a zvyklostem. Diplomová práce navrhuje řešení informačního systému pro firmu provozující druhým rokem internetový obchod Moře her na adrese Obchod nabízí hry, stavebnice, hračky a jiný sortiment pro volný čas určený jak pro děti, tak dospělé. Dále v sekci Baby program umožňuje výběr zboží pro nejmenší. První část této práce se věnuje informačním systémům obecně. Nastiňuje jejich hlediska rozdělení, jejich úlohy a cíle. Seznamuje se zavedenými postupy používanými při jejich návrhu. V druhé části jsou popsány realizační prostředky, které byly použity pro tvorbu informačního systému. Tato část se věnuje způsobům a možnostem programování v prostředí Delphi ve spojení s relačním databázovým serverem MySQL. Popisuje také jazyk SQL používaný pro jejich vzájemnou komunikaci. V další části jsou uvedeny požadavky firmy a jejich datová a funkční analýza. Jsou zde navrženy tabulky databáze a definice vztahů mezi nimi. Poslední část práce představuje návrh aplikace informačního systému. Věnuje se nejen vytvoření databáze na serveru MySQL, ale také popisu nejdůležitějších datových tříd a popisu uživatelského rozhraní klientské aplikace, která spravuje databázi.

14

15 Informační systém pro podporu obchodní činnosti Strana 15 2 INFORMAČNÍ SYSTÉMY 2.1 INFORMACE A SYSTÉM Charakteristika informace Pojem informace je pojem vysoce abstraktní. V zásadě je informace nový poznatek o určité události jevu obsažený v nějaké zprávě, která má charakter výroku. Odebráním konkrétního obsahu jevu nebo události, o němž se vydávají informace, zůstane jen nějaká množina vzájemně odlišných stavů. Každý objekt může být v každém časovém okamžiku v jednom z mnoha možných stavů. Různé jevy se vzájemně liší počtem možných stavů a zvláštnostmi jejich výběru (pravděpodobností výskytu jednotlivých stavů). Jednotkou informace je jeden bit, který v informatice představuje rozhodnutí mezi dvěma alternativami, nulou a jedničkou. Informace je přenášena a poskytována různými prostředky. Vždy je však vysílána subjektu prostřednictvím nějakého přenosového kanálu. Informace je v určité zprávě obsažená jen tehdy, jestliže u přijímacího subjektu odstraňuje neurčitost. To umožňuje chápat informaci jako něco nového, co momentálně nebo v budoucnosti určitým způsobem ovlivní konání příjemce. Informací tedy míníme sdělení, které odstraňuje nejistotu nebo nevědomost, daty pak míníme jakékoli zaznamenané poznatky či fakta. Jako zvláštní pojem zde vystupuje také znalost představující zobecnění poznání určité části reality. Informaci je možno také chápat jako data s nějakým přidaným významem (informace = data + význam) Pojem systém Systémem se obecně rozumí soubor prvků, mezi nimiž existují vzájemné vazby. Systém jako celek splňuje nějaký cíl a má určité vztahy ke svému okolí. Každý materiální objekt obsahuje nekonečné množství proměnných a je možné na něm definovat nekonečné množství systémů. Při studiu objektu sledujeme jisté zájmové hledisko, jímž z objektu vymezujeme systém, který je konkrétním předmětem studia. Hranice systému vymezuje samotný systém nebo odděluje více systémů. Logická hranice je hranicí pomyslnou a vymezuje podsystémy v rámci systému. Okolí systému je již hranicí viditelnou. Prvky vně hranice pak ovlivňují chování systému přes jeho vstupy. Nekonečné množství různých systémů lze rozdělit podle různých hledisek: podle povahy prvků: reálné abstraktní podle původu: přírodní umělé

16 Strana 16 Informační systém pro podporu obchodní činnosti podle fungování: řízené neřízené podle stupně složitosti: jednoduché složité podle vztahu k okolí: otevřené uzavřené podle délky existence: stálé dočasné podle reakce na podněty na vstupech: stabilní nestabilní podle charakteru reakce na působení okolí: aktivní pasivní podle typu signálu: spojité diskrétní podle pravděpodobnosti stavů na výstupu: deterministické stochastické podle závislosti na předchozích hodnotách vstupu: statické dynamické. objektivní realita (nekonečná hmota) SYSTÉM (určité zájmové hledisko) objekt okolí Obr. 1: Systém a jeho zařazení do reality. Systémy se skládají ze vstupů, procesů a výstupů. Každý systém je charakterizován dvěma základními vlastnostmi: Chování systému: charakterizuje jeho vnitřní funkční vztahy. Chování systému je závislost mezi podněty okolí působícími na jeho vstup a příslušnými odezvami objevujícími se na jeho výstupu. Struktura systému: charakterizuje jeho vnitřní funkční vztahy. Strukturou systému rozumíme způsob uspořádání (organizaci) vzájemných vazeb mezi prvky systému, ale i chování těchto prvků. Obě tyto vlastnosti systému spolu úzce souvisejí. Určité struktuře jednoznačně odpovídá chování systému a naopak určitému chování systému odpovídá třída struktur, která je definována tímto chováním.

17 Informační systém pro podporu obchodní činnosti Strana INFORMAČNÍ SYSTÉM Informační systém (IS) je systém pro sběr, udržování, zpracování a poskytování informací a dat. Vazby v něm jsou chápány jako informace nebo data a prvky jako místa vzniku, sběru, přenosu, uchování, zpracování a distribuce informací. Systém je tedy soubor prostředků vzájemně účelně vybraných a propojených pro automatizované získávání informací potřebných k rozhodování a řízení. Úkolem systému je dobrá informační strategie, tedy jak včas a ve správnou chvíli dodat určitému člověku informaci, kterou právě potřebuje. Obecně chápeme IS jako systém pro zpracování dat, který má tyto cíle: strategické (plánování investic) taktické (vedení, kontrola rozpočtů) operační (každodenní rutina). Důležité jsou také úlohy IS: manažerské (EIS - Executive IS) taktické (DSS - Decision Support System) vedení (MIS - Management IS) expertní (KWS - Knowledge Work System) kancelářské (OIS - Office IS) operativní: transakční (bankovní systémy), CRM (péče o zákazníka), RIS (rezervační systémy), CAM (konstrukční systémy (CAD)), GIS (geografické systémy). Tato práce se zabývá manažerským IS, který podporuje obchodní činnost firmy správou dat o obchodujících subjektech a předmětech obchodování a zpracováním dokumentace obchodní činnosti firmy. INFORMAČNÍ SYSTÉM OKOLÍ SYSTÉMU Vstupy Výstupy Vstupní prvky Výstupní prvky Procesy zpracování informací Datová báze Obr. 2: Model informačního systému.

18 Strana 18 Informační systém pro podporu obchodní činnosti 2.3 TVORBA INFORMAČNÍCH SYSTÉMŮ Při narůstající složitosti informačních systémů je nutno provádět jejich návrh standardizovanými metodami a upustit od intuitivního navrhování ad hoc. To lze použít pouze pro jednoduché systémy. Existuje množství studií a metodik používaných při tvorbě IS, například: procesně orientované přístupy (DeMarco, Gane/Sarson - velký důraz na DFD) datově orientované přístupy (Warnier/Orr - rozšíření o stavové diagramy) kombinace obou metod (tzv. Yourdonova metoda) strukturované metody (SSADM, MERISE, IDEF, MAIN, SDM, ). V dnešní době se nejvíce používají strukturované metody. Stanovují, jak postupovat a jaké techniky používat pro analýzu, návrh a popis skutečností, jakými jsou: pohyby formulářů, dokumentů, dat a informací ve firmě vztahy mezi údaji používanými ve firmě průběhy procesů ve firmě stavy jednotlivých procesů a vyhodnocení stavu jednotlivých organizačních jednotek i firmy jako celku události, na které má IS reagovat další významné skutečnosti potřebné pro následný návrh IS (objemy dat, periodicita dat, požadovaný stupeň utajení dat apod.). Rozbor zadání Analytické modelování Systémový design Objektový design Implementace Zkušební provoz Nasazení IS Obr. 3: Fáze řízení tvorby a návrhu IS.

19 Informační systém pro podporu obchodní činnosti Strana 19 3 REALIZAČNÍ PROSTŘEDKY 3.1 OBJEKTOVĚ ORIENTOVANÉ PROGRAMOVÁNÍ Objektově orientované programování (OOP) je metodika vývoje softwaru založená na objektech, jejich vlastnostech a operacích s nimi. Některé z vlastností OOP jsou unikátní, jiné (např. abstrakce) jsou běžnou vlastností i jiných vývojových metodik. OOP popisuje nejen způsob vývoje a zápisu programu, ale i způsob, jakým návrhář programu o problému přemýšlí. OOP používá následující techniky a myšlenky: Objekty: jednotlivé prvky modelované reality (jak data, tak související funkčnost) jsou v programu seskupeny do entit, nazývaných objekty. Objekty si pamatují svůj stav a navenek poskytují operace přístupné jako metody pro volání. Abstrakce: programátor, resp. program, který programátor vytváří, může abstrahovat od některých detailů práce jednotlivých objektů. Každý objekt pracuje jako černá skříňka, která dokáže provádět určené činnosti a komunikovat s okolím, aniž by vyžadovala znalost způsobu, kterým vnitřně pracuje. Zapouzdření: zaručuje, že objekt nemůže přímo přistupovat k vnitřním vlastnostem a metodám jiných objektů, což by mohlo vést k nekonzistenci dat. Každý objekt navenek zpřístupňuje rozhraní, pomocí kterého (a ne jinak) se s objektem pracuje. Skládání: objekt může využívat služeb jiných objektů tak, že je požádá o provedení operace. Dědičnost: objekty jsou organizovány stromovým způsobem. Objekty jednoho druhu mohou dědit z jiného druhu objektů, čímž přebírají jejich schopnosti. K nim pouze přidávají svoje vlastní rozšíření. Tato myšlenka se obvykle implementuje pomocí rozdělení objektů do tříd, přičemž každý objekt je instancí nějaké třídy. Každá třída pak může dědit od jiné třídy (v některých programovacích jazycích i z několika jiných tříd). Polymorfismus: odkazovaný objekt se chová podle toho, jaký je jeho skutečný typ. Pokud několik objektů poskytuje stejné rozhraní, pracuje se s nimi stejným způsobem, ale jejich konkrétní chování se liší. V praxi se tato vlastnost projevuje např. tak, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy (třídy, která přímo či nepřímo z této třídy dědí). Dědící třída se může chovat jinak, než by se chovala instance rodičovské třídy, ovšem pouze v rámci hranic daných popisem rozhraní.

20 Strana 20 Informační systém pro podporu obchodní činnosti Základním principem OOP je snaha modelovat při řešení úloh svět v počítači pokud možno tak, aby činnosti společné všem dědícím objektům byly stejné. Objekty se tedy liší jen vlastnostmi a metodami, které jsou pro daný objekt logicky jedinečné. Použitím této myšlenky mohou při vývoji složitých informačních systémů jednotliví vývojáři používat již vytvořené komponenty, podle potřeby si je upravit nebo je používat jako stavebnici pro sestavování důmyslnějších a složitějších objektů. Při tom je však nezbytné dbát na zodpovědnost objektu, tedy na to, co objekt umí a o co se stará. Existuje velké množství programovacích jazyků umožňujících objektově orientované programování, např. Smalltalk, Java, C++, Object Pascal, C#, Lisp, PHP atd. Tyto jazyky můžeme rozčlenit jako: čistě objektové jazyky, ve kterých se programuje pouze pomocí objektů (např. Smalltalk) hybridní jazyky, ve kterých programátor může a nemusí dodržovat metody OOP (např. C++) objektová rozšíření původně neobjektových jazyků (např. Object Pascal, který vznikl jako rozšíření neobjektového jazyka Pascal). 3.2 VÝVOJOVÉ PROSTŘEDÍ DELPHI Delphi je grafické integrované vývojové prostředí (IDE) vyvinuté firmou Borland. Slouží k tvorbě aplikací pro MS Windows pomocí programovacího jazyka Object Pascal Historie První verzi produktu, Delphi 1, vytvořila firma Borland v roce Představila tak první překladač s grafickým, objektově orientovaným IDE, který významě ovlivnil tvorbu programů pro MS Windows. Následující verze byly vydávány takřka každý rok a přinášely stále nové možnosti a dokonalejší prostředky. Dnes jsou po verzích 1 až 8 dostupné verze 2005 a 2006, které mimo jiné podporují i platformu.net a kromě jazyka Object Pascal také jazyk C# Možnosti Delphi Jako každý RAD nástroj má Delphi editor kódu, ladicí program, návrhář formulářů a další nástroje. Umožňuje vizuální návrh grafického uživatelského rozhraní, na jehož základě je automaticky vytvářena kostra zdrojového kódu. To výrazně urychluje vývojový proces aplikace. Programování v Delphi je z velké části založeno na použití komponent. Komponenty jsou dopředu vytvořené objekty, které vykonávají určitou činnost. Dělí se na vizuální (zobrazují např. text nebo obrázky) a nevizuální (např. komunikují s databází). Komponenty

21 Informační systém pro podporu obchodní činnosti Strana 21 je možno v Delphi vytvářet. Velkou předností Delphi je skutečnost, že knihovny komponent jsou již součástí instalace. Dodávané komponenty významně usnadňují tvorbu aplikací. Kromě samostatných aplikací lze v Delphi vyvíjet také dynamické knihovny DLL, nástroje pro řízení systému, konzolové aplikace, aplikace založené na spolupráci s databázemi i aplikace pro webové servery a práci s internetem. Většina verzí Delphi se dělí na tři typy: Delphi Personal je základní verzí, poskytuje vše potřebné pro tvorbu aplikací a je ideální zejména pro studenty. Tato verze je nabízena zdarma ke stažení s licencí, jež umožňuje pouze tvorbu aplikací pro osobní spotřebu. Delphi Professional je určena profesionálním programátorům a oproti základní verzi obsahuje větší počet komponent, podporu databází včetně databázového serveru InterBase s licencí pro 5 uživatelů, řadu komponent pro vývoj internetových aplikací, grafů a tabulek, nástroj pro tvorbu instalačních programů atd. Od této verze jsou programátorům k dispozici i zdrojové kódy knihoven. Delphi Enterprise je určena pro tvůrce rozsáhlých síťových firemních systémů. Obsahuje podporu standardů XML, CORBA, podporu pro týmový vývoj aplikací, pokročilé nástroje pro tvorbu aplikací založených na jazyku SQL atd. K vytváření vlastních aplikací lze použít mnoho vývojových nástrojů. Delphi dnes patří mezi nejpoužívanější zvláště z několika důvodů. Jsou jimi: grafické IDE typu RAD rychlý a výkonný překladač s optimalizací kódu v jazyku Object Pascal komfortní práce s integrovaným debuggerem dodávané knihovny komponent VCL velké množství volně dostupných komponent snadný návrh pomocí komponent, jejich vlastností a jejich přednastavených reakcí na události vizuální dědičnost formulářů, což představuje maximální spojení OOP a vizuálního návrhu aplikací databázová podpora a podpora internetových aplikací podpora WIN32 API a zpracování v paralelních podprocesech vláknech (multithreading) Komponenta Zeos Prostředí Delphi, jež bylo použito, samo neumožňuje nativní přístup k databázi. Bylo proto použito balíčku Zeos Database Objects, který je součástí projektu ZeosLib na serveru Jde o balíček komponent pro nativní přístup aplikace k databázím MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle a DB/2. Komponenty jsou vyvíjeny jako Open Source pro prostředí Delphi, Kylix a C++ Builder a šířeny pod

22 Strana 22 Informační systém pro podporu obchodní činnosti licencemi GNU GPL, GNU Library a GNU LGPL. Znamená to tedy, že ke zdrojovým kódům produktu má kdokoli přístup, a může tedy přispívat k vývoji opravami, vylepšováním kódu a navrhováním optimalizací. Dostupné zdrojové kódy umožňují vytvořit balíček komponent a ten nainstalovat do vývojového prostředí, v případě této diplomové práce do prostředí Delphi. Balíček obsahuje různé komponenty, z nichž nejdůležitější jsou: TZConnection: zapouzdřuje databázové spojení a transakční operace TZReadOnlyQuery: komponenta typu TDataset k provádění SQL dotazů v neinteraktivním režimu spojení TZQuery: komponenta typu TDataset umožňující změnu dat v normálním a cacheovaném interaktivním režimu TZSQLMonitor: monitoruje všechny odchozí SQL dotazy a zaznamenává informace o spojení. Základní myšlenkou vývoje komponent Zeos je kompatibilita s příslušnými komponentami Delphi. Proto je možné je použít bez obtíží ve spojení s ostatními prostředky Delphi, které pak využívají jejich vlastnosti a metody. 3.3 JAZYK SQL SQL je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. Vznikl v 70. letech dvacátého století ve firmě IBM jako jazyk, ve kterém by se příkazy tvořily syntakticky co nejblíže přirozenému jazyku (v tomto případě v angličtině). Americký institut ANSI ho přijal poprvé v roce 1986 jako SQL-86. Dnes vychází většina databázových systémů ze zdokonalené verze standardu SQL-92, případně novějších SQL-99 a SQL-2003, které reagují na potřeby práce nejmodernějších databází s objektovými prvky, rekurzivními výrazy, triggery (spouštěmi) nebo exportem dat do XML Základní příkazy Dotazy jazyka SQL můžeme rozdělit do 4 základních skupin: Příkazy pro manipulaci s daty: jsou to příkazy pro získání dat z databáze a pro jejich úpravy. Označují se zkráceně DML Data Manipulation Language. Jedná se například o příkazy: o SELECT vybírá data z databáze, umožňuje výběr podmnožiny dat o INSERT vkládá do databáze nová data o UPDATE mění existující záznam v databázi. Příkazy pro definici dat: těmito příkazy vytváříme struktury databáze tabulky, indexy, pohledy a další objekty. Vytvořené struktury můžeme upravovat,

23 Informační systém pro podporu obchodní činnosti Strana 23 doplňovat a odstraňovat. Tato skupina příkazů se nazývá zkráceně DDL Data Definition Language. Jako příklad lze uvést: o CREATE vytváření nových objektů o ALTER změny existujících objektů. Příkazy pro řízení dat: do této skupiny patří příkazy pro nastavování přístupových práv a řízení transakcí. Označují se jako DCL Data Control Language, někdy také TCC Transaction Control Commands. Jsou to například: o GRANT příkaz pro přidělení oprávnění uživateli k určitým objektům o BEGIN zahájení transakce o COMMIT potvrzení transakce. Ostatní příkazy: do této skupiny se řadí příkazy pro správu databáze. Pomocí nich se přidávají uživatelé, nastavují parametry (kódování, způsob řazení, formáty data a času apod.). Tato skupina není standardizována a konkrétní syntax příkazů je zavislá na databázovém systému. V některých dialektech jazyka SQL jsou přidány i příkazy pro kontrolu běhu, takže lze tyto dialekty zařadit i mezi programovací jazyky. Příkladem je například: o SET příkaz pro nastavení proměnných serveru o SOURCE příkaz pro dávkové zpracování souboru příkazů. Při sestavování dotazu SQL se použije příkaz a argumenty podle jeho předepsané syntaxe. Dotazy jsou ukončovány středníkem. Následuje jednoduchý příklad výběru dat z tabulky databáze pomocí příkazu SELECT (při použití tab. 1, viz kap ): SELECT idzakaznika, prijmeni, jmeno, ulice, mesto, psc, , telefon, nazevspol, ico, dic, bankucet, datum_reg, poznamka FROM tbl_zakaznici; Vkládání do databáze zajišťuje příkaz INSERT (při použití tab. 1, viz kap ): INSERT INTO tbl_zakaznici SET prijmeni= Soukup, jmeno= Karel, ulice= Berkova 1, mesto= Brno, psc= 61200, = Soukup@firma.cz, telefon= ; Příklad syntaxe vytvoření databázové tabulky viz kap

24 Strana 24 Informační systém pro podporu obchodní činnosti Pro nastavení systémových proměnných se užívá příkaz SET, tedy například nastavení maximálního počtu aktuálních připojení k databázi se provede příkazem (v tomto případě pro MySQL): SET Max_used_connections=50; Transakce Transakční zpracování se považuje za jeden z největších přínosů databází typu klient-server. Transakce totiž minimalizují možné škody při nestandardní situaci. Jejich úkolem je zabezpečit konzistenci dat. Transakční zpracování je obecný koncept, jehož účelem je zajistit integritu jakéhokoliv dynamického systému v rámci přechodu z jednoho konzistentního stavu do druhého. Každá databáze prochází transformacemi v podobě přidávání, změn a rušení záznamů. SQL dotazy se vykonávají jeden po druhém. V případě běžného použití není důležité, v jakém pořadí databáze příkazy vykonává, pokud všechny obslouží rychle. Určité druhy dotazů se však musejí vykonat v konkrétním pořadí. To platí například pro dotazy, které závisejí na výsledcích předchozího dotazu, nebo skupiny aktualizací, jež je zapotřebí vykonat jako celek. Další důvod použití transakcí je v problému fyzického spojení klienta a serveru. Pokud se přistupuje k databázi vzdáleně, je pravděpodobné, že dojde k výpadku spojení. Je tedy možné, že nebude dokončena požadovaná posloupnost příkazů. V případě transakcí je tato možná nekonzistence dat ošetřena. Podpora transakčního zpracování zajišťuje takové provádění transakcí, aby databáze zůstala v konzistentním stavu i v případě selhání některé z operací prováděných na datech. Pro provedení takové operace musí být splněny tři základní podmínky: řádná definice konzistentních stavů databáze řádná definice jednotlivých transakcí korektnost provádění jednotlivých transakcí. Základní vlastnosti transakcí jsou definovány takto: Atomicita všechny operace prováděné v rámci transakce jsou chápány jako operace jediná a nedělitelná. Konzistence v průběhu transakce může být databáze v nekonzistentním stavu, ale po úspěšném ukončení transakce je stav databáze považován za konzistentní. Izolovanost každá transakce je zcela izolována od operací prováděných jinými transakcemi, jako kdyby měla výhradní přístup k celé databázi. Trvalost pouze po úspěšném ukončení transakce jsou všechny změny provedené transakcí trvale zachyceny v databázi.

25 Informační systém pro podporu obchodní činnosti Strana 25 Začátek transakce označuje příkaz BEGIN, příkaz COMMIT znamená její úspěšné dokončení. Mezi těmito dvěma příkazy se provede posloupnost potřebných příkazů. Po zadání příkazu COMMIT se změny stanou trvalými. Pokud se ale stane něco nepředvídatelného, lze použít příkaz ROLLBACK, po kterém dojde k vrácení změn provedených transakcí. Následuje příklad sledu příkazů při použití transakce (při použití tabulky tbl_zakaznici z kap ): BEGIN SELECT * FROM tbl_zakaznici WHERE prijmeni= Novák ;... (práce se záznamy v programu, např. kontrola údajů) UPDATE * FROM tbl_zakaznici SET poznamka= K objednávce přibalit dárek akce Dárky pro věrné Nováky WHERE prijmeni= Novák ; COMMIT Izolační úrovně transakcí Při souběžném použití transakcí by se mohlo stát, že se dvě různé transakce budou pokoušet měnit stejné údaje. V ten okamžik může dojít ke ztrátě informace, protože měněná data jsou změněna ještě před tím, než je první změna potvrzena. Aby se předešlo takovému stavu, používá se mechanismus úrovní izolace transakcí. Server řídí přístup transakcí k datům pomocí různých typů zámků. Jelikož má soupeření transakcí o data negativní vliv na výkon systému, definuje standard SQL několik izolačních úrovní, které představují různou míru kompromisu mezi nechráněným přístupem a exkluzivním přístupem blokujícím práci všem transakcím. Úroveň izolace je vlastností transakce, a různé transakce tedy mohou pracovat s odlišnou úrovní izolace. Standard SQL92 definuje následující izolační úrovně: Read Uncommitted dovoluje transakcím číst nepotvrzená data z jiných transakcí nečistá čtení. Aktualizace stejných dat je však zablokována. Úroveň dovoluje nejvyšší propustnost dat, ale zároveň může dojít k celé škále anomálií z důvodu čtení nepotvrzených dat. Některé databázové systémy tuto úroveň izolace z bezpečnostních důvodů vůbec nepřipouštějí. Read Commited nepovoluje nečistá čtení (viz úroveň Read Uncommited). Blokuje souběžnou aktualizaci dat a povoluje pouze čtení potvrzených změn. Při krátkých a jednoduchých změnách dat dovoluje tato úroveň propustnost dat srovnatelnou s úrovní Read Uncommited. Přesto může při přidávání nových záznamů docházet k anomáliím k přidávání fantomových řádků, kdy dva

26 Strana 26 Informační systém pro podporu obchodní činnosti stejné dotazy vrátí po časové prodlevě jinou množinu dat. Úroveň povoluje neopakovatelná čtení vzniklá opakovaným čtením řádků měněných a potvrzených jinou transakcí. Repeatable Read nepovoluje neopakovatelná čtení, stále ale hrozí anomálie vzniklé přidáním nových řádků. Úroveň je vhodné používat při transakcích, které potřebují neměnný pohled na data. Možnost vzniku fantomových řádků je většinou vyloučena použitím operací, které na základě přečtených údajů mění data. Serializable nepovoluje ani fantomová čtení, data přístupná v transakci jsou stejná jako na začátku transakce. Změnu izolační úrovně na úroveň Read Commited pro všechny nové transakce aktuálního spojení zajistí SQL příkaz: SET SESSION TRANSACTION ISOLATION LEVEL READ_COMMITED; 3.4 DATABÁZOVÝ SYSTÉM MYSQL Charakteristika MySQL je Open Source databázový systém vytvořený švédskou firmou MYSQL AB. Je považován za úspěšného průkopníka dvojího licencování je k dispozici jak pod bezplatnou licencí GPL, tak pod komerční placenou licencí. Jde o multiplatformní databázi typu klient-server. Komunikace s ní probíhá jak už název napovídá pomocí jazyka SQL. Podobně jako u ostatních SQL databází se jedná o dialekt tohoto jazyka s některými rozšířeními. Databáze MySQL je systém řízení relačních databází RDBMS. Je to program schopný ukládat velké množství různých dat a vracet je zpět při naplňování potřeb jakéhokoliv typu firmy nebo organizace. MySQL byla od počátku optimalizována především pro rychlost, a to i za cenu některých zjednodušení, například měla jen jednoduché způsoby zálohování. Nové vlastnosti jsou doplňovány teprve v posledních letech, kdy je začali postrádat nejčastější uživatelé produktu programátoři. Z přehledu podporovaných vlastností jsou nejdůležitější: použití cizích klíčů (od verze 3.23 podporovány v tabulkách typu InnoDB) použití transakcí (od verze 3.23 podporovány v tabulkách typu InnoDB) podpora různých znakových sad a časových pásem v datech (od verze 4.1) poddotazy (od verze 4.1).

27 Informační systém pro podporu obchodní činnosti Strana 27 Pro svou snadnou implementovatelnost (lze jej instalovat na Linux, MS Windows, ale i další operační systémy), výkon a především díky tomu, že se jedná o volně šiřitelný software, má MySQL vysoký podíl na databázích, které se v současné době používají na českých i zahraničních serverech. Velmi oblíbená a často nasazovaná je kombinace MySQL, PHP a serveru Apache jako základní software webového serveru Typy tabulek V MySQL existují dva typy tabulek. Tabulky InnoDB a BDB jsou transakčně zabezpečeny, ISAM, MyISAM, MERGE a HEAP transakčně zabezpečeny nejsou. Volba správného typu tabulky může mít zásadní vliv na výkonnost a rychlost databáze. Typ ISAM je starým standardem MySQL a je nahrazen typem MyISAM, který je ideální pro systémy s převahou výběrových dotazů před aktualizacemi. Tabulky typu MERGE vznikají sloučením tabulek MyISAM a používají se k urychlení práce s příliš velkými tabulkami MyISAM. Tabulky typu HEAP jsou nejrychlejším typem, protože jsou umístěny v operační paměti. Vytváří se z jiného typu tabulky například kopírováním záznamů. To je užitečné pro současné procesy aktualizace a rychlého čtení záznamů tabulky. Standardním typem pro podporu transakcí je typ InnoDB. Ve srovnání rychlosti přístupu jsou tabulky InnoDB oproti MyISAM pomalejší, protože mají větší režii při používání transakcí. Podpora tabulek typu BDB je ve fázi vývoje, a není tedy zaručena plná funčnost tabulky. Pracovní stanice Pracovní stanice Klientská aplikace Klientská aplikace Transakce SQL konverzace Síťové připojení přes LAN Transakce SQL konverzace Síťové připojení přes Internet Serverová síťová stanice Klientská aplikace Transakce SQL konverzace lokální připojení Server MySQL Databáze Databáze Obr. 4: Model klient-server připojení k serveru MySQL.

28 Strana 28 Informační systém pro podporu obchodní činnosti 3.5 POUŽITÉ PROSTŘEDKY Při tvorbě aplikace pro tuto diplomovou práci bylo použito programovací prostředí Delphi verze 5 Professional. Použitá komponenta Zeos, která byla nainstalována do prostředí Delphi, nese označení ZeosDBO alpha Pro kompilaci komponenty bylo nutné přidat k jejímu zdrojovému kódu programovou jednotku DateUtils, která obsahovala definici konverzní procedury DecodeDateTime. Poté již proběhlo sestavení a nainstalování komponenty bez obtíží. Následuje definice zmíněné procedury: procedure DecodeDateTime(Date: TDateTime; var Year, Month, Day, Hour, Min, Sec, MSec: Word); begin DecodeDate(Date,Year,Month,Day); DecodeTime(Date,Hour,Min,Sec,MSec); end; Aplikace byla vyvíjena s použitím databázového serveru MySQL verze nt-max. Server byl nainstalován pod operačním systémem MS Windows XP na lokálním počítači.

29 Informační systém pro podporu obchodní činnosti Strana 29 4 SPECIFIKACE POŽADAVKŮ 4.1 MOMENTÁLNÍ STAV V současnosti není ve firmě zaveden žádný informační systém. Internetový obchod využívá placeného webhostingu. Aplikace internetového obchodu je spuštěna nad databázovým serverem MySQL verze Ke vkládání produktů do databáze se používá webové rozhraní. Databáze obsahuje záznamy o zboží a vytvořených objednávkách. Objednávky jsou posílány z webové aplikace internetového obchodu na firemní . Faktury jsou vytvářeny v tabulkovém procesoru MS Excel. Firma se rozhodla kvůli zjednodušení a zároveň i k zefektivnění obchodní činnosti zavést informační systém, který by komplexně obsluhoval internetový obchod. 4.2 POŽADAVKY NA SYSTÉM Aplikace má pracovat pod operačním systémem MS Windows XP a má používat stávající databázi MySQL. Základním požadavkem je rozšíření databáze o evidenci zákazníků a archivaci faktur. Systém má automaticky zjišťovat nové objednávky, umožňovat jejich snadné vyřizování a tisk souvisejících faktur. Dalším požadavkem je zobrazování statistických údajů o prodejích (vystavených fakturách) za určité období, a to o celkovém počtu prodejů, o prodejích tříděných podle výrobce a o průměrném počtu prodejů.

30

31 Informační systém pro podporu obchodní činnosti Strana 31 5 DATOVÁ A FUNKČNÍ ANALÝZA Cílem datové analýzy je vymezení datové základny, nad níž bude systém pracovat. Dále se analýza zabývá návrhem a realizací struktury datové základny. Analýza musí identifikovat charakteristiky objektů a určit vztahy mezi těmito objekty. Funkční analýza informačního systému se zaměřuje na shromáždění požadavků konečného uživatele pro vytvoření konceptuálního modelu, na identifikování hlavních činností systému a objektů hlavních činností. Datová a funkční analýza se navzájem doplňují a překrývají. 5.1 DATOVÝ MODEL SYSTÉMU Datová část využívá původní databázi typu MySQL. Pro kompatibilitu s původní databází je databáze rozšířena podle požadavků na funkce informačního systému. Informační systém zpracovává následující části: katalog zákazníků katalog produktů katalog výrobců katalog objednávek katalog faktur Tok dat v systému V diagramu toku dat (obr. 5) je znázorněn postup uskutečnění prodeje produktu. Zákazník vytváří podle předem vystavené nabídky objednávku. Existují tři typové možnosti postupu vystavování dokladů. Pokud si zákazník zvolí platbu převodem, je mu zaslána zálohová faktura. Po následném uskutečněném peněžním převodu potvrzeném bankou se vystaví faktura, která je přiložena k expedovanému zboží (obr. 5, činnosti 1 a 2). Při volbě zákazníka doručení zásilky zásilkovou službou ve formě dobírky je vystavena faktura. Ta je přiložena k expedovanému zboží (obr. 5, činnost 3). Poslední možností je platba při osobním odběru. Zákazník si po vytvoření objednávky osobně vyzvedne zboží a při přebírání je zaplatí. Systémem je v tomto případě vystavena faktura a příjmový pokladní doklad (obr. 5, činnosti 3 a 4).

32 Strana 32 Informační systém pro podporu obchodní činnosti Objednávka zákazníka 1 Vystavení zálohové faktury Nabídka obchodu Zálohová faktura Uhrazení zálohové faktury zákazníkem 2 Vystavení faktury Zálohová faktura Faktura Objednávka zákazníka 3 Vystavení faktury Nabídka obchodu Faktura Uhrazení faktury zákazníkem 4 Vystavení příjmového pokladního dokladu Faktura Příjmový pokladní doklad Obr. 5: Diagram toku dat Návrh datového modelu Základním stavebním prvkem datového modelu jsou entity, které popisují jednotlivé objekty systému. Každou entitu determinují vlastnosti, které nazýváme atributy. Entita Zákazníci Entita obsahuje informace o zákaznících. Prvním atributem je jedinečné číslo zákazníka. Je tu dále uvedeno jméno a příjmení zákazníka, respektive název společnosti,

33 Informační systém pro podporu obchodní činnosti Strana 33 kontaktní údaje, fakturační adresa a případně také informace o bankovním spojení. Entita Zákazníci vstupuje do vztahu s entitou Objednávky. Entita Produkty Produkty popisují objekty, které jsou předmětem prodeje. Každý produkt je v systému rozlišen jedinečným identifikátorem. Produkt je zařazen do kategorie produktů a přidružen k výrobci. Pro potřeby firmy se uchovává kód produktu, název produktu, ceny, reklamní popis produktu, údaje o poskytované slevě, o zařazení do kategorie produktů v obchodě, o aktuálním skladovém stavu produktu, o eventuální záruční době a status produktu v nabídce obchodu. Entita Produkty je v relaci s entitou Výrobci a také s entitou Objednávky. Entita Výrobci Tato entita uchovává informace o výrobcích produktů. Obsahuje jedinečný identifikátor výrobce v systému, název výrobce, adresu internetových stránek výrobce, poštovní a ovou adresu výrobce, údaje o kontaktní osobě a případné údaje o bankovním účtu. Je ve vztahu s entitou Produkty. Entita Objednávky Entita obsahuje informace o objednávkách. Každá objednávka je v systému rozlišena jedinečným identifikátorem. Dále je zde uvedeno unikátní číslo objednávky formátované podle potřeb firmy, identifikátor zákazníka, identifikátor způsobu platby, způsob doručení, datum vytvoření objednávky, celková cena objednávky, status vyřizování objednávky a případné datum expedování. Entita vstupuje do vztahu s entitami Produkty, Faktury a Zákazníci. Entita Faktury Faktury jsou základním dokumentem v obchodní činnosti. Systém je uchovává pod jedinečným identifikátorem. Další atributy určují číslo faktury podle firemního formátu, číslo relevantní objednávky, identifikátor zákazníka, identifikátor způsobu platby, datum vystavení, datum splatnosti a datum zaplacení faktury. Jsou zde i atributy pro identifikaci bankovního spojení a atribut identifikátoru statusu zaplacení faktury. Entita je v relaci s entitou Objednávky. 5.2 FUNKCE SYSTÉMU Podle požadavků uživatele obstarává informační systém zejména následující činnosti: Evidence zákazníků: v informačním systému jsou uchovávána data o zákazníkovi. Je možné přidávat data o nových zákaznících, měnit údaje o stávajících zákaznících a používat tyto údaje při vyřizování objednávek.

34 Strana 34 Informační systém pro podporu obchodní činnosti Evidence produktů: systém spravuje detailní informace o produktu, který je předmětem prodeje, umožňuje tyto informace měnit a zadávat do databáze data o nových produktech. Systém také kontroluje zásoby daného produktu na skladě, v případě potřeby doplnění skladu je možno měnit údaje o stavu skladových zásob. Informace o produktu a skladovém stavu lze použít při vyřizování objednávek. Vyřizování objednávek: pomocí systému je možno přijímat objednávky a vyřizovat je, případně vytvářet nové objednávky (například po telefonické domluvě). Systém pravidelně zjišťuje existenci nových objednávek. Udržuje také informaci o stavu objednávky (je definováno pět stavů: čeká na vyřízení, přijatá, vyřizuje se, expedovaná, stornovaná). Ze systému lze vytvářet doklady k vyřizovaným objednávkám a ukládat vystavené dokumenty. Evidence dokumentů: systém eviduje vystavené faktury a umožňuje jejich zpětné vyhledávání. Tisk dokumentů: ze systému je možno tisknout všechny potřebné doklady, tedy faktury, zálohové faktury, přehledy například o stavu skladu a statistické přehledy. Zpracování statistických údajů: systém poskytuje souhrnné statistické údaje za dané období. Vytváří statistiky o všech prodejích v Kč, o prodejích podle určitého výrobce a statistiky o počtu prodejů. 5.3 NÁVRH DATABÁZE Entita je v relační databázi reprezentována databázovou tabulkou nebo množinou tabulek se vzájemnými vztahy relacemi. Vztahy mezi tabulkami v systému se znázorňují pomocí E-R diagramů. Každá tabulka sestává z definovaných sloupců, které odpovídají atributům entity. Řádky tabulky odpovídají jednomu výskytu entity. Každá entita musí být jednoznačně identifikovatelná. K tomu slouží atribut nebo skupina atributů nazývaná identifikační klíč. Jestliže identifikační klíč identifikuje entitu jednoznačně, jde o jednoznačný klíč a takový klíč je zvolen jako primární klíč tabulky. Volí se vždy klíč složený z nejmenšího počtu atributů. V tabulce se vyskytuje vždy jen jeden primární klíč. Konkrétní výskyt vztahu mezi tabulkami je identifikován dvěma klíči v tabulce: primárním klíčem aktuální tabulky a primárním klíčem jiné tabulky, tzv. cizím klíčem Normalizace databáze Normalizace databáze je sada pravidel, podle které by se mělo postupovat při návrhu struktury databázových tabulek v relačních databázích. Normalizace pomáhá vyhnout se datovým anomáliím a pozdějším potenciálním problémům se správou dat. Základní myšlenkou normalizace je provést rozklad nenormalizovaného relačního schématu (tj. popisu

35 Informační systém pro podporu obchodní činnosti Strana 35 tabulek) do dílčích relačních schémat bez ztráty informace (bezeztrátová dekompozice). Technika normalizace vede: k eliminaci nadbytečnosti dat, a tedy k menší prostorové náročnosti databáze k usnadnění změny dat a zabránění vzniku anomálií při této činnosti k ulehčení zavádění omezení referenční integrity k vytváření snadno pochopitelné struktury, která je velice blízká situaci reprezentované daty a umožňuje další rozvinutí databáze. Proces normalizace dat je prováděn postupnými tzv. normalizačními kroky, přičemž vznikají jednotlivé normální formy. Je popsáno několik stupňů normalizace, ale používají se v podstatě jen první tři: 1. normální forma: tabulka neobsahuje žádné opakující se atributy, jsou definovány všechny klíčové atributy a všechny atributy závisejí na primárním klíči. V této fázi se obvykle aplikuje i požadavek atomičnosti atributů (jméno a příjmení místo celého jména). 2. normální forma: tabulka je v 1. normální formě a nezahrnuje žádné závislosti, kdy atribut závisí jen na části primárního klíče. Pokud se primární klíč skládá jen z jednoho atributu a tabulka je v 1. normální formě, pak je i v 2. normální formě. 3. normální forma: tabulka je v 2. normální formě a neobsahuje žádné tranzitivní závislosti, tedy když nějaký neklíčový atribut závisí na primárním klíči prostřednictvím jiného neklíčového atributu Návrh struktury databáze Podle výše popsaných entit a původní databáze byly navrženy struktury pro databázi systému. Použité původní tabulky byly případně rozšířeny podle požadavků na funkce systému. Primární klíče a cizí klíče v tabulkách začínají písmeny ID a primární klíče jsou vždy prvním atributem tabulky. Následující tabulky definují jednotlivé entity systému. Pole Atribut udává jméno atributu v tabulce, pole Datový typ udává název datového typu atributu používaný v databázi MySQL. Tabulky jsou v 3. normální formě. Atribut Datový typ Popis IDZakaznika INTEGER(6) Jedinečný identifikátor zákazníka Jmeno VARCHAR(25) Jméno Prijmeni VARCHAR(30) Příjmení Ulice VARCHAR(35) Fakturační adresa Mesto VARCHAR(35) Město

36 Strana 36 Informační systém pro podporu obchodní činnosti Atribut Datový typ Popis PSC VARCHAR(6) Poštovní směrovací číslo VARCHAR(40) ová adresa Telefon VARCHAR(24) Telefonní kontakt NazevSpol VARCHAR(40) Název společnosti ICO VARCHAR(8) Identifikační číslo organizace DIC VARCHAR(12) Daňové identifikační číslo BankUcet VARCHAR(40) Číslo bankovního účtu DatumReg INTEGER(11) Datum, kdy byl zákazník zaregistrován JePlatny TINYINT(1) Platnost záznamu v databázi Poznamka TEXT Poznámka o zákazníkovi Tab. 1: Tabulka tbl_zakaznici. Atribut Datový typ Popis IDProduktu INTEGER(6) Jedinečný identifikátor produktu IDKategorie MEDIUMINT(4) Identifikátor kategorie KodProduktu VARCHAR(15) Firemní kód produktu NazevProduktu VARCHAR(145) Prezentovaný název produktu PopisProduktu TEXT Reklamní popis produktu IDVyrobce SMALLINT(4) Identifikátor výrobce Zaruka SMALLINT(2) Záruka na produkt v měsících Jednotka VARCHAR(8) Měrná jednotka produktu (ks, kg, ) DatumPridani INTEGER(10) Datum přidání produktu do systému DatumAktualizace INTEGER(10) Datum poslední aktualizace záznamu DodaciLhuta TINYINT(4) Dodací lhůta produktu ve dnech Vyrazeno TINYINT(1) Indikace platnosti nabídky produktu Doporucujeme TINYINT(1) Indikace doporučovaného produktu Sleva DECIMAL(3,1) Sleva na produkt v %

37 Informační systém pro podporu obchodní činnosti Strana 37 Atribut Datový typ Popis DoporucenaCena DECIMAL(8,2) Doporučená cena výrobku Cenabdph DECIMAL(8,2) Prodejní cena bez DPH IDDph TINYINT(2) Identifikátor uvažované DPH SkladovaCena DECIMAL(8,2) Nákupní cena produktu na sklad KusuSkladem INTEGER(6) Počet produktů na skladě KusuObjednano INTEGER(6) Počet produktů objednaných zákazníky Tab. 2: Tabulka tbl_produkty. Obr. 6: Detailní schéma vztahů tabulky tbl_produkty. Atribut Datový typ Popis IDVyrobce SMALLINT(4) Jedinečný identifikátor výrobce NazevVyrobce VARCHAR(30) Název výrobce URLVyrobce VARCHAR(40) Internetové stránky výrobce

38 Strana 38 Informační systém pro podporu obchodní činnosti Atribut Datový typ Popis Ulice VARCHAR(35) Sídlo výrobce Mesto VARCHAR(35) Město sídla výrobce PSC VARCHAR(6) Poštovní směrovací číslo VARCHAR(40) ová adresa Telefon VARCHAR(24) Kontaktní telefon KontaktJmeno VARCHAR(50) Jméno kontaktní osoby ICO VARCHAR(8) Identifikační číslo organizace DIC VARCHAR(12) Daňové identifikační číslo BankUcet VARCHAR(40) Číslo bankovního účtu Poznamka TEXT Poznámka o výrobci Tab. 3: Tabulka tbl_vyrobci. Atribut Datový typ Popis IDObjednavky INTEGER(6) Jedinečný identifikátor objednávky CisloObjednavky INTEGER(10) Číslo objednávky podle firemního formátu IDZakaznika INTEGER(6) Identifikátor zákazníka IDPlatby SMALLINT(4) Identifikátor typu platby IDDoruceni SMALLINT(4) Identifikátor způsobu doručení Datum INTEGER(10) Datum přijetí objednávky Cenabdph DECIMAL(8,2) Cena bez DPH Poznamka TEXT Poznámka k objednávce IDStatusu TINYINT(2) Identifikátor stavu vyřizování objednávky Expedovano INTEGER(10) Datum expedice objednávky BylaZobrazena TINYINT(1) Ukazatel zobrazení objednávky Tab. 4: Tabulka tbl_objednavky.

39 Informační systém pro podporu obchodní činnosti Strana 39 Obr. 7: Detailní schéma vztahů tabulky tbl_objednavky. Atribut Datový typ Popis IDPolozky INTEGER(6) Jedinečný identifikátor položky objednávky IDObjednavky INTEGER(6) Identifikátor objednávky IDProduktu INTEGER(6) Identifikátor produktu KodProduktu VARCHAR(15) Kód produktu ve firemním formátu NazevProduktu VARCHAR (100) Prezentovaný název produktu Cenabdph DECIMAL(8,2) Účtovaná cena bez DPH Sleva DECIMAL(3,1) Sleva na produkt v době objednávky DPH TINYINT(2) Uvažovaná DPH PocetKs DECIMAL(7,2) Objednaný počet kusů produktu Jednotka VARCHAR(5) Měrná jednotka produktu Tab. 5: Tabulka tbl_objednavky_polozky.

40 Strana 40 Informační systém pro podporu obchodní činnosti Atribut Datový typ Popis IDFaktury INTEGER(6) Jedinečný identifikátor faktury CisloFaktury INTEGER(10) Číslo faktury podle firemního formátu IDObjednavky INTEGER(6) Identifikátor objednávky IDPlatby SMALLINT(4) Identifikátor typu platby DatumVystaveni INTEGER(10) Datum vystavení faktury DatumSplatnosti INTEGER(10) Datum splatnosti faktury DatumZaplaceni INTEGER(10) Datum zaplacení faktury VarSymbol INTEGER(8) Variabilní symbol KonstSymbol INTEGER(4) Konstantní symbol Cenabdph DECIMAL(8,2) Cena bez DPH Poznamka TEXT Poznámka k faktuře IDStatusu TINYINT(1) Stav faktury (zaplacená, nezaplacená, ) Zaloha DECIMAL(8,2) Případná záloha Sleva DECIMAL(3,1) Sleva na fakturu v procentech Tab. 6: Tabulka tbl_faktury. Obr. 8: Detailní schéma vztahů tabulky tbl_faktury.

41 Informační systém pro podporu obchodní činnosti Strana 41 Atribut Datový typ Popis IDKategorie INTEGER(4) Jedinečný identifikátor kategorie ParentKat INTEGER(4) Identifikátor nadřazené kategorie NazevKat VARCHAR(100) Prezentovaný název kategorie StatusKat TINYINT(1) Indikace prezentování kategorie Tab. 7: Tabulka tbl_kategorie. Atribut Datový typ Popis IDPlatby SMALLINT(4) Jedinečný identifikátor platby NazevPlatby VARCHAR(60) Prezentovaný název platby PopisPlatby TEXT Prezentovaný popis platby JePlatny TINYINT(1) Platnost způsobu platby Tab. 8: Tabulka tbl_platby. Atribut Datový typ Popis IDDoruceni SMALLINT(4) Jedinečný identifikátor způsobu doručení NazevDoruceni VARCHAR (60) Prezentovaný název způsobu doručení CenovyLimit DECIMAL(5,2) Limit zvýhodněné ceny CenaPodLimit DECIMAL(4,2) Účtovaná cena pod cenovým limitem CenaNadLimit DECIMAL(4,2) Účtovaná cena nad cenovým limitem Popis TEXT Prezentovaný popis způsobu doručení JePlatny TINYINT(1) Platnost způsobu doručení Tab. 9: Tabulka tbl_doruceni. Atribut Datový typ Popis IDDPH SMALLINT(4) Jedinečný identifikátor DPH NazevDPH VARCHAR(60) Název DPH DPH DECIMAL(4,2) Uvažovaná hodnota DPH v % PopisDPH VARCHAR(255) Prezentovaný popis DPH JePlatny TINYINT(1) Platnost typu DPH v systému Tab. 10: Tabulka tbl_dph.

42 Strana 42 Informační systém pro podporu obchodní činnosti Obr. 9: E-R diagram entit. Atribut Datový typ Popis IDStatusu TINYINT(2) Jedinečný identifikátor statusu objednávky NazevStatusu VARCHAR (20) Prezentovaný název statusu objednávky JePlatny TINYINT(1) Platnost statusu objednávky Tab. 11: Tabulka tbl_objednavky_statusy. Atribut Datový typ Popis IDStatusu TINYINT(2) Jedinečný identifikátor statusu faktury NazevStatusu VARCHAR (20) Prezentovaný název statusu faktury JePlatny TINYINT(1) Platnost statusu faktury Tab. 12: Tabulka tbl_faktury_statusy.

43 Informační systém pro podporu obchodní činnosti Strana 43 6 IMPLEMENTACE Implementace navrženého systému probíhá v několika krocích: Prvním krokem je vytvoření databáze na serveru, tedy definice tabulek a jejich atributů. V další fázi se pro jednotlivé entity vytvoří odpovídající datové třídy. Následuje navržení grafického rozhraní aplikace a chování jednotlivých ovládacích prvků. Posledním krokem je napojení nevizuálních komponent datových tříd na komponenty vizuální, tedy na grafické rozhraní. 6.1 VYTVOŘENÍ DATABÁZE Databáze je vytvořena přesně podle návrhu její struktury (viz kap ) Tvorba tabulek Tabulky lze nejjednoduššeji vytvořit pomocí skriptu. Je to textový soubor (standardně s příponou.sql), který obsahuje jednotlivé příkazy v jazyce SQL na vytvoření struktury databáze. Následuje ukázková definice struktury tabulky tbl_zakaznici v generovacím skriptu struktura.sql: CREATE TABLE `tbl_zakaznici` ( `idzakaznika` int(6) NOT NULL auto_increment, `jmeno` varchar(25) NOT NULL default '', `prijmeni` varchar(30) NOT NULL default '', `ulice` varchar(35) NOT NULL default '', `mesto` varchar(35) NOT NULL default '', `psc` varchar(6) NOT NULL default '', ` ` varchar(40) NOT NULL default '', `telefon` varchar(24) NOT NULL default '', `nazevspol` varchar(40) NOT NULL default '', `ico` varchar(8) NOT NULL default '', `dic` varchar(12) NOT NULL default '', `bankucet` varchar(40) NOT NULL default '',

44 Strana 44 Informační systém pro podporu obchodní činnosti `datum_reg` int(11), `poznamka` text NOT NULL default '', `jeplatny` tinyint(1) NOT NULL default '1', PRIMARY KEY (`idzakaznika`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2; Jednotlivé atributy mají odpovídající typ. Primárním klíčem tabulky je jednoznačný identifikátor idzakaznika typu int (celé číslo). Má zadán příkaz pro automatickou inkrementaci. Poté co server MySQL takto vytvoří tabulku, pamatuje si poslední použité číslo (i když je naposledy vložený záznam vymazán) a automaticky číslo při vkládání nového záznamu o 1 zvyšuje. Počáteční hodnotou číselné řady je 1. Řetězcové atributy jsou vytvořeny jako varchar (pole znaků dynamické délky) s udanou maximální délkou pole. Tento typ se používá, aby se ušetřil diskový prostor obsazený databází. Maximální délka řetězce vychází ze znalosti zadávaných dat a měla by ve všech případech plně dostačovat pro uchování potřebných informací. Pokud atributu není při vkládání nového záznamu přiřazena hodnota, server MySQL na jeho místo vloží prázdný řetězec (''). Atribut popisující datum je celočíselného typu. Ukládá se v něm údaj o datu známý z unixových systémů. Jde o počet sekund, které uběhly od půlnoci Při čtení a ukládání atributu se používají funkce serveru pro převod dat FROM_UNIXTIME a UNIX_TIMESTAMP. Pokud není datum při vkládání nového záznamu definováno, nabývá pole hodnoty NULL. Tento datový typ byl použit s ohledem na kompatibilitu s původní databází. Konec příkazu vytvářejícího strukturu tabulky udává použitý typ tabulky. Zde je zvolen typ InnoDB, protože umožňuje komunikovat mezi klientem a databází MySQL v bezpečném přenosovém režimu v režimu transakcí. Databáze MySQL umožňuje nastavit pro každou tabulku znakovou sadu, ve které se data ukládají. Aby zobrazování a používání českých znaků s diakritickými znaménky bylo bezproblémové, nastavuje se pro všechny tabulky znaková sada Latin2 (ISO ). 6.2 DATOVÉ TŘÍDY Datový modul DModul je datový modul typu TDataModule. Třída TDataModule se v Delphi používá ke sdružování nevizuálních, zpravidla datových komponent aplikace. Je zde umístěna stěžejní komponenta ZConnection, pomocí níž se aplikace připojuje k databázi. Tuto komponentu dále využívají ostatní datové komponenty pro komunikaci

45 Informační systém pro podporu obchodní činnosti Strana 45 s databází. ZConnection obsahuje parametr Hostname, který udává IP adresu nebo DNS jméno serveru v síti. Dále jsou zde přihlašovací údaje User a Password, jméno používané databáze Database a parametr TransactIsolationLevel definující transakční úroveň. V této aplikaci bylo použito transakční úrovně Read Committed. Pro správnou funkci přenosu dat s českou diakritikou je nutno po vytvoření spojení vhodně nastavit proměnné serveru. To bylo ošetřeno v události komponenty ZConnection AfterConnect SQL dotazem SET NAMES Latin2, který se vykonává ihned po připojení aplikace k databázi. Dotaz nastavuje proměnné serveru character_set_client, character_set_connection a character_set_results na hodnotu Latin2. Ostatní komponenty v DModulu jsou dotazovací nástroje přistupující k databázi pomocí dotazů jazyka SQL. Jejich prostřednictvím se přistupuje v aplikaci k vlastním záznamům databáze. Obr. 10: DModul a datové komponenty Třída Class_Generic Práce s jednotlivými záznamy v odlišných tabulkách je v zásadě velmi podobná. Používá se vkládání nových záznamů, dále pak změna stávajících a rušení nepotřebných záznamů. Tyto operace se liší atributy v jednotlivých tabulkách, a tedy i použitým SQL

46 Strana 46 Informační systém pro podporu obchodní činnosti dotazem. Užívaný postup je vždy stejný, a proto je jako schéma vytvořena rodičovská třída Class_Generic. Z ní dědí vlastnosti a metody ostatní třídy, jež odpovídají operacím s jednotlivými tabulkami. Jsou to třídy: ClassDPH ClassFaktura ClassKategorie ClassObjednavka ClassPolozkyObj ClassProdukt ClassStatusFaktury ClassStatusObj ClassVyrobci ClassZakaznik ClassZpusobDoruceni ClassZpusobPlatby Chráněné metody třídy Class_Generic: procedure NaplnPolozky; virtual; abstract; metoda připravená pro naplnění vlastností třídy, které odpovídají atributům relevantní tabulky procedure NaplnSeznamy(NazevSloupce,ID,Value:string); virtual; abstract; metoda připravená pro naplnění seznamů ListNames, ListIDs a ListValues příslušnými daty function NaplnSQL(SQLString:string):string; virtual; abstract; metoda využívaná k vytvoření správného SQL dotazu odpovídajícího zpracovávané tabulce function Proved(SQL:string): boolean; virtual; metoda provádí zadaný výkonný SQL dotaz. Veřejné vlastnosti a metody třídy Class_Generic: ListNames:TStringList; vlastnost pro ukládání seznamu názvů, příp. seznamu jmen ListIDs:TStringList; vlastnost, kam se ukládá seznam identifikátorů záznamů odpovídajících položkám vlastnosti ListNames ListValues:TStringList; do vlastnosti se ukládá případný seznam hodnot položek příslušných vlastnosti ListNames function NactiPolozky(SQL:string):boolean; virtual; abstract; funkce, která je volána aplikací při požadavku načtení atributů záznamu

47 Informační systém pro podporu obchodní činnosti Strana 47 function NactiSeznamy(SQL,nazevsloupce,ID,Value:string):boolean; virtual; abstract; funkce je volána při požadavku načtení položek do seznamů ListNames, ListIDs a ListValues function DecimalPointConvert(cena:currency):string; funkce řeší problém s ukládáním záznamu typu currency (měna), ve kterém je kvůli nastavení formátů čísel v systému Windows pro Českou republiku jako oddělovač desetinných míst použita čárka místo serverem užívané tečky procedure Init; virtual; abstract; metoda je připravena na nastavení vlastnosti třídy na výchozí hodnotu, číselné vlastnosti na nulu, řetězcové na prázdný řetězec ('') a datum na hodnotu Třída ClassObjednavka Třída ClassObjednavka je děděna z třídy Class_Generic. Rozšiřuje rodičovskou třídu o vlastnosti a metody související s operacemi nad tabulkou tbl_objednavky. Veřejné vlastnosti a metody třídy ClassObjednavka: vlastnosti třídy: jména vlastností jsou shodná s příslušnými atributy tabulky tbl_objednavka a mají odpovídající datové typy function SmazID(id:integer):boolean; funkce podle zadaného identifikátoru označí položku z tabulky tbl_objednavky jako stornovanou a vrátí úspěšnost celé operace function UlozID(id:integer):boolean; podle zadaného argumentu id uloží položku do tabulky tbl_objednavky. Pokud je identifikátor id roven 0, vytvoří položku novou, v opačném případě aktualizuje položku s identifikátorem idobjednavky, který se rovná argumentu funkce id function NactiPolozky(SQL:string):boolean; override; funkce naplní podle zadaného SQL dotazu jednotlivé vlastnosti třídy function NactiSeznamy(SQL,nazevsloupce,ID,Value:string):boolean; override; funkce načte podle zadaného SQL dotazu a argumentů seznam položek do zděděných vlastností ListNames, ListIDs a ListValues procedure Init; virtual; override; metoda nastavuje vlastnosti třídy na výchozí hodnotu (viz kap ). Třída ClassObjednavka využívá všechny vlastnosti a metody třídy Class_Generic. Třída také používá k práci s databází nevizuální komponentu ZQueryObj, jež je obsažena v datovém modulu DModul.

48 Strana 48 Informační systém pro podporu obchodní činnosti Ostatní datové třídy Příslušnosti k jednotlivým tabulkám napovídají názvy tříd (viz kap ). Těla, tedy vlastnosti a metody ostatních tříd, jsou analogická a spravují odpovídající tabulku databáze. 6.3 KONFIGURACE APLIKACE Uživatel může v aplikaci modifikovat různá nastavení chování systému, ať už jde o chování grafického rozhraní nebo o jiná nastavení. Vše lze v aplikaci pohodlně měnit přes menu Nastavení. Správu konfiguračních dat obstarávají třídy TSchemata a TNastaveni Třída TSchemata Tato třída za běhu aplikace udržuje informace o uložených připojeních k databázím. Veřejnými vlastnostmi třídy jsou například Nazev, Server, Databaze, Uzivatel atd. Tyto vlastnosti jsou objekty typu TStringList a obsahují seznamy jednotlivých položek potřebných při připojování k databázi Konfigurační soubor Nastavení aplikace se ukládá do souboru konfigurace ISystem.ini. Jde o soubor typu INI používaný běžně v operačním systému MS Windows. Soubor obsahuje popis schémat připojení k databázím (viz kap ) a informace o nastavení programu (viz kap ) Třída TNastaveni V třídě TNastavení se shromažďují informace o uživatelském nastavení programu. Třída obsluhuje čtení a ukládání dat do konfiguračního souboru (viz kap ). Obsahuje ale hlavně vlastnosti popisující chování grafického prostředí aplikace, jako například nastavení automatického zarovnávání sloupců v tabulkách, zobrazování detailu aktuálně vybrané položky v tabulce nebo nastavení automatického obnovování dat z databáze v určitém časovém intervalu. Při spuštění aplikace se načte konfigurační soubor s uloženým nastavením. Pokud v souboru nejsou žádná nastavení k dispozici, anebo soubor neexistuje, použijí se hodnoty přednastavené v aplikaci. Při ukončování běhu programu se aktuálně nastavené parametry uloží.

49 Informační systém pro podporu obchodní činnosti Strana GRAFICKÉ ROZHRANÍ APLIKACE K interakci uživatele s aplikací se používá její grafické rozhraní. Aplikace je vytvořena jako typ MDI. Obsahuje tedy možnost zobrazit na své ploše mnoho formulářů, které se používají k modifikaci dat databáze Hlavní formulář aplikace Po spuštění programu se zobrazí hlavní formulář (obr. 11). V titulkovém pruhu je vedle názvu aplikace umístěna informace o aktuálním datu a systémovém čase. Z menu okna jsou přístupné veškeré položky obsluhující zobrazování jednotlivých dceřiných oken. Pro zobrazení oken lze také použít navigační panel v levé části formuláře s nabídkou akcí. Obr. 11: Hlavní formulář. Na liště pod položkami menu jsou umístěny nástroje pro připojení k databázi. Z rozbalovacího pole lze vybrat název uloženého připojení a sousedícími tlačítky spojení navázat nebo zrušit.

50 Strana 50 Informační systém pro podporu obchodní činnosti Dalšími objekty na liště jsou tlačítka pro snadný přístup k zobrazení přednastavené internetové stránky a k spuštění zvoleného ového klienta. Internetová stránka je otevřena v implicitním internetovém prohlížeči, ovým klientem může být program na lokálním počítači nebo internetová stránka. Na pravé straně lišty je pro informaci zobrazen týdenní kalendář. Po kliknutí na něj se zobrazí okno s kalendářem měsíčním Připojení Před navázáním spojení jsou aplikací požadovány login a heslo pro přístup k databázi. Po připojení aktualizuje aplikace automaticky obsah případných otevřených podoken. Od této chvíle je možno pracovat s informacemi databáze. Obr. 12: Přihlašovací okno připojení k databázi Formuláře entit Kliknutím na požadovanou položku v navigačním panelu se otevře příslušné podokno entity s přehlednou tabulkou, která zobrazuje nejdůležitější informace (obr. 13). V horní části dceřiného okna se nacházejí tlačítka pro vytvoření nové položky a pro opětovné načtení tabulky. Dále je zde tlačítko pro tisk obsahu tabulky a tlačítka pro import a export záznamů z a do souboru ve formátu CSV. Jde o jednoduchý formát určený pro výměnu dat. Jednotlivé záznamy jsou v něm uchovávány na samostatných řádcích, položky záznamu jsou odděleny definovaným oddělovačem (například čárkou či středníkem). Tento formát podporuje většina databázových systémů. Pro vyhledávání v tabulce slouží textové pole, do kterého lze zadat počáteční znaky hledaného řetězce. Po potvrzení požadovaného řetězce klávesou Enter nebo po stisknutí tlačítka Najít se v tabulce v aktuálně zvoleném sloupci najde první položka odpovídající zadání. Kliknutím pravého tlačítka myši na záznam v tabulce se zobrazí PopUp nabídka. Umožňuje správu jednotlivých položek podobně jako nástrojový panel formuláře. Po vybrání akce Detail z PopUp nabídky, po stisknutí klávesy Enter v tabulce nebo po dvojkliku na vybraný záznam tabulky se otevře modální okno se všemi dostupnými informacemi (obr. 14).

51 Informační systém pro podporu obchodní činnosti Strana 51 Obr. 13: Formulář pro správu zákazníků. Obr. 14: Detail záznamu o zákazníkovi.

52 Strana 52 Informační systém pro podporu obchodní činnosti Formulář Editace objednávky Detail objednávky se svou strukturou od většiny oken detailů liší (obr. 15). Obsahuje veškeré potřebné informace o přijaté objednávce. V případě potřeby se pomocí něj také nová objednávka zadává. V horní části okna je uvedeno číslo objednávky, lze nastavovat statusy objednávky a způsob doručení zboží. Celková cena objednávky se aktualizuje v závislosti na nastavených pravidlech, která ošetřují připočítávání poštovného k zakázce. Napravo od informací o objednávce jsou zobrazeny údaje o kupujícím zákazníkovi. Zákazníka je možné v případě nové objednávky vyhledat přes tlačítko Najít. Střední část okna je vyhrazena položkám objednávky. Zobrazují se zde důležitá data o kusových cenách položek, o objednávaném množství a o celkové ceně za jednotlivé položky. Je zde také uvedena výše případné procentuální slevy, jež byla na zboží poskytována obchodem v době objednávky. Tlačítkem nebo prostřednictvím PopUp menu lze položky přidávat, případně stávající položky měnit nebo odstraňovat. Ve spodu okna se zobrazují údaje o celkové ceně položek a o konečné ceně zahrnující poplatek za doručení a haléřové vyrovnání. Obr. 15: Formulář Editace objednávky.

53 Informační systém pro podporu obchodní činnosti Strana Formulář Editace faktury Otevřít formulář pro vytvoření či úpravu faktury lze dvěma způsoby. Buď se vytvoří nová faktura z objednávky přes tlačítko Fakturace v okně Editace objednávky (viz kap ), nebo se otevře existující faktura z okna zobrazujícího seznam vystavených faktur. Okno (obr. 16) zobrazuje číslo objednávky, na jejímž základě je faktura vystavena, číslo faktury, způsob doručení, údaje o zákazníkovi a seznam fakturovaných položek. Dále jsou zde zobrazena data vystavení, splatnosti a zaplacení, konstantní symbol, procentuální sleva a záloha. Tyto položky může uživatel měnit. Variabilní symbol je shodný s číslem faktury. Posledními údaji jsou v tomto okně součet cen všech položek a celková suma k úhradě. Částky se při změně slevy a zálohy automaticky přepočítávají. Posledním krokem k dokončení fakturace je vytištění faktury. To proběhne po stisknutí tlačítka Faktura v oblasti Tisk. Pokud zákazník platí při osobním vyzvednutí zboží, je k dispozici tisk Příjmového daňového dokladu. Obr. 16: Formulář Editace faktury.

54 Strana 54 Informační systém pro podporu obchodní činnosti Faktura Základním tiskovým výstupem systému je faktura. Jde o daňový dokument, který obsahuje všechny náležitosti související s uskutečněním obchodního styku. Na faktuře jsou uvedeny adresy obou obchodujících stran. Umístění jména a adresy odběratele zboží je zvoleno tak, aby bylo možno použít typizovanou obálku formátu DL s okénkem v adresové části (obr. 17). Dále faktura obsahuje seznam fakturovaných položek s odpovídajícími cenami a celkovou cenou fakturovaného zboží s údajem o koncové platební povinnosti odběratele. Obr. 17: Ukázka části vytištěné faktury.

55 Informační systém pro podporu obchodní činnosti Strana Statistiky Aplikace zpracovává statistické údaje o prodejích. V okně statistiky lze v horní liště měnit sledované období prodejů. Stisknutím tlačítka Dodnes se nastaví v poli konce období aktuální datum. Statistika se zobrazuje buď v přehledné tabulce, nebo v grafu (obr. 18). Zobrazení se volí zaškrtnutím pole Graf. Obr. 18: Graf statistiky prodejů Uživatelská nastavení Aplikace dovoluje uživatelské nastavení chování různých prvků (viz kap. 6.3). K tomu slouží položky z menu Nastavení. Kromě chování vizuálních prvků, jako je například zarovnávání sloupců, umožňuje nastavit nutné parametry pro připojení k databázi. K nastavování chování aplikace slouží modální okno Nastavení prostředí. Obsahuje záložky s nastavením pro odpovídající okna aplikace a umožňuje také nastavit chování uživatelských tlačítek a možností tisku. Pomocí přehledného dialogu Nastavení připojení se nastavují jednotlivá schémata připojení (obr. 18). Příslušné akce se provádějí přes tlačítka ve spodní části okna. Pro každou uvažovanou databázi je třeba zadat název firmy (název schématu), DNS název nebo IP adresu hostitelského serveru, na němž se nachází databázový systém, dále jméno databáze, ke které aplikace bude přistupovat, a uživatelské jméno pro připojení k databázi. Heslo není z bezpečnostních důvodů ukládáno a je nutné ho před každým připojením zadat.

56 Strana 56 Informační systém pro podporu obchodní činnosti Pokud na serveru není databáze vytvořena, je možné použít tlačítko Vytvořit databázi. Systém se pokusí připojit k serveru, zkontroluje, zda databáze skutečně neexistuje, a poté ji vytvoří. Obr. 18: Dialogové okno pro nastavení připojení. 6.5 INSTALACE A POŽADOVANÉ PROSTŘEDKY Pro snadné zahájení práce s aplikací byl vytvořen instalační balíček, který nainstaluje informační systém do počítače. Aplikace je určena pro spouštění pod operačním systémem MS Windows XP. Předpokládá možnost spojení se serverem MySQL min. verze 4.1, který podporuje transakční přístup. Pokud nejsou transakce podporovány (například z důvodu existující databáze s tabulkami typu MyISAM), je aplikace plně funkční, avšak není zajištěna integrita dat, například při společném přístupu více instancí aplikace k databázi.

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

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087 Databázové a informační systémy Informační systém prodejny nábytku Jakub Kamrla, KAM087 1. část Funkční a nefunkční požadavky 1. K čemu má systém sloužit Jedná se o informační systém pro jednu nejmenovanou

Více

Databáze I. 5. přednáška. Helena Palovská

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

FIREBIRD relační databázový systém. Tomáš Svoboda

FIREBIRD relační databázový systém. Tomáš Svoboda FIREBIRD relační databázový systém Tomáš Svoboda xsvobo13@fi.muni.cz Firebird historie 80. léta - Jim Starkey (DEC) InterBase 1994 - odkoupila firma Borland 2000 - Borland uvolnil zdrojové texty InterBase

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ

ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ ARCHITEKTURA INFORMAČNÍCH SYSTÉMŮ PODLE ÚROVNĚ ŘÍZENÍ Podle toho, zda informační systém funguje na operativní, taktické nebo strategické řídicí úrovni, můžeme systémy rozdělit do skupin. Tuto pyramidu

Více

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL Petr Štefan Václav Trunec, KP-sys, Čacké 155, Pardubice 1 Úvod Firma KP-SYS spol. s r. o. dodává na náš trh integrované

Více

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

Více

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19 3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,

Více

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source Univerzální datové rozhraní UDS for ELO UDS pro ELO je univerzální datové rozhraní, schopné napojit systém pro archivaci a správu dokumentů ELO na libovolný datový zdroj a to bez nutnosti programování.

Více

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Microsoft Access tvorba databáze jednoduše

Microsoft Access tvorba databáze jednoduše Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních

Více

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen 18.5.1974 základní informace Databázové systémy Úvodní přednáška předměty: KI/DSY (B1801 Informatika - dvouoborová) KI/P502 (B1802 Aplikovaná informatika) ukončení: Zápočet + Zkouška / 5kb ki.ujep.cz termínovník,

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Modelování procesů s využitím MS Visio.

Modelování procesů s využitím MS Visio. Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Daniel Klimeš Autor, Název akce 1 About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2,

Více

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

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3bph)

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3bph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3bph) 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Zdroje Studijní materiály Heleny Palovské

Více

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Architektury Informačních systémů. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

Vývoj IS - strukturované paradigma II

Vývoj IS - strukturované paradigma II Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 05 1/18 Vývoj IS - strukturované paradigma II Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta informačních

Více

SQL - trigger, Databázové modelování

SQL - trigger, Databázové modelování 6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Allegro účetnictví. Schéma účetního modulu. Podstatné vlastnosti. Allegro Business Solution Účetnictví

Allegro účetnictví. Schéma účetního modulu. Podstatné vlastnosti. Allegro Business Solution Účetnictví Allegro účetnictví Obsahuje zákonem vyžadované agendy podvojného účetnictví a tvoří jádro celého systému. Standardní bloky zahrnují účetní knihu, faktury přijaté a vydané, banky, pokladny a přiznání DPH.

Více

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:

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: Úvod do databází Základní pojmy Databáze je množina záznamů, kterou shromažďujeme za nějakým konkrétním účelem. Databáze používáme zejména pro ukládání obsáhlých informací. Databázové systémy jsou k dispozici

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

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

Úvod do databázových systémů. Ing. Jan Šudřich Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1. Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Architektury Informačních systémů. Jaroslav Žáček

Architektury Informačních systémů. Jaroslav Žáček Architektury Informačních systémů Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nutné pojmy Co je to informační systém? Jaké oblasti zahrnuje? Jaká je vazba IS na podnikovou strategii?

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Anotace sady: Dynamické internetové stránky, VY_32_INOVACE_PRG_PHP_01 Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Stupeň a typ vzdělávání: gymnaziální vzdělávání, 4. ročník

Více

Jak používat statistiky položkové v systému WinShop Std.

Jak používat statistiky položkové v systému WinShop Std. Jak používat statistiky položkové v systému WinShop Std. Systém WinShop Std. využívá k zápisům jednotlivých realizovaných pohybů (příjem zboží, dodací listy, výdejky, převodky, prodej zboží na pokladně..)

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např. 2 přednáška 2 října 2012 10:32 Souborově orientované uchování dat Slabý HW Není možné uchovávat "velká data" - maximálně řádově jednotky MB Na každou úlohu samostatná aplikace, která má samostatná data

Více

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Úvod do databázových systémů

Úvod do databázových systémů Úvod do databázových systémů Databáze je dnes velmi často skloňovaným slovem. Co se pod tímto termínem skrývá si vysvětlíme na několika následujících stranách a cvičeních. Databáze se využívají k ukládání

Více

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy Úloha 1 Zkratka ERP jako celopodniková transakční aplikace znamená: a. Enterprise Route Planning b. Enterprise Resource Planning c. Enterprise Re-implementation Planning d. Enterprise Resource Processing

Více

Databázové a informační systémy Jana Šarmanová

Databázové a informační systémy Jana Šarmanová Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat

Více

4IT218 Databáze. 4IT218 Databáze

4IT218 Databáze. 4IT218 Databáze 4IT218 Databáze Osmá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Osmá přednáška Normalizace dat - dokončení Transakce v databázovém zpracování Program přednášek

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

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

Databáze I. 1. přednáška. Helena Palovská Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat

Více

Delphi - objektově orientované

Delphi - objektově orientované Kapitola 6 Delphi - objektově orientované programování Objektově orientované programování (zkracováno na OOP, z anglického Object oriented programming) je metodika vývoje softwaru, založená na těchto myšlenkách,

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací Obsah přednášky Databázové systémy Logický model databáze normalizace relací normální formy tabulek 0NF, 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DNF denormalizace zápis tabulek relační algebra klasické operace

Více

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

CASE nástroje. Jaroslav Žáček

CASE nástroje. Jaroslav Žáček CASE nástroje Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Co znamená CASE? A CASE tool is a computer-based product aimed at supporting one or more software engineering activities within

Více

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

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou: Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).

Více

Institut elektronických aplikací, s.r.o. Stránka 1 z 7. AVEPOP - Automatický Výdej a Evidence Pracovních a Ochranných Prostředků

Institut elektronických aplikací, s.r.o. Stránka 1 z 7. AVEPOP - Automatický Výdej a Evidence Pracovních a Ochranných Prostředků Institut elektronických aplikací, s.r.o. Stránka 1 z 7 AVEPOP - Automatický Výdej a Evidence Pracovních a Ochranných Prostředků Automaty na výdej a evidenci osobních ochranných a pracovních prostředků

Více

IS Restaurace. Semestrální práce. Tomáš Rumíšek V Brně dne 7. 1. 2014 Peter Ševčík

IS Restaurace. Semestrální práce. Tomáš Rumíšek V Brně dne 7. 1. 2014 Peter Ševčík IS Restaurace Semestrální práce Tomáš Rumíšek V Brně dne 7. 1. 2014 Peter Ševčík 1 1. Obsah 2. Neformální specifikace... 3 Informační systém Restaurace... 3 3. Formální specifikace... 3 Funkční požadavky...

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Úvodní přednáška. Význam a historie PIS

Úvodní přednáška. Význam a historie PIS Úvodní přednáška Význam a historie PIS Systémy na podporu rozhodování Manažerský informační systém Manažerské rozhodování Srovnávání, vyhodnocování, kontrola INFORMACE ROZHODOVÁNÍ organizace Rozhodovacích

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

DUM 12 téma: Příkazy pro tvorbu databáze

DUM 12 téma: Příkazy pro tvorbu databáze DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR): Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit

Více

Objekty, třídy, vazby 2006 UOMO 30

Objekty, třídy, vazby 2006 UOMO 30 Objekty, třídy, vazby 2006 UOMO 30 Osnova Vymezení pojmu objekt Objekt a základní objektové koncepty Třídy, třída vs. objekt Vztahy mezi objekty, vazby mezi třídami Polymorfismus 2006 UOMO 31 Vymezení

Více

Objektově orientované databáze. Miroslav Beneš

Objektově orientované databáze. Miroslav Beneš Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace

Více

PŘEHLED FUNKCÍ PROGRAMU KROK ZA KROKEM

PŘEHLED FUNKCÍ PROGRAMU KROK ZA KROKEM PŘEHLED FUNKCÍ PROGRAMU KROK ZA KROKEM Základní informace: Program byl konstruován především pro komplexní zpracování zakázek ve společnosti. Je postaven obecně, specializované funkce byly však přizpůsobeny

Více

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

10 Metody a metodologie strukturované analýzy

10 Metody a metodologie strukturované analýzy 10 Metody a metodologie strukturované analýzy 10.1 Strukturovaná analýza DeMarco (1978) Nástroje: DFD, datový slovník, strukturovaná angličtina, rozhodovací tabulky a stromy Postup: 1. Analýza stávajícího

Více

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

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

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

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 Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Allegro obchodní doklady

Allegro obchodní doklady Allegro obchodní doklady Modul obchodních dokladů nabízí vše, co je zapotřebí pro obchodování menších a středních firem. K dispozici je evidence nákupu a objednávek materiálu, systém pokrývá celý prodejní

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK listopad 2009 souhrn v1 Červené dobře (nejspíš), modré možná Oracle Internet Directory OID: Databáze nemůže z OID přebírat seznam uživatelů *Databáze může získat z OID seznam

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

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

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více