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?
    SŘBD
    (Systém řízení báze dat)

    Programový systém umožňující vytváření, údržbu a použití báze dat. Podle komplexnosti je možné SŘBD rozdělit na nižší (např. PC Fand), střední (FoxPro) a vyspělé (Oracle 9i).

    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 XIII.


    [Metodologie] - {Začátečníci} V dnešním třiná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 praktické možnosti využití jazyka SQL. Mj. si ukážeme naplnění tabulky daty a vybereme záznamy obsahující dané znaky. Zaměříme se tak především na jednu z částí jazyka SQL – na DML (Data Manipulation Langugage).



    Jazyk DML (Data Manipulation Language) je součástí jazyka SQL a umožňuje manipulaci s daty. Mezi příkazy této části řadíme především SELECT, INSERT , DELETE a UPDATE.

    Příkaz SELECT slouží pro vyhledávání dat podle různých kritérií. Nejčastěji bývá příkaz SELECT postaven na třech základních klauzulích:

    • Klauzule SELECT udává seznam položek (sloupců), které chcete mít ve výsledku dotazu. Lze také využít symbolu hvězdička (*) místo konkrétního seznamu položek a tím vyberete všechny položky.
    • Klauzule FROM slouží k určení tabulek, které během dotazu používáte.
    • Klauzule WHERE určuje vlastní výběrová kritéria. Není-li tato klauzule použita, jsou automaticky vybrány všechny položky.

    Příkaz INSERT umožňuje do tabulky fyzicky vložit nový řádek (záznam). Řádky je však také možno vkládat z jiné tabulky.

    Příkaz DELETE podle zadaných kritérií umožňuje fyzicky zrušit vybrané řádky.

    Příkaz UPDATE umožní aktualizaci dat v tabulce. Můžete editovat existující hodnoty ve vybraných řádcích podle nastavených kritérií nebo můžeme aktualizovat všechny řádky v tabulce.

    V následující tabulce jsou uvedena důležitá klíčová slova jazyka DML i s českým významem, která jsou potřeba pro aktualizaci dat.

    Základní klíčová slova DML
    Základní klíčová slova DML

    Ač se to nezdá z množství základních příkazů, je část DML – zvláště ve spojitosti s příkazem SELECT – velmi rozsáhlá. Podívejme se nyní v rychlém přehledu na nejdůležitější a nejzajímavější možnosti, které nám DML nabízí. Projdeme si je na jednotlivých ukázkách na konkrétní tabulce "Zeme", kterou si nejdříve vytvoříme. Zde nám nepůjde o nějakou systematičnost, spíše na náhled různých možností DML. Zkoušíte-li si předváděné příkazy na své tabulce, tak můžete postupovat shodnými kroky, aby byly výsledky srovnatelné.

    Vytvoření tabulky Zeme
    Tabulku Zeme lze vytvořit následujícím příkazem:

     
    create table Zeme(
      cislo int auto_increment,
      nazev varchar(30) not null,
      hlavni_mesto varchar(20),
      pocet_obyv int,
      kontinent varchar(20) default 'Evropa',
      primary key (cislo)
    )
    

    Naplnění tabulky daty dle výpisu
    Záznam do tabulky lze vložit pomocí příkazu:

    insert into Zeme values 
      (null,'Niger','Niamey',8300000,'Afrika')
    

    Konzole MySQL
    Konzole MySQL

    Výpis všech záznamů
    Záznamy z tabulky Zeme je možné získat takto:

    select * from Země
    

    Zadání vybraných polí + předpřipravené pořadí výpisu sloupců
    Pro výsledný výpis z tabulky není nutné požadovat všechny sloupce, takže si lze upravit jak výběr sloupců, tak i jejich pořadí:

    select hlavni_mesto, 
           nazev 
      from Země
    

    Klauzule WHERE a operátory AND/OR
    Klauzulí WHERE zapisujeme výběrová kritéria pro výběr řádků (záznamů) do výpisu. Je-li tedy WHERE použito, tak tím zmenšujeme množství (specializujeme) záznamů, které se nám objeví ve výsledku dotazu. Jednotlivé podmínky lze samozřejmě spojovat pomocí logických spojek AND s významem "a současně" a OR s významem "nebo". V následujícím příkladu vybereme kompletní záznamy, které mají v poli Kontinent uvedenu Evropu a jejichž počet obyvatel je větší jak deset miliónů:

    select * 
      from Zeme 
      where kontinent = 'Evropa' and 
            pocet_obyv > 10000000
    

    Konzole MySQL
    Konzole MySQL

    Výběr záznamů obsahující dané znaky
    Hledáme-li určitý záznam, často se stává, že máme k dispozici jen velmi kusé informace, podle nichž se chceme dopracovat k výsledku. Pro zjednodušení tohoto hledání můžeme použít obdobu "hvězdičkové konvence", kterou používáte v systému Windows. Pravidla hledání určují zástupné znaky, přičemž běžně známé jsou zástupné znaky * (hvězdička), která nahrazuje u hledaného slova žádný nebo více znaků a ? (otazník), který je pak možno využít jako zástupný znak jednoho znaku u hledaného výrazu. V rámci SQL také existují zástupné znaky se stejným významem při hledání. Jsou jimi % (procento) – libovolný počet znaků a _ (podtržítko) za jeden znak. Zkusme tedy vyhledat všechny záznamy, jejichž kontinent začíná znakem "A". Výpis záznamů bude omezen jen na sloupec hlavního města:

    select hlavni_mesto 
      from Zeme 
      where kontinent like 'A%'
    

    Použili jsme zde též konstrukci LIKE, která by se dala slovně přeložit jako "vzor padne" neboli je pomocí něj testováno zda hodnota odpovídá jménu. Ve výsledném sítu dotazu by v tomto případě měly uvíznout tři záznamy z tabulky. Podle požadovaného sloupce hlavních měst jsou to Niamey, Ulánbátar a Canberra.

    Určení rozsahu pomocí operátoru BETWEEN
    Chceme-li do našeho dotazu zapracovat interval přípustných hodnot, je zde k dispozici operátor BETWEEN (množství mezi). Jinými slovy budeme testovat, zda je množství větší než minimální hodnota a menší nebo rovno maximální hodnotě. Zkusme tedy vyhledat v naší tabulce všechny země, jejichž počet obyvatel se pohybuje mezi osmi a jedenácti milióny:

    select * 
      from Zeme 
      where pocet_obyv between 8000000 and 11000000
    

    Výsledkem by zde zase měly být tři záznamy, a to tentokrát země Niger, Česká republika a Bělorusko.

    Určení se seznamem přípustných hodnot
    Zde budeme opět vybírat, nicméně zde použijeme množinu přípustných hodnot, podle které budeme filtrovat záznamy na výstup. Použijeme operátor IN, který má slovní popis "je v určité množině" a zkrátka se jedná o test, zdali se hodnota nachází v přesně vyjmenované množině přípustných hodnot. Tentokrát tedy vyberme záznamy zemí z Austrálie a Afriky, přičemž nás zajímá pouze název země:

    select nazev 
      from zeme 
      where kontinent in ('Austrálie','Afrika')
    

    Konzole MySQL
    Konzole MySQL

    S dalšími možnostmi příkazu SELECT budeme pokračovat ještě i příště, nicméně abychom předvedli činnost všech základních příkazů z DML, tak musíme ještě zrealizovat použití DELETE a UPDATE. Pro příkaz DELETE by to mohlo být s požadavkem vymazání dat podle klíče:

    delete from zeme where cislo = 7
    

    Pro příkaz UPDATE si vybereme třeba Českou republiku v níž nyní ubývá obyvatel. Opravme tedy záznam počtu obyvatel na 10250000:

    update Zeme 
      set pocet_obyv = 10250000 
      where nazev = 'Česká republika'
    


    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 XVIII. (13.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 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ářů: 2 | 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