Re: TECH: PRG: co nás čeká a nemine :-)


To ucto-dev-l@pinknet.cz
From "Cirkl Stepan" <cirkl@mssch.cz>
Date Tue, 17 Jul 2001 16:43:42 +0200
Organization Masarykova stredni skola chemicka

> Možná by chtělo nám laikům neznalých SQL vysvětlit, jak to vůbec
> funguje. Co jsem se mohl setkat, většinou se zadal SQL dotaz, který
> vrátil naráz celý číselník klientovi. To mě právě na tom děsí. Účetní
> samozřejmě v jedné chvíli vidí jen to, co má na obrazovce, jde jen o
> to, aby to dotahování jej také nebrzdilo. Například já pořád žiju v

SQL serveru kladete dotazy. Ty muzou byt dvou typu. Muzete se 
pokouset upravit nebo vytvorit neaky objekt (tabulku, zaznam,..) 
nebo se podivat, co v databazi je ulozene. K tomu slouzi prikaz 
SELECT. A je nejpouzivanejsi.

Mejme tabulku trzby, kde mame datum (datum), pokladnu 
(pokladna) a trzbu (trzba).

Nejednodusi je ziskat cely obsah tabulky trzby.
 
 SELECT * FROM trzby;

A server vrati celou tabulku trzby.
* znamena, ze chci vsechny slupce v tabulce. Misto ni mohu 
vyjmenovat pouze nazvy poli, jenz mne zajmaji.

  SELECT pokladna, datum FROM trzby;

Vrati vsechny zaznamy (radky) a pouze sloupce pokladna a datum.

Dale muzu k dotazu pridat podminku, a tim omezit mnozstvi 
vracenych zaznamu. (Vlastne nastavit filtr.)
 
 SELECT * FROM trzby WHERE pokladna=1;

Vrati pouze zaznamy, jenz se tykaji pokladny 1.

Misto vyjmenovani sloupcu, jenz mne zajmaji, mohu pouzit funkce. 
Napriklad kdyz budu chtit zjistit minimalni denni trzbu na pokladne 
jedna, polozim nasledujci dotaz.

  SELECT min(trzba) FROM trzby WHERE pokladna=1;

  SELECT count(*) FROM trzby;
    vrati pocet zaznamu v tabulce trzby.

Mezi funkcemi se nachazi take napriklad prumer, suma, sinus....

Dale se nachaji pouzivat agregace, spojeni (relace) mezi tabulkami 
definovat razeni a spousta dalsiho. Vetsina SQL servru podporuje 
transakce, (MySQL ne).

Takze pokud napriklad chcete zjistit celkove trzby podle 
jednotlivych pokladen, staci polozit nasledujci dotaz, a SQL server 
vrati tolik radku, kolik je pokladen.

 SELECT pokladna, sum(trba) FROM trzby GROUP BY pokladna;

Jak vidite, tak z SQL servru se musi prenaset docela malo 
informaci, pokud se umite dobre zeptat, a nechate za sebe makat 
SQL.

Akorat je potreba mit HW SQL servru dostatecne nadimenzovan, 
hlavne mu chutna pamet. Pro beznou malu az stredni firmu, bych 
se ale nebal, ze SQL nebude stihat. Takove uzaverky nebo 
podobne hromadne operace si ale neaky cas vyzadaji...

Doufam ze to je dostatecne vysvetlene, aby jsgte si udelal 
predstavu. Pokud jsem se nekde vyjadril spatne, nebo ustrelil, at 
mi nekdo opravi. Asi pred dvouma az trema roky, vychazel v CHIPu 
delsi dobu serial o SQL, a bylo tam pekne vysvetlene.



Stepan Cirkl
Spravce site, Webmaster
Masarykova SS chemicka, Praha 1
E-mail:cirkl@mssch.cz
ICQ: 31789939
-------------------------- ucto-dev-l@pinknet.cz ------------------------
Konference o vyvoji ucetnictvi                 http://ucto.ferschmann.cz/




Partial thread listing: