Kurz6 - Kapitola5

17. června 2007 v 10:40 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

8.5 Něco málo o SQL a databázích

8.5.1 Co to vlastně je - ta databáze?

Obvykle je to soubor (nebo více souborů), které obsahují určité informace.
Nejčastěji si způsob organizace uložených informací můžete představit jako velkou tabulku, v níž jednotlivé řádky představují položky databáze. Sloupce pak definují, jaký druh informace je možné položce přiřadit.
Pro příklad si můžeme představit tuto tabulku Zákazníci:
JménoPříjmeníVěkTelefonStát
JanNovák22777123456ČR
DanaHuhulová87222333756ČR
BobSenclar43+4409876544GB
RoboBomla18+421543216789SR
K takové databázi můžete (máte-li oprávnění) přistupovat a data z ní získávat, rušit, či vkládat. Nejběžnější přístup je prostřednictvím programu, který běží někde na serveru a spravuje databázi. Databázových systému je velká řada (MySQL, Oracle Database, Sybase SQL Server, MS SQL Server, Microsoft Access...).
Aby uživatel mohl k databázi přistupovat, musí být jednoznačně definován způsob, jak s daty pracovat. Jako jeden z unifikovaných a častých způsobů komunikace s databází (spíše s programem, který ji spravuje) se vyvinul jazyk SQL (Structured Query Language).

8.5.2 Co to je SQL?

Jde o jednoduchý strukturovaný jazyk, který je využíván pro komunikaci s databázovým systémem a ovládání databáze. I my jej prostřednictvím knihovny SQLite využijeme. Nemusíte mít ale strach, že se budete muset učit nový jazyk :-).
SQL není příliš složitý (pokud nezabíháte příliš do hloubky) a pro náš účel z něho postačí pouze některé příkazy.
Jakmile otevřeme databázi, můžeme řídicí program - v našem případě SQLite - úkolovat zasíláním příkazů. My využijeme tyto příkazy:

CREATE TABLE Tabulka (Sloupec1 TYP, Sloupec2 TYP, ...)
Takto lze v databázi vytvořit novou Tabulku se Sloupci (jména sloupců Sloupec1, Sloupec2...) u nichž budou ukládána data příslušného TYPU - TEXT, INTEGER ... Např. příkaz:
CREATE TABLE Zákazníci (Jméno TEXT, Příjmení TEXT, Věk INTEGER, Telefon TEXT, Stát TEXT)
... vytvořil výše uvedenou tabulku.

SELECT Požadované FROM Tabulka WHERE Podmínka ORDER BY Kritérium
Tento příkaz žádá program spravující databáze, aby z Tabulky vybral všechny hodnoty ze sloupců Požadované u položek, které splňují Podmínku a seřadil je podle Kritéria. Např.:
SELECT Jméno,Věk FROM Zákazníci WHERE Stát = 'ČR' ORDER BY Příjmení
Vrátí tyto hodnoty:
Dana87
Jan22
SELECT * FROM Zákazníci WHERE Věk < 50
Vrátí:
JanNovák22777123456ČR
BobSenclar43+4409876544GB
RoboBomla18+421543216789SR
Poznámka: "*" v příkazu znamená "vše"

DELETE FROM Tabulka WHERE Podmínka
Tímto příkazem zrušíte v Tabulce řádky, které splňují Podmínku. Např.:
DELETE FROM Zákaznící WHERE Stát = 'GB'
Vymaže z tabulky řádek s Bobem SenClarem.

INSERT INTO Tabulka (Seznam Sloupců) VALUES (Hodnoty do příslušných sloupců)
Vkládá do Tabulky novou položku, u níž vyplní Hodnoty v uvedených Sloupcích. Pokud neuvedete seznam sloupců, srovná jazyk SQL hodnoty v souladu s pořadím sloupců v tabulce. Jinými slovy, první hodnotu vloží do prvního sloupce, druhou do druhého, atd. Např.:
INSERT INTO Zákazníci VALUES ('Božka','Nová',25,'906123777','ČR')
Přidá do tabulky nového zákazníka.

Uvedené příkazy jsou jenom slabý "výcuc z výcucu". Na to, abyste mohli s databázemi pomocí SQL pracovat, doporučuji nastudovat nějakou příručku nebo se podívat po Internetu, kde jistě najdete řadu návodů. V neposlední řadě byste se měli držet popisu příkazů SQLite na stránkách www.sqlite.org.

8.5.3 Jak budeme SQLite používat?

Aby se projekt moc nerozšiřoval, použijeme SQLite tak, že celou knihovnu přilinkujeme staticky k našemu programu, takže se stane součástí jednoho výsledného .exe souboru. Po otevření databáze vytvoří SQLite jeden databázový soubor, ve kterém budou uložena všechna naše data.
Abychom s nimi mohli pracovat, vždy připravíme příkaz ve formě textového řetězce, který předáme SQLite. SQLite text "přežvýká" a pokud v SQL příkazu neuděláme syntaktickou chybu, provede s tabulkou databáze příslušnou operaci. V příkazu SELECT nám vrátí zpět vybraná data, u dalších používaných příkazů pouze informaci, že operace proběhla v pořádku.

Co bychom si měli z této lekce zapamatovat?

  • SQL je častý způsob práce s databází, který je možné použít i ve Windows CE.
 

Buď první, kdo ohodnotí tento článek.

Komentáře

1 kaja kaja | Web | 17. června 2007 v 10:46 | Reagovat

bez na tuto adresu

http://lemoonek.blog.cz/0706/soutez-o-nej-blog-prave-zacala

nebo dej muj web rubriku souteze a clanek hned ten prvni(soutez o nej blog prave zacala) a hlasuj pro soutezici o nej blog

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.