Dnes: 21. ledna 2018    | Registrace | Hledáme | Redakce | Info | Testy | Školení | Ocenění | Nápověda | Čtenář: nepřihlášen

Rychlé odkazy
  • Hlavní stránka
  • Seznam rubrik
  • Ankety
  • Editoriály
  • TOP 15
  • KONFERENCE 2008
  • KONFERENCE 2007
  • KONFERENCE 2006
  • KONFERENCE 2005
  • KONFERENCE 2004
  • Sborník
  • Testy
  • Virtuální školení
  • Personalizace


  • Hledáte práci?
    Hledáme redaktora - pojďte s námi tvořit Databázový svět!

    Vyhledávání

    Hledej
    na Databázovém světě!



    Rozšířené vyhledávání

    Rubriky
    Aktuality
    Bezpečnost
    Business
    Česká scéna
    Datové sklady
    Dokumentace
    Dotazovací jazyky
    Hardware
    Historie
    Komentáře
    Literatura
    Metodologie
    Nondb
    Open Source
    Poradna
    Produkty
    Případové studie
    Redakce
    Rozhovory
    Standardy
    Technologie
    Tipy - triky
    Tiskové zprávy
    Vývoj
    Vývojové nástroje
    Zajímavosti

    Co je to?
    Datový sklad
    Tento pojem poprvé formuloval koncem 80. let William Inmon jako strategii přístupu k datům určeným pro rozsáhlé analýzy. V případě datového skladu hovoříme o historických, časově rozlišených, agregovaných, průběžně rozšiřovaných datech uspořádaných pro podporu potřeb managementu.

    Akce
    Dynamická Datová Centra
    - na semináři se seznámíte s komplexním řešením a koncepcí Dynamických Datových Center od Fujitsu Siemens Computers se speciálním důrazem na řešení FlexFrame.

    Textová inzerce
    IBPhoenix - Vše o InterBase a Firebirdu.

    Smějete se rádi? - Pak je pro vás Vtipník to pravé!

    Prodejce reklamy - Hledáme schopného prodejce reklamního prostoru, možnost i externí spolupráce.

    Přihlášený čtenář
    Nepřihlášený čtenář

    O portálu
    Databázový svět
    ISSN: 1213-5933

    Web je optimalizován pro rozlišení 1024x768, nicméně kromě větších rozlišení podporujeme i 800x600. Podrobnosti najdete zde.

    Chcete-li mít kdykoliv možnost zkontrolovat obsah našeho portálu, můžete využít podporu rss. Podrobnosti najdete zde.
    Vyvíjíme databázový a informační systém XVIII.


    [Metodologie] - {Začátečníci} V osmnáctém pokračování našeho rozsáhlého seriálu o základních principech a o vývoji databázových a informačních systémů se podíváme na podstatu architektury klient/server a řekneme si něco také o funkcích v databázové platformě MySQL. Posuneme se tak opět kousek dál ve znalostech, které ocení každý, kdo to s vývojem informačních systémů myslí vážně.



    Princip pojetí zpracování a zobrazení dat stylem architektury klient/server by se dal, kupodivu, zařadit do hodně vzdáleného "dávnověku" počítačů. Tolik dnes skloňovaný pojem "architektury klient/server" je však relativně mladý. Začneme-li opravdu od pouhého principu přístupu, lze vzpomenout na dobu velkých sálových počítačů, které byly obklopeny mnoha menšími terminály. Již zde byla v podobě terminálů oddělená "vrstva", která pouze zobrazovala výstup sálového počítače, aniž by se na nich data nějakým způsobem zpracovávala.

    Pravá doba pro myšlenku klient/server však nastává až s nástupem osobních počítačů a vznikajícími lokálními sítěmi (LAN). Server si sice stále uchovával pozici výkonného a objemného úložiště dat, ale poskytovaná data téměř nezpracovával. Sdílená data na serverech užívají klienti, na něž se také přesouvá část zpracování. V podstatě se jedná o převrácení prvotního schématu zpracování dat. Úzce to samozřejmě souvisí se zmenšováním se propastného rozdílu mezi výkonem serveru a osobního počítače.

    Další kapitolu vývoje znamená zvyšovaný důraz uživatelů na rychlé sdílení údajů. V mnoha případech to znamenalo pokorné navrácení k požadavku co nejvýkonnějších serverů, které by dokázaly odpovídat a zpracovávat požadavky množících se uživatelů. Tyto servery bychom už mohli pojmenovat přesněji – známějšími pojmy asi budou souborové a databázové servery a servery sítě www. Způsob zpracování si tedy již můžeme honosně kvalifikovat jako dvouvrstvý návrh. Myslí se tím však pořád jen oddělení klienta, který zasílá požadavky a serveru, který na požadavky odpovídá.

    Ruku v ruce s technickým pokrokem časem vzniká model tzv. třívrstvé architektury. Počítač je trvale připojen k serveru, kde je prováděna většina náročnějšího zpracování a stolní počítač opět slouží jako prostředek zobrazení výstupů. Příkladem tohoto modelu může být samotná síť Internet. Obvyklý tok dat v aplikacích klient/server vypadá následovně:

    • Uživatel má většinou k dispozici aplikaci s grafickým uživatelským rozhraním. Požadavek na zpracování zadává prostřednictvím tohoto softwaru. Aplikace obsahuje značnou část aplikační logiky, takže požadavek obslouží, analyzuje, ošetří případné chyby. Konečná podoba požadavku je poté odesílána na databázový server ke zpracování.
    • Databázový server přijme požadavek. Vykoná všechny nezbytné operace a výsledek požadavku odešle klientovi zpět. Nevylučuje se částečné zpracování aplikační logiky na serveru, například v rámci databázových uložených procedur.
    • Klient vykoná s vyžádaným výsledkem všechny příslušné operace a uživateli zobrazí konečnou informaci.

    Více se o architektuře klient/server můžete dozvědět také v dalším článku, který vyšel na našem portálu již před několika měsíci.

    Rozdělení základních funkcí systému MySQL
    Základní dělení funkcí v MySQL může vypadat například takto:

    • Číselné – matematické funkce
    • Funkce pro práci s textovými řetězci
    • Logické funkce
    • Funkce pro práci s datem a časem

    K jednotlivým kategoriím funkcí budou pro příklad představeny alespoň někteří zástupci – pro vyzkoušení. Desítky dalších samozřejmě naleznete popsány v originální dokumentaci. Mnohými z nich lze zkorigovat zatížení serveru. Přesouváním zpracování na stranu serveru klientskému počítači odlehčujete, serveru přidáváte práce.

    Číselné – matematické funkce
    Na tomto místě zkusme připomenout, že MySQL dodržuje běžné vyhodnocování matematických příkazů. Vyšší prioritu mají operace krát a děleno (násobení a dělení) před operacemi +, -. Jiné upřednostnění zpracování je možné pomocí závorek.

    • Modulo
      SELECT MOD(14, 3) AS Vysledek;
      Funkce vrací zbytek po dělení jednoho čísla druhým. Pokud se pokusíme dělit nulou, MySQL vrátí prázdnou hodnotu.

    • Conv(x, ze soustavy, do soustavy)
      SELECT CONV(3, 10, 2);	 // vrací "11"
      Převádí číslo z jedné soustavy do druhé. Výslednou hodnotou je textový řetězec.

    • Exp(x)
      SELECT EXP(5);		// výsledek 148.413159
      Vrací základ přirozeného logaritmu umocněný argumentem x.

    • BENCHMARK(počet opakování, výraz)
      Tuto funkci můžete využít pro zhodnocení rychlosti zpracování dotazu. Nejedná se ale přesně o matematickou funkci.. Funkce vrací nulu, opakuji, že nás zde zajímá jen potřebný čas pro zpracování dotazu:
      SELECT BENCHMARK(2000000, MOD(14,3));

    Funkce pro práci s textovými řetězci
    Tyto funkce slouží k úpravě textu ještě před jeho odesláním klientovi.

    • LTRIM(), RTRIM(), TRIM()
      Funkce, které umí odstranit z řetězce všechny přebytečné mezery, po řadě zleva, zprava a z obou stran najednou, tj:
      SELECT LTRIM("    Martin");		// vrátí řetězec "Martin" atd.

    • SUBSTRING()
      Vrací podřetězec z řetězce (první argument) počínaje místem určeným druhým argumentem.
      SELECT SUBSTRING("ahoj",3);	// vrátí podřetězec "oj".

    Logické funkce
    Systém MySQL dovoluje před vykonáním výrazu spouštění různých testů. Funkce IF() očekává tři argumenty:

    SELECT IF(Pole1 > Pole2, 1, 0) AS Vysledek FROM Objednavky;
    SELECT IF(5>4, 'Pravda','Nepravda');
    

    Obsahuje-li hodnota prvního argumentu výraz TRUE, vrátí funkce hodnotu 1 (v druhém dotazu vrací 'Pravda'). V opačném případě bude navrácen třetí argument, což je nula ('Nepravda'). Používání funkce IF() je pro databázový server rychlejší než obvyklá klauzule WHERE… V MySQL jsou pak dále zavedeny i další podmíněné funkce IFNULL() a CASE.

    Funkce pro práci s datem a časem
    Zde si uvedeme alespoň funkci CURDATE(), která vrací aktuální systémové datum a funkci CURTIME(), která vrací pro změnu aktuální systémový čas:

    SELECT CURDATE();
    SELECT CURTIME();
    

    Pro zjištění aktuálního data a času bychom mohli využít i služeb jiných funkcí. Výsledky jsou pro všechny možnosti totožné, včetně formátu odpovědi:

    SELECT SYSDATE();
    SELECT NOW();
    SELECT CURRENT_TIMESTAMP();
    

    Další funkce v souvislosti s časem mohou navracet například aktuální den v měsíci, název dne podle zadaného data, název indexu dne v týdnu atd.

    Související články:
    Vyvíjíme databázový a informační systém XXV. (28.12.2004)
    Vyvíjíme databázový a informační systém XXIV. (27.12.2004)
    Vyvíjíme databázový a informační systém XXIII. (16.12.2004)
    Vyvíjíme databázový a informační systém XXII. (07.12.2004)
    Vyvíjíme databázový a informační systém XXI. (16.11.2004)
    Vyvíjíme databázový a informační systém XX. (03.11.2004)
    Vyvíjíme databázový a informační systém XIX. (25.10.2004)
    Vyvíjíme databázový a informační systém XVII. (04.10.2004)
    Vyvíjíme databázový a informační systém XVI. (21.09.2004)
    Vyvíjíme databázový a informační systém XV. (13.09.2004)
    Vyvíjíme databázový a informační systém XIV. (25.08.2004)
    Vyvíjíme databázový a informační systém XIII. (18.08.2004)
    Vyvíjíme databázový a informační systém XII. (02.08.2004)
    Vyvíjíme databázový a informační systém XI. (14.07.2004)
    Vyvíjíme databázový a informační systém X. (07.07.2004)
    Vyvíjíme databázový a informační systém IX. (01.07.2004)
    Vyvíjíme databázový a informační systém VIII. (23.06.2004)
    Vyvíjíme databázový a informační systém VII. (16.06.2004)
    Vyvíjíme databázový a informační systém VI. (09.06.2004)
    Vyvíjíme databázový a informační systém V. (02.06.2004)
    Vyvíjíme databázový a informační systém IV. (26.05.2004)
    Vyvíjíme databázový a informační systém III. (19.05.2004)
    Vyvíjíme databázový a informační systém II. (12.05.2004)
    Vyvíjíme databázový a informační systém I. (05.05.2004)

    ( Celý článek! | Autor: Martin Pokorný | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek )

    Vyhledávání
     

    Anketa
    Kolik ročně utratíte za dovolené?

    Nic 
     (1557 hl.)
    Do 1 000,- Kč 
     (1074 hl.)
    Do 10 000,- Kč 
     (1003 hl.)
    Do 25 000,- Kč 
     (1385 hl.)
    Do 50 000,- Kč 
     (1019 hl.)
    Do 75 000,- Kč 
     (1183 hl.)
    Více než 75 000,- Kč 
     (1022 hl.)

    Celkem hlasovalo: 8243


    Poslední komentáře
    frontierd@126.com
    frontierd@126.com
    frontierd@126.com
    c
    http://www.coachoutl

    Newsletter
    Přihlaste si nezávazně - i bez registrace - odběr informačního newsletteru. Podrobné informace najdete zde.

    Emailová adresa:


    Kalendář
    <<  Leden  >>
    PoÚtStČtSoNe
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Redakci připojuje


    Nejčtenější

    Databáze je prázdná!


    Nejvíce komentářů

    Databáze je prázdná!


    Reklama






    Nenechte si ujít články na dalších webech




    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.

    Databázový svět | dfKlub - digitální fotografie | Vtipník - vtipy přímo k Vám | Reminder - přestaňte zapomínat | Databázový svět

    Copyright (c) 2004 AVRE Publishing, spol. s r.o. Všechna práva vyhrazena