FK~

Moje odkazy

Ostatní odkazy

Close Windows
Nenajdete mě na Facebooku ani Twitteru
Rozpad EU
Jsem členem FSF
There Is No Cloud …just other people's computers.
Sane software manifesto / Manifest příčetného softwaru

SQL Výuka

vydáno: 22. 8. 2009 16:22, aktualizováno: 18. 7. 2020 13:40

SQL je skvělý jazyk, který slouží k psaní databázových dotazů a obecně k práci s relačními databázemi. Naučit se ho není těžké, naopak, SQL příkazy jsou přirozené a logické. Zvládnout to může téměř každý. Bohužel většinu lidí odradí nutnost instalovat a konfigorovat databázový systém nebo jiný software, a tak SQL zůstává převážně doménou informatiků. To je škoda. Proto jsem napsal program SQL Výuka – teď stačí otevřít webový prohlížeč a můžete s SQL začít hned.

Výuka SQL

Program SQL Výuka

Program v sobě kombinuje databázového klienta a interaktivního průvodce (nápovědu). Uživatel prochází jednotlivé kapitoly průvodce a kliká na příklady, které si může spouštět. Příklady si může upravovat nebo psát vlastní SQL příkazy a sledovat výsledek, který přijde z databáze.

Výuka SQL

Součástí programu je i model databáze (viz první obrázek) – uživatel tak vidí, s jakými schématy, tabulkami a sloupečky může pracovat.

V programu fungují klávesové zkratky (pro spuštění dotazu a zobrazení historie), aby se uživatel nemusel trefovat myší na tlačítka :-)

Softwarová licence

V dnešní době se hodně aplikací přesouvá na webovou platformu a současně s tím tyto aplikace běží v jediné instanci. Tenhle trend se mi moc nelíbí a proto svoji aplikaci vydávám jako svobodný software, který může běžet v libovolném počtu instancí.

Zvolil jsem licenci Affero GPL, která se výborně hodí pro webové aplikace. Díky ní má každý uživatel přístup ke zdrojovým kódům programu, s kterým právě pracuje. (Více o softwarových licencích se dozvíte v mém článku).

Možná vás zajímá, jak je toto zpřístupnění zdrojových kódů řešeno po technické stránce. Při překladu (kompilaci) aplikace se vytvoří ZIP archiv z právě překládaných zdrojových kódů a ten se přibalí k binární (.war) formě aplikace. Stačí k tomu jeden řádek v konfiguraci Antu.

Použité technologie

Samotný program je napsaný v Javě (Java EE) a jedná se o relativně jednoduchou webovou aplikaci. Jako databázový systém jsem použil PostgreSQL – jednak je to kvalitní a robustní SŘBD a jednak pro jeho blízkost SQL standardům.

Program vyvíjím a provozuji nad operačním systémem GNU/Linux a aplikačním serverem Glassfish. Nicméně aplikace nezávisí na specifických funkcích Glassfishe, takže její provoz na jiných aplikačních serverech nebo dokonce operačních systémech je možný.

Podporu jiných databázových systémů zatím neplánuji, PostgreSQL mi vyhovuje. Pokud ale bude zájem (a někdo vývoj zaplatí), není v tom problém :-). (znamenalo by to přepsat generátor modelu databáze, upravit kapitoly průvodce, aby odpovídaly specifikům daného DBMS a vymyslet a otestovat zabezpečení nové databáze).

Při volbě technologií jsem zohledňoval i to, aby za ně provozovatel aplikace nemusel platit žádné licenční poplatky – aplikace využívá svobodný software.

Jak můžete pomoci

Program jsem napsal sám a i další rozvoj bude převážně na mě, ale uvítal bych vaši pomoc v těchto oblastech:

  • Testujte aplikaci, napište svoje postřehy a nápady na vylepšení, hlaste chyby. Nemusí se týkat jen samotné aplikace, důležité jsou i ukázková data a průvodce.
  • Můžete pomoci s řešením již nahlášených chyb a úkolů (MSIE, pružný layout atd.).
  • Pište komentáře pod články a příspěvky do fóra (poradny) na oficiálních stránkách. Potřebuji to zezačátku trochu rozhýbat. (na všech stránkách se zobrazuje seznam nejaktivnějších komentátorů, tak tam můžete dostat odkaz i na svůj web) :-)
  • Pokud víte o někom, např. učiteli informatiky, komu by se program mohl hodit, doporučte mu ho.

Na závěr otázka do diskuse: za jak dlouho myslíte, že člověk dokáže strávit infromace obsažené v průvodci? A za jakých výchozích znalostí (tohoto jazyka i IT obecně)?

Odkazy a zdroje:

Témata: [databáze] [Java] [podnikání]

Komentáře čtenářů


Jenda, 22. 8. 2009 16:12, Hezké [odpovědět]

Vypadá to moc pěkně. Nechceš o tom napsat zprávičku nebo blogpost na ABC?


xkucf03, 22. 8. 2009 16:43, zprávička [odpovědět]

díky :-) zprávičku už jsem napsal a je už dokonce schválená.

jsem na to zvědavý, bude to pro aplikaci docela zátěžová zkouška :-)


Jenda, 22. 8. 2009 17:05, Re: zprávička [odpovědět]

Proč je u zprávičky jako autor Robert? :-) Když jsem ji viděl, tak jsem si říkal, "on už ani ty zprávičky psát nemusí, má na to lidi" :-)


xkucf03, 22. 8. 2009 17:10, autor informoval [odpovědět]

Protože by to prý znělo divně, když tam píšu „Autor o tom informoval…“ :-) a vypadá to líp, když to ohlásí někdo jiný.


zopper, 22. 8. 2009 21:17, MySQL [odpovědět]

Kdyby jsi měl čas, myslím, že spousta lidí by ocenilo i podporu MySQL... To je jen takové popíchnutí :)


nes_ro, 23. 8. 2009 06:18, Zkusím [odpovědět]

Tak MySQL to není, to je moc škoda. K PostgreSQL se asi jen tak nedostanu, ale tak budu doufat, že příklady bou fungovat v obou databázích. Výuku zkusím, protože moje znalsti vedou přes SELECT k několikanásobným LEFT JOINŮM a tím vlastně dokážu vypsat vše co potřebuji, zbytek dělám v PHP. Tak doufám že se zde naučím dobrým mravům. :-)


xkucf03, 23. 8. 2009 08:56, MySQL [odpovědět]

Cílem aplikace je naučit uživatele SQL obecně, ne nějaký konkrétní dialekt. Specifikům PostgreSQL se nedalo zcela vyhnout (např. schémata a search_path), ale 99% příkladů funguje i v ostatních databázích (např. takový standardní LIMIT n OFFSET m funguje i v MySQL, i když hodně lidí zná jen tu zkrácenou formu).


nes_ro, 23. 8. 2009 07:02, Nezkusím [odpovědět]

Já myslel, že to je zadarmo... nebo se mýlím?


xkucf03, 23. 8. 2009 08:58, open source [odpovědět]

Program jako takový je open source a lze ho používat zcela zdarma. Co je placené jsou data (ukázková databáze a průvodce s příklady), po zakoupení licence si je můžeš i upravovat (akorát se nesmí šířit dál).


Anonym, 11. 9. 2009 13:14, Je to skvělé. [odpovědět]

Je to skvělé.

Přidat komentář

reagujete na jiný komentář (zrušit)
jméno nebo přezdívka
název příspěvku
webová stránka, blog
e-mailová adresa
nápověda: možnosti formátování
ochrana proti spamu a špatným trollům

Náhled komentáře