Získej neomezený přístup k 600+ online kurzům v jedinečné akci za bezkonkurenční cenu.
Kup předplatné
Zpět na blog
Vzdělávání

SQL příkazy: Přehled s příklady pro začátečníky

Skillmea
08.01.2026
23 minut čtení
SQL příkazy: Přehled s příklady pro začátečníky
Pokud se chcete naučit pracovat s databázemi, SQL příkazy jsou tím prvním, co potřebujete ovládat. V tomto komplexním průvodci se naučíte všechny základní příkazy s praktickými příklady, které můžete hned vyzkoušet.

Pro koho je tento článek?

Tento průvodce je určen pro:
  • Začátečníky v datové analytice, kteří se chtějí naučit SQL od základů
  • Testery softwaru, kteří potřebují ověřovat data v databázích
  • Začínající programátory, kteří budou pracovat s databázemi
  • Studenty informatiky a IT, kteří potřebují praktické znalosti SQL
  • Business analytiky, kteří chtějí rozumět datům ve své firmě

Pokud jste úplný začátečník, doporučujeme vám nejprve přečíst náš článek Zoznám sa s SQL databázami, kde se dozvíte základy o tom, co je databáze a jak funguje.

Co je SQL a proč ho potřebujete

SQL (Structured Query Language) je standardizovaný jazyk, kterým komunikujete s databázemi. Představte si ho jako angličtinu pro počítače – pomocí jednoduchých příkazů říkáte databázi, co má udělat.

Kde se SQL používá:
  • E-commerce platformy (Heureka, Alza) – evidence produktů a objednávek
  • Bankovnictví – správa klientů a transakcí
  • Sociální sítě – uživatelské profily a příspěvky
  • Firmy a korporace – reportování, evidence zaměstnanců, CRM systémy
  • Mobilní aplikace – téměř každá aplikace má databázi na pozadí

Proč je SQL nenahraditelné:
  • Je to nejpoužívanější databázový jazyk na světě
  • Funguje podobně ve všech databázích (MySQL, PostgreSQL, MS SQL Server, Oracle)
  • Práce s SQL je dobře placená – databázoví specialisté patří mezi nejlépe placené IT pozice
  • Je relativně jednoduchý na naučení – základy zvládnete za pár dní

Základní SQL příkazy – DML (Data Manipulation Language)

Toto jsou příkazy, které budete používat denně při práci s daty. Říkají databázi: „vyber tato data“, „vlož tento záznam“, „uprav tento řádek“ nebo „smaž toto“.

SELECT – Výběr dat z databáze

Příkaz SELECT je absolutní základ. Používáte ho ke čtení (zobrazení) dat z tabulek.
Základní syntax:
SELECT sloupec1, sloupec2 
FROM název_tabulky;
Praktický příklad: Představte si tabulku zaměstnanci se jménem, příjmením a pozicí.
-- Zobraz jméno a příjmení všech zaměstnanců
SELECT jméno, příjmení 
FROM zaměstnanci;

-- Zobraz všechny sloupce (hvězdička znamená "všechno")
SELECT * 
FROM zaměstnanci;

-- Zobraz pouze prvních 10 záznamů
SELECT * 
FROM zaměstnanci 
LIMIT 10;
Tip: Příkaz LIMIT je nesmírně užitečný při práci s velkými tabulkami – nevypisujete zbytečně tisíce řádků.

INSERT - Vkládání nových dat

Příkaz INSERT přidává do databáze nové záznamy.
Syntax:
INSERT INTO název_tabulky (sloupec1, sloupec2, sloupec3) 
VALUES (hodnota1, hodnota2, hodnota3);
Praktický příklad:
-- Přidej nového zaměstnance
INSERT INTO zaměstnanci (jméno, příjmení, pozice, plat) 
VALUES ('Ján', 'Novák', 'Programátor', 2500);

-- Vložení více záznamů najednou
INSERT INTO zaměstnanci (jméno, příjmení, pozice, plat) 
VALUES 
    ('Peter', 'Horák', 'Analytik', 2200),
    ('Jana', 'Kováčová', 'Dizajnérka', 2000),
    ('Martin', 'Novotný', 'Tester', 1800);

UPDATE - Aktualizace existujících dat

Když potřebujete změnit údaje v existujícím záznamu, použijete UPDATE.
Syntax:
UPDATE název_tabulky 
SET sloupec1 = nová_hodnota 
WHERE podmínka;
DŮLEŽITÉ: Vždy používejte WHERE podmínku! Bez ní se změní VŠECHNY záznamy v tabulce.
Praktický příklad:
-- Zvyš plat Jánovi Novákovi o 200 eur
UPDATE zaměstnanci 
SET plat = plat + 200 
WHERE jméno = 'Ján' AND příjmení = 'Novák';

-- Změň pozici všem testerům na "Senior Tester"
UPDATE zaměstnanci 
SET pozice = 'Senior Tester' 
WHERE pozice = 'Tester';

DELETE - Mazání dat

Příkaz DELETE odstraní záznamy z tabulky.
Syntax:
DELETE FROM název_tabulky 
WHERE podmínka;
VAROVANIE: Bez WHERE podmínky smažete CELLOU tabulku!
Praktický příklad:
-- Smaž zaměstnance s ID 5
DELETE FROM zaměstnanci 
WHERE id = 5;

-- Smaž všechny zaměstnance s platem nižším než 1000 eur
DELETE FROM zaměstnanci 
WHERE plat < 1000;

Práce s tabulkami – DDL (Data Definition Language)

Tyto příkazy slouží k vytváření, úpravě a mazání samotné struktury databáze.

CREATE TABLE - Vytvoření nové tabulky

Syntax:
CREATE TABLE název_tabulky (
    sloupec1 datový_typ OMEZENÍ,
    sloupec2 datový_typ OMEZENÍ,
    ...
);
Praktický příklad:
CREATE TABLE projekty (
    id INT PRIMARY KEY AUTO_INCREMENT,
    název VARCHAR(100) NOT NULL,
    datum_start DATE,
    datum_konec DATE,
    rozpočet DECIMAL(10, 2),
    stav VARCHAR(50) DEFAULT 'aktivní'
);
Vysvětlení datových typů:
  • INT – celé číslo
  • VARCHAR(n) – text s maximální délkou n znaků
  • DATE – datum
  • DECIMAL(m,n) – desetinné číslo (m = celkový počet číslic, n = počet desetinných míst)
  • PRIMARY KEY – jedinečný identifikátor záznamu
  • AUTO_INCREMENT – automatické zvyšování hodnoty
  • NOT NULL – hodnota nesmí být prázdná
  • DEFAULT – předvolená hodnota

ALTER TABLE - Úprava existující tabulky

Pomocí ALTER TABLE měníte strukturu již existující tabulky.
Praktické příklady:
-- Přidej nový sloupec
ALTER TABLE projekty 
ADD COLUMN priorita INT;

-- Změň datový typ sloupce
ALTER TABLE projekty 
MODIFY COLUMN rozpočet DECIMAL(15, 2);

-- Přejmenuj sloupec
ALTER TABLE projekty 
RENAME COLUMN název TO název_projektu;

-- Odstraň sloupec
ALTER TABLE projekty 
DROP COLUMN stav;

DROP TABLE - Smazání tabulky

POZOR: Tento příkaz natrvalo vymaže celou tabulku i s daty!
-- Smaž tabulku projekty
DROP TABLE projekty;

-- Bezpečnější verze – smaže jen pokud tabulka existuje
DROP TABLE IF EXISTS projekty;

Filtrování a třídění dat

Toto jsou nejpoužívanější nástroje při práci s daty. Pomohou vám najít přesně to, co hledáte.

WHERE – Filtrování záznamů

WHERE vám umožní vybrat pouze záznamy, které splňují určité podmínky.
Operátory v WHERE:
  • = – rovná se
  • != nebo <> – nerovná se
  • <, >=, <= – větší, menší, větší nebo rovný, menší nebo rovný
  • BETWEEN – v rozmezí
  • IN – v seznamu hodnot
  • LIKE – podobný vzor (používá se s wildcards % a _)
  • IS NULL / IS NOT NULL – je / není prázdný
Praktické příklady:
-- Zaměstnanci s platem vyšším než 2000 eur
SELECT * FROM zaměstnanci 
WHERE plat > 2000;

-- Zaměstnanci na pozici Programátor nebo Analytik
SELECT * FROM zaměstnanci 
WHERE pozice IN ('Programátor', 'Analytik');

-- Zaměstnanci s platem mezi 1500 a 2500 eur
SELECT * FROM zaměstnanci 
WHERE plat BETWEEN 1500 AND 2500;

-- Všichni Peterové (začíná na "Peter")
SELECT * FROM zaměstnanci 
WHERE jméno LIKE 'Peter%';

-- Jména končící na "ka" (např. Mária, Veronika)
SELECT * FROM zaměstnanci 
WHERE jméno LIKE '%ka';

-- Zaměstnanci bez zadaného telefonu
SELECT * FROM zaměstnanci 
WHERE telefon IS NULL;
Kombinace podmínek pomocí AND, OR, NOT:
-- Programátoři s platem nad 2500 eur
SELECT * FROM zaměstnanci 
WHERE pozice = 'Programátor' AND plat > 2500;

-- Programátoři nebo analytici
SELECT * FROM zaměstnanci 
WHERE pozice = 'Programátor' OR pozice = 'Analytik';

-- Všichni kromě testerů
SELECT * FROM zaměstnanci 
WHERE NOT pozice = 'Tester';

-- Komplexní podmínka se závorkami
SELECT * FROM zaměstnanci 
WHERE (pozice = 'Programátor' OR pozice = 'Analytik') 
  AND plat > 2000;

ORDER BY – Třídění výsledků

ORDER BY seřadí výsledky podle jednoho nebo více sloupců.
Syntax:
SELECT * FROM název_tabulky 
ORDER BY sloupec [ASC | DESC];
  • ASC – vzestupně (od nejmenšího po největší) – předvolené
  • DESC – sestupně (od největšího po nejmenší)
Praktické příklady:
-- Zaměstnanci seřazení podle platu (od nejnižšího)
SELECT * FROM zaměstnanci 
ORDER BY plat ASC;

-- Zaměstnanci seřazení podle platu (od nejvyššího)
SELECT * FROM zaměstnanci 
ORDER BY plat DESC;

-- Třídění podle více sloupců
-- Nejprve podle pozice, potom podle platu
SELECT * FROM zaměstnanci 
ORDER BY pozice ASC, plat DESC;

-- Top 5 nejlépe placených zaměstnanců
SELECT jméno, příjmení, plat 
FROM zaměstnanci 
ORDER BY plat DESC 
LIMIT 5;

JOINy - Propojování tabulek

JOINy jsou nejsilnější nástroj SQL. Umožňují vám kombinovat data z více tabulek.
Představte si situaci: Máte tabulku zaměstnanci a tabulku oddělení. Chcete vědět, na jakém oddělení pracuje každý zaměstnanec.

INNER JOIN - Nejpoužívanější JOIN

INNER JOIN vrátí pouze záznamy, kde existuje shoda v obou tabulkách.
Příklad:
SELECT 
    z.jméno, 
    z.příjmení, 
    o.název AS oddělení
FROM zaměstnanci z
INNER JOIN oddělení o ON z.oddělení_id = o.id;

LEFT JOIN - Všechny záznamy z levé tabulky

LEFT JOIN vrátí všechny záznamy z levé tabulky, i když v pravé neexistuje shoda.
Příklad:
-- Zobraz všechny zaměstnance, i ty bez přiděleného oddělení
SELECT 
    z.jméno, 
    z.příjmení, 
    o.název AS oddělení
FROM zaměstnanci z
LEFT JOIN oddělení o ON z.oddělení_id = o.id;

Praktický příklad s více JOINy

-- Zobraz projekty se všemi jejich úkoly a přiřazenými zaměstnanci
SELECT 
    p.název AS projekt,
    u.název AS úkol,
    z.jméno,
    z.příjmení
FROM projekty p
INNER JOIN úkoly u ON p.id = u.projekt_id
INNER JOIN zaměstnanci z ON u.zaměstnanec_id = z.id
ORDER BY p.název, u.název;

Agregační funkce a GROUP BY

Agregační funkce provádějí výpočty nad skupinou záznamů.

Základní agregační funkce

COUNT - počet záznamů
-- Kolik je celkem zaměstnanců?
SELECT COUNT(*) AS počet_zaměstnanců 
FROM zaměstnanci;

-- Kolik je zaměstnanců na každé pozici?
SELECT pozice, COUNT(*) AS počet 
FROM zaměstnanci 
GROUP BY pozice;
SUM - součet hodnot
-- Celková suma platů všech zaměstnanců
SELECT SUM(plat) AS celkové_platy 
FROM zaměstnanci;

-- Suma platů podle pozice
SELECT pozice, SUM(plat) AS suma_platů 
FROM zaměstnanci 
GROUP BY pozice;
AVG - průměr
-- Průměrný plat
SELECT AVG(plat) AS průměrný_plat 
FROM zaměstnanci;

-- Průměrný plat podle oddělení
SELECT oddělení, AVG(plat) AS průměrný_plat 
FROM zaměstnanci 
GROUP BY oddělení;
MIN a MAX - minimum a maximum
-- Nejnižší a nejvyšší plat
SELECT 
    MIN(plat) AS nejnižší_plat,
    MAX(plat) AS nejvyšší_plat 
FROM zaměstnanci;

GROUP BY - Seskupování dat

GROUP BY seskupí řádky se stejnými hodnotami v určitém sloupci.
Komplexní příklad:
-- Statistika zaměstnanců podle pozice a oddělení
SELECT 
    pozice,
    oddělení,
    COUNT(*) AS počet,
    AVG(plat) AS průměrný_plat,
    MIN(plat) AS min_plat,
    MAX(plat) AS max_plat
FROM zaměstnanci 
GROUP BY pozice, oddělení
ORDER BY pozice, oddělení;

HAVING - Filtrování seskupených výsledků

DŮLEŽITÝ ROZDÍL:
  • WHERE filtruje záznamy PŘED seskupením
  • HAVING filtruje výsledky PO seskupení
Příklad:
-- Oddělení s více než 5 zaměstnanci
SELECT 
    oddělení, 
    COUNT(*) AS počet_zaměstnanců 
FROM zaměstnanci 
GROUP BY oddělení 
HAVING COUNT(*) > 5;

-- Pozice s průměrným platem nad 2000 eur
SELECT 
    pozice, 
    AVG(plat) AS průměrný_plat 
FROM zaměstnanci 
GROUP BY pozice 
HAVING AVG(plat) > 2000
ORDER BY průměrný_plat DESC;

Reálný příklad krok za krokem

Pojďme si ukázat komplexnější příklad ze života firmy.
Máme 3 tabulky:
  • zaměstnanci (id, jméno, příjmení, pozice, plat, oddělení_id)
  • oddělení (id, název, rozpočet)
  • projekty_zaměstnanci (zaměstnanec_id, projekt_id, hodiny)
Úloha: Zjistěte, kolik hodin odpracovali zaměstnanci na projektech podle oddělení, a zobrazte pouze ta oddělení, kde je celkový odpracovaný čas více než 100 hodin.
SELECT 
    o.název AS oddělení,
    COUNT(DISTINCT z.id) AS počet_zaměstnanců,
    SUM(pz.hodiny) AS celkové_hodiny,
    AVG(pz.hodiny) AS průměrný_čas_na_projekt,
    SUM(z.plat) AS celkové_platy_oddělení
FROM zaměstnanci z
INNER JOIN oddělení o ON z.oddělení_id = o.id
INNER JOIN projekty_zaměstnanci pz ON z.id = pz.zaměstnanec_id
GROUP BY o.název
HAVING SUM(pz.hodiny) > 100
ORDER BY celkové_hodiny DESC;
Co se děje krok za krokem:
  1. Spojíme zaměstnance s jejich odděleními (INNER JOIN)
  2. Přidáme informace o odpracovaných hodinách (druhý INNER JOIN)
  3. Seskupíme výsledky podle oddělení (GROUP BY)
  4. Vypočítáme agregace – počet zaměstnanců, součet hodin, průměr, platy
  5. Vyfiltrujeme pouze ta oddělení s více než 100 hodinami (HAVING)
  6. Seřadíme od nejvyššího počtu hodin (ORDER BY DESC)

Nejčastější chyby začátečníků

1. Zapomenutí WHERE podmínky při UPDATE/DELETE

CHYBA:
DELETE FROM zaměstnanci;  -- Smaže VŠECHNY zaměstnance!
SPRÁVNĚ:
DELETE FROM zaměstnanci 
WHERE id = 5;  -- Smaže pouze zaměstnance s ID 5

2. Práce s NULL hodnotami

NULL není totéž jako 0 nebo prázdný řetězec. NULL znamená „neznámá hodnota“.
CHYBA:
SELECT * FROM zaměstnanci 
WHERE telefon = NULL;  -- Toto NIKDY NEFUNGUJE!
SPRÁVNĚ:
SELECT * FROM zaměstnanci 
WHERE telefon IS NULL;
Porovnání s NULL:
-- Zaměstnanci BEZ telefonu
WHERE telefon IS NULL

-- Zaměstnanci S telefonem
WHERE telefon IS NOT NULL

-- NULL v aritmetice (jakákoliv operace s NULL je NULL)
SELECT plat + prémie;  -- Pokud prémie je NULL, výsledek je NULL

-- Řešení: použijte COALESCE (nahradí NULL hodnotou)
SELECT plat + COALESCE(prémie, 0) AS celkový_příjem;

3. Nesprávné použití GROUP BY

CHYBA:
SELECT jméno, pozice, COUNT(*) 
FROM zaměstnanci 
GROUP BY pozice;  -- CHYBA: jméno není v GROUP BY!
PRAVIDLO: Pokud používáte GROUP BY, všechny sloupce v SELECT (kromě agregačních funkcí) musí být v GROUP BY.
SPRÁVNĚ:
SELECT pozice, COUNT(*) AS počet 
FROM zaměstnanci 
GROUP BY pozice;

4. Záměna WHERE a HAVING

CHYBA:
-- Chceme oddělení s průměrem nad 2000
SELECT oddělení, AVG(plat) 
FROM zaměstnanci 
WHERE AVG(plat) > 2000  -- CHYBA: WHERE nepracuje s agregacemi!
GROUP BY oddělení;
SPRÁVNĚ:
SELECT oddělení, AVG(plat) AS průměrný_plat 
FROM zaměstnanci 
GROUP BY oddělení
HAVING AVG(plat) > 2000;  -- HAVING je správné pro agregace

5. Nesprávné JOINy

CHYBA:
-- Zapomněli jste ON podmínku
SELECT * 
FROM zaměstnanci z
INNER JOIN oddělení o;  -- CHYBA: chybí ON!
SPRÁVNĚ:
SELECT * 
FROM zaměstnanci z
INNER JOIN oddělení o ON z.oddělení_id = o.id;

6. Velká/malá písmena v LIKE

POZOR: LIKE v některých databázích rozlišuje velká/malá písmena!
-- V MySQL nefunguje case-sensitive porovnání automaticky
SELECT * FROM zaměstnanci WHERE jméno LIKE 'peter';  -- Najde i 'Peter'

-- V PostgreSQL JE case-sensitive!
SELECT * FROM zaměstnanci WHERE jméno LIKE 'peter';  -- Nenajde 'Peter'

-- Řešení: ILIKE (PostgreSQL) nebo LOWER/UPPER
SELECT * FROM zaměstnanci WHERE jméno ILIKE 'peter';  
SELECT * FROM zaměstnanci WHERE LOWER(jméno) LIKE 'peter';  -- Univerzální

Další užitečné SQL příkazyy

DISTINCT - Odstranění duplicit

-- Seznam unikátních pozic ve firmě
SELECT DISTINCT pozice 
FROM zaměstnanci;

-- Kombinace sloupců (unikátní páry)
SELECT DISTINCT pozice, oddělení 
FROM zaměstnanci;

UNION - Spojení výsledků

-- Spojení zaměstnanců ze dvou poboček
SELECT jméno, příjmení FROM zaměstnanci_bratislava
UNION
SELECT jméno, příjmení FROM zaměstnanci_kosice;

-- UNION ALL – ponechá duplicity
SELECT jméno FROM zaměstnanci_bratislava
UNION ALL
SELECT jméno FROM zaměstnanci_kosice;

CASE - Podmíněné výrazy (jako IF v SQL)

SELECT 
    jméno,
    plat,
    CASE 
        WHEN plat < 1500 THEN 'Nízký plat'
        WHEN plat BETWEEN 1500 AND 2500 THEN 'Průměrný plat'
        ELSE 'Vysoký plat'
    END AS kategorie_platu
FROM zaměstnanci;

Poddotazy (Subqueries)

-- Zaměstnanci s platem vyšším než průměrný plat
SELECT jméno, příjmení, plat 
FROM zaměstnanci 
WHERE plat > (
    SELECT AVG(plat) FROM zaměstnanci
);

-- Zaměstnanci z největšího oddělení
SELECT * FROM zaměstnanci 
WHERE oddělení_id = (
    SELECT oddělení_id 
    FROM zaměstnanci 
    GROUP BY oddělení_id 
    ORDER BY COUNT(*) DESC 
    LIMIT 1
);

Kdy SQL úplně stačí?

SQL je dostačující pro:
  • Běžné reporty a dashboardy – denní, týdenní, měsíční přehledy
  • Jednoduchou datovou analytiku – součty, průměry, trendy
  • Databázovou správu – vkládání, úpravu, mazání dat
  • ETL procesy – přenos dat mezi systémy
  • Testování – ověřování dat v aplikacích

Přechod k pokročilé datové analytice

SQL má své limity. Pro složitější analytiku potřebujete:
  • Python nebo R - pokročilá statistika, strojové učení
  • Power BI / Tableau - vizualizace a interaktivní dashboardy
  • Excel + Power Query - spojení SQL s excelovými nástroji

Závěr

SQL není raketová věda, ale vyžaduje praxi. Nejlepší způsob, jak se ho naučit, je:
  1. Přečíst základy (tento článek)
  2. Vyzkoušet si příkazy na vlastní databázi
  3. Řešit reálné problémy – práce s reálnými daty
  4. Zapsat se na kurz – systematické vzdělávání s mentorem

SQL je brána do světa dat. Zvládnete základy za pár týdnů, ale získáte dovednost, která vám vydrží celou kariéru.

Často kladené otázky (FAQ)

Jak dlouho trvá naučit se SQL?

Základy SQL se dají naučit za 2–4 týdny při denním cvičení 1–2 hodiny. SELECT, INSERT, UPDATE a DELETE zvládnete už během prvního týdne. JOINy a agregace vyžadují další týden praxe. Pro pokročilé SQL techniky (indexy, optimalizace, transakce) počítejte s 2–3 měsíci studia.

Je SQL těžké na naučení?

SQL patří mezi nejjednodušší programovací jazyky. Je blízký přirozenému jazyku – příkazy jako SELECT, WHERE, ORDER BY jsou intuitivní. Nejtěžší části jsou JOINy a vnořené dotazy, ale i ty zvládnete s praxí. Pokud umíte používat Excel, SQL bude pro vás logické.

Potřebuji znát programování pro SQL?

Ne. SQL je deklarativní jazyk – říkáte databázi „co“ chcete, ne „jak“ to má udělat. Na rozdíl od Pythonu nebo Javy nepotřebujete chápat cykly, podmínky ani objektové programování. SQL se dá naučit jako první jazyk.

Kolik stojí SQL databáze?

MySQL a PostgreSQL jsou úplně zdarma a open-source. Microsoft SQL Server má bezplatnou verzi Express. Oracle Database má bezplatnou XE verzi. Pro učení nemusíte platit nic – stačí nainstalovat bezplatnou databázi nebo použít online SQL editory jako SQLFiddle.

Jaký je rozdíl mezi MySQL, PostgreSQL a MS SQL Server?

Všechny používají SQL, ale mají mírné rozdíly v syntaxi a funkcích. MySQL je nejrozšířenější (WordPress, e-shopy), PostgreSQL je nejpokročilejší (banky, fintech), MS SQL Server se používá v korporacích. Pro začátečníka je rozdíl minimální, protože základní příkazy jsou stejné.

Mohu SQL používat bez instalace databáze?

Ano. Existují online SQL editory jako SQLFiddle, DB Fiddle nebo SQL Online IDE. Můžete si vytvářet testovací tabulky přímo v prohlížeči. Pro seriózní učení ale doporučujeme nainstalovat MySQL Workbench nebo pgAdmin.

Proč se SQL stále používá, když existují NoSQL databáze?

SQL databáze garantují konzistenci dat (ACID princip), což je kritické pro finance, zdravotnictví a e-commerce. NoSQL je rychlejší pro obrovské objemy dat, ale SQL je spolehlivější. 90 % firemních aplikací používá SQL. NoSQL SQL nenahrazuje, pouze doplňuje.

Co je těžší – SQL nebo Excel?

Excel je jednodušší na začátek, ale SQL je silnější. V Excelu těžko zpracujete miliony záznamů, v SQL snadno. Kontingenční tabulky v Excelu = GROUP BY v SQL. VLOOKUP v Excelu = JOIN v SQL. Když ovládáte Excel, SQL je přirozený další krok.

Potřebuji SQL certifikát pro práci?

Certifikáty nejsou povinné, ale pomáhají. Oracle, Microsoft a MySQL nabízejí oficiální certifikace. Důležitější než certifikát je portfolio – ukažte na GitHubu své SQL skripty a projekty. Zaměstnavatelé oceňují praxi více než papíry.

Funguje SQL stejně ve všech databázích?

Základní příkazy (SELECT, INSERT, UPDATE, DELETE, JOIN) jsou ve všech databázích stejné. Rozdíly jsou v pokročilých funkcích – datové typy, procedury, triggery. Když se naučíte MySQL, přechod na PostgreSQL je otázka týdnů.

Jak se SQL používá s Pythonem nebo jinými jazyky?

Python se připojuje k SQL databázi pomocí knihoven jako psycopg2 (PostgreSQL) nebo mysql-connector. V kódu píšete SQL příkazy jako řetězce. Například: cursor.execute("SELECT * FROM users WHERE age > 18"). SQL se stará o data, Python o logiku aplikace.
Skillmea
🥇 Sme jednotka v online vzdelávaní na Slovensku.

Na našom webe nájdeš viac ako 600 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod.

Vyber si kurz, ktorý ťa posunie vpred ⏩

Mohlo by tě zajímat

Co je Scratch a proč je ideální pro první programování?
Vzdělávání
04.01.2026
Skillmea

Co je Scratch a proč je ideální pro první programování?

Chcete, aby se vaše dítě naučilo programovat, ale klasické programovací jazyky se zdají příliš složité? Scratch je přesně to, co hledáte. V tomto komplexním průvodci se dozvíte, co je Scratch, jak funguje a proč je perfektním prvním krokem do světa programování. Pro koho je tento článek?Tento průvodce je určen pro: • Rodiče, kteří hledají způsob, jak naučit děti programovat • Učitele základních a středních škol zavádějící programování do výuky • Děti a mládež od 5 do 18 let, které chtějí vytvářet vlastní hry • Dospělé začátečníky, kteří chtějí pochopit základy programování bez technického žargonu • Pedagogy hledající nástroje pro kroužky programování Programování pro děti – proč začít co nejdříve?V digitálním světě není programování jen dovednost pro IT profesionály. Je to způsob myšlení, který rozvíjí: Logické myšlení – děti se učí dělit složité problémy na menší, řešitelné části Kreativitu – vytvářejí vlastní příběhy, hry a animace Řešení problémů – učí se odhalovat chyby (debugging) a hledat řešení Vytrvalost – když něco nefunguje, zkouší různé přístupy Matematické dovednosti – používají souřadnice, proměnné, podmínky přirozeně Výzkumy ukazují, že děti, které se učí programovat v raném věku, mají lepší výsledky v matematice a přírodních vědách. Programování není jen o „tvorbě webu“ – je to způsob, jak rozvíjet schopnost řešit jakýkoli problém systematicky. Problém: Klasické programovací jazyky (Python, Java, JavaScript) mají strmou křivku učení. Dítě musí nejprve zvládnout syntaxi, debugging chyb v textovém kódu a abstraktní koncepty. Řešení: Scratch odstraní všechny technické bariéry a ponechá jen to podstatné – logiku programování. Co je Scratch?Scratch je vizuální programovací jazyk vyvinutý výzkumnou skupinou MIT Media Lab (Massachusettský technologický institut) pod vedením profesora Mitchela Resnicka. První verze byla spuštěna v roce 2007 a dnes jej používají desítky milionů lidí po celém světě. Základní fakta o Scratchi:• 🌍 100% zdarma - žádné skryté poplatky, prémiové funkce ani reklamy • 🌐 Online i offline - funguje v prohlížeči i jako desktopová aplikace • 🎨 Vizuální bloky - programujete skládáním barevných bloků jako Lego kostky • 👶 Od 5 let - oficiální doporučení je 8+, ale mladší děti to zvládají s pomocí • 🌍 70+ jazyků - plná slovenská a česká lokalizace • 💾 Žádná instalace -spustíte přímo na scratch.mit.edu • 🎮 Miliony projektů - komunita sdílí hry, animace a tutoriály Proč se jmenuje „Scratch“?Název pochází z techniky „scratching“ u DJ-ů, což je míchání a remixování hudby. Scratch je postaven na stejné filozofii: vezmi existující projekt, uprav ho, přidej své nápady a vytvoř něco nového. Blokové programování – co to znamená?Tradiční programování vypadá takto (Python): if player.x > 100: player.move(10) score = score + 1Scratch vypadá takto: [oranžový blok] Pokud je [x pozice] > [100] [modrý blok] posuň se o [10] kroků [zelený blok] změň [skóre] o [1]Výhody blokového programování:✅ Žádné překlepy – bloky se klikají myší, nepíšou ✅ Žádné chyby syntaxe – bloky zapadají jen tam, kde dávají smysl ✅ Vizuální logika – ihned vidíte strukturu programu ✅ Barevné kategorie – pohyb je modrý, vzhled fialový, zvuk růžový atd. ✅ Okamžitá zpětná vazba – spustíte a hned vidíte výsledek Analogie: Představte si, že učíte dítě stavět domy. Klasické programování je jako dát mu cihly, cement a nákresy. Scratch je jako dát mu Lego kostky – výsledek je stejný (dům), ale proces je mnohem intuitivnější. Jak Scratch funguje – logika bez kóduScratch funguje na základě událostí (events) a reakcí na ně. Je to přesně tak, jak fungují hry a aplikace, které dítě používá každý den. Základní struktura programu ve Scratchi1. Sprite (postava / objekt) • Může to být kočka, auto, míč, oblak – cokoliv • Každý sprite má svůj vlastní kód • Můžete mít na scéně desítky sprite-ů najednou 2. Pozadie (backdrop) • Scéna, kde se odehrává akce • Může se měnit (např. level 1 → level 2) 3. Bloky kódu • Události (oranžové) – „Když se klikne na zelenou vlajku“, „Když se stiskne mezerník“ • Pohyb (modré) – „Posuň se o 10 kroků“, „Otoč se o 90°“ • Vzhled (fialové) – „Řekni Ahoj!“, „Změň kostým“ • Zvuk (růžové) – „Zahraj zvuk“, „Nahraj vlastní zvuk“ • Podmínky (žluté) – „Pokud se dotýkáš hrany, otoč se“ • Proměnné (oranžové) – „Skóre“, „Životy“, „Rychlost“ • Operátory (zelené) – Matematika a porovnávání Jednoduchý příklad – Kočka honí myš[SPRITE: Kočka] Když se klikne na 🚩 zelenou vlajku Opakuj donekonečna Ukaž se na [kurzor myši] Posuň se o [5] kroků Pokud se dotýkáš [Myš] Změň [skóre] o [1] Zahraj zvuk [mňau] Konec [SPRITE: Myš] Když se klikne na 🚩 zelenou vlajku Opakuj donekonečna Pokud se stiskne klávesa [šipka nahoru] Změň [y] o [10] Pokud se stiskne klávesa [šipka dolů] Změň [y] o [-10] [Jednoduchá hra ve Scratchi] Výsledek: Kočka sleduje kurzor myši. Myš ovládáte šipkami. Když se kočka dotkne myši, skóre se zvýší a přehraje se zvuk. Toto je kompletní hra vytvořená za 5 minut. Žádný kód, jen logika. Pro koho je Scratch vhodný?1. Děti od 5 do 8 let (s pomocí dospělého)Co dokážou: • Posouvat sprite-y po scéně • Měnit barvy a kostýmy • Přehrávat zvuky • Vytvářet jednoduché animace Vhodné projekty: • Pohybující se kočka • Střídající se obrázky (flipbook animace) • Jednoduchý příběh s replikami Tip pro rodiče: První projekty dělejte společně. Dítě si vybírá, co chce vytvořit, vy ho navigujete, které bloky použít. 2. Děti od 8 do 12 let (samostatně)Co dokážou: • Vytvářet vlastní hry (skákačky, střílečky, kvízy) • Používat proměnné (skóre, životy, levely) • Pracovat s podmínkami (pokud–potom) • Debugovat vlastní kód Vhodné projekty: • Pong (hra s raketou a míčem) • Flappy Bird klon • Kvíz s bodováním • Příběh s větvením (interaktivní příběh) Benefit: V tomto věku děti zvládají Scratch úplně samostatně. Stačí jim základní tutoriál a potom experimentují. 3. Teenageři 13–18 letCo dokážou: • Komplexní hry s více levely • Fyzikální simulace (gravitace, kolize) • Umělou inteligenci ve hrách (AI nepřátelé) • Klony známých her (Minecraft 2D, Snake, Tetris) Vhodné projekty: • Platformer (Super Mario styl) • Tower Defense • RPG s dialogy a inventářem • Multiplayer hry (přes cloudové proměnné) Přechod k textovému programování: Po 6–12 měsících Scratch-e jsou připraveni na Python, JavaScript nebo C#. 4. Dospělí začátečníci (bez IT zkušeností)Proč Scratch i pro dospělé: • Chápete základy programování bez technického žargonu • Vidíte okamžité výsledky (motivující) • Pochopíte koncepty (cykly, podmínky, funkce), které jsou všude • Připravíte se na učení „skutečného“ programování Reálný use case: Učitelé základních škol, kteří se potřebují naučit programování pro ISCED standard, začínají právě Scratchem. 5. Učitelé a školyScratch je oficiálně součástí vzdělávacích programů ve 100+ zemích světa. V České republice a na Slovensku je součástí osnov informatiky na základních školách. Výhody pro učitele: • 📚 Hotové učební materiály (lekce, pracovní listy, projekty) • 👥 Možnost vytvořit třídu a sledovat pokrok žáků • 🎓 Bezplatné kurzy pro učitele na scratch.mit.edu/educators • 🌍 Aktivní komunita učitelů sdílejících nápady Výhody Scratch-e – proč právě on?1. Rozvoj logického myšleníScratch učí děti „computational thinking“ – schopnost rozdělit problém na menší části a řešit je systematicky. Příklad: Chcete vytvořit hru, kde míč musí sbírat jablka a vyhýbat se překážkám. Postup (dekompozice problému): 1. Vytvoř sprite míče a jablka 2. Naprogramuj pohyb míče (šipky) 3. Udělej, aby jablka padala shora 4. Když míč chytí jablko → +1 bod 5. Přidej překážky 6. Když míč narazí na překážku → game over Toto je přesně stejný myšlenkový proces, jaký používají profesionální programátoři při vývoji aplikací. 2. Kreativita bez hranicNa rozdíl od tradičních programovacích jazyků, kde se začíná učením syntaxe, Scratch začíná otázkou: „Co chceš vytvořit?“. Děti nevytvářejí „cvičné programy“ (Hello World, kalkulačky). Od začátku tvoří to, co je baví: • 🎮 Hry (skákačky, střílečky, logické hry) • 🎬 Animované příběhy • 🎵 Hudební projekty (interaktivní nástroje) • 🎨 Digitální umění (generativní grafiky) • 🧪 Simulace (gravitace, ekosystémy, chemické reakce) 3. Okamžitá zpětná vazbaKlasické programování: • Napíšeš kód → Skompiluj → Čekej → Testuj → Oprav chyby → Opakuj Scratch: • Přidáš blok → Spusť (zelená vlajka) → Ihned vidíš výsledek Tento okamžitý feedback loop je klíčový pro učení. Děti experimentují, vidí výsledek a iterují – to je podstata kreativního programování. 4. Žádné frustrující chybyV klasických programovacích jazycích tráví začátečníci většinu času opravováním chyb: • SyntaxError: invalid syntax (zapomněl jsi dvojtečku) • NameError: name 'skore' is not defined (překlep v názvu proměnné) • IndentationError (špatné odsazení) Ve Scratchi: • Bloky nelze spojit, pokud to nedává smysl (prevence chyb) • Žádné překlepy – vše je vizuální • Žádné chybějící středníky nebo závorky To neznamená, že ve Scratchi nejsou chyby. Jsou to logické chyby („Proč kočka nejde doprava?“), které učí děti debugovat myšlení, ne syntaxi. 5. Komunita a sdíleníScratch má obrovskou globální komunitu: • 100+ milionů projektů sdílených na platformě • Možnost remixovat (upravit) projekty jiných • Komentáře a feedback od ostatních tvůrců • Scratch Day – celosvětová událost každý rok v květnu Děti se neučí programovat izolovaně. Vidí, co vytvořili ostatní, inspirují se a vylepšují to. 6. Multidisciplinární učeníScratch není jen programování. Je to nástroj, který integruje: • Matematiku – souřadnicový systém, úhly, náhodná čísla, proměnné • Fyziku – gravitace, zrychlení, odrazy • Umění – design postaviček, pozadí, animace • Hudbu – skládání vlastních melodií, rytmy • Příběhové vyprávění – scénáře, dialogy, větvení děje 7. Přechod k profesionálnímu programováníScratch není dětská hračka. Je to plnohodnotný programovací jazyk s: • Proměnnými a seznamy (arrays) • Podmínkami (if–then–else) • Cykly (loopy) • Funkcemi (vlastní bloky) • Událostmi a zprávami (event-driven programming) • Klonováním objektů Tyto koncepty jsou identické v Pythonu, JavaScriptu, C# nebo jakémkoli jiném jazyce. Když dítě ovládá Scratch, má pevný základ pro učení textového programování. Jak začít se Scratchem – praktický průvodceKrok 1: Spusťte Scratch1. Otevřete prohlížeč (Chrome, Firefox, Safari, Edge) 2. Přejděte na scratch.mit.edu 3. Klikněte na „Vytvořit“ (Create) 4. Hotovo! Nepotřebujete registraci (ale doporučujeme ji pro ukládání projektů) Offline verze: Pokud nemáte internet, stáhněte Scratch Desktop z scratch.mit.edu/download Krok 2: Seznamte se s rozhranímScéna (vlevo nahoře) – zde vidíte výsledek Seznam sprite-ů (vpravo dole) – vaše postavičky Bloky (střed) – programovací příkazy Kódová plocha (vpravo) – zde skládáte bloky Krok 3: První projekt – Tančící kočka1. Mkategorii Události (oranžové) uchopte blok „Když se klikne na 🚩“ 2. V kategorii Vzhled (fialové) přidejte „Řekni Ahoj! na 2 sekundy“ 3. V kategorii Pohyb (modré) přidejte „Posuň se o 10 kroků“ 4. Klikněte na zelenou vlajku Gratulujeme! Vytvořili jste první program. Kočka řekne „Ahoj!“ a posune se. Krok 4: Následujte interaktivní tutoriályScratch má vestavěné krokové tutoriály: • Klikněte na ikonu „Tutoriály“ (žárovka vlevo nahoře) • Vyberte si projekt (např. „Animuj jméno“, „Vytvoř příběh“) • Postupujte podle kroků Krok 5: Experimentujte a remixujte• Prozkoumejte projekty na  scratch.mit.edu/explore • Klikněte na „Podívat se dovnitř“ (See Inside) u projektu, který vás zaujme • Klikněte na „Remix“ a upravte ho podle sebe [Prostředí Scratchu] Scratch vs. jiné nástroje pro dětiPorovnání Scratch-e s jinými nástroji pro výuku programování.[Scratch vs. jiné nástroje pro výuku programování] Nejčastější mýty o ScratchiMýtus 1: „Scratch je jen pro děti“Realita: Scratch používají i dospělí na prototypování her, interaktivní prezentace a učení se programování. Je to nástroj, ne hračka. Mýtus 2: „Scratch nenaučí skutečné programování“Realita: Všechny koncepty ve Scratchi (proměnné, cykly, podmínky, funkce) jsou identické s profesionálními jazyky. Rozdíl je pouze v syntaxi. Mýtus 3: „Po Scratchi se musí začít od nuly s Pythonem“Realita: Přechod ze Scratch na Python je plynulý. Dítě už chápe logiku, učí se jen novou syntaxi. Absolventy Scratch-e učíte Python 3× rychleji. Mýtus 4: „Scratch nemá limity, děti se nenaučí dělat kompromisy“Realita: Scratch má technické limity (maximální počet klonů, rychlost vykonávání). Děti se učí optimalizovat kód, což je důležitá dovednost. Mýtus 5: „Scratch vytváří pasivní konzumenty, ne tvůrce“Realita: Scratch je postavený na tvoření, ne na konzumování. Komunita sdílí projekty, které jiní remixují – aktivní, kreativní kultura. Často kladené otázky (FAQ)Je Scratch zdarma?Ano, Scratch je 100% zdarma a bude vždy. Žádné skryté poplatky, reklamy ani prémiové funkce. Je to non-profit projekt MIT. Potřebuji na Scratch výkonný počítač?Ne. Scratch funguje v každém moderním prohlížeči. Stačí počítač s internetem. Funguje i na Chromebookech a starších laptopech. Funguje Scratch na tabletu nebo mobilu?Oficiální webová verze Scratch není optimalizována pro mobily. Pro mladší děti (5–7 let) existuje ScratchJr - zjednodušená mobilní verze pro iOS a Android. Musím se registrovat?Ne, můžete vytvářet projekty i bez registrace. Registrace (zdarma) umožní: • Ukládat projekty online • Sdílet je s komunitou • Remixovat projekty jiných • Dostávat komentáře a feedback Jak dlouho trvá naučit se Scratch?Základy zvládnete za 1–2 hodiny. První jednoduchou hru vytvoříte za 1–2 dny. Pokročilé projekty po 2–3 měsících pravidelného cvičení. Může dítě používat Scratch bez dohledu?Ano. Scratch je bezpečný, komunita je moderovaná. Doporučujeme první projekty dělat společně, později může dítě pracovat samostatně. Je Scratch dostupný v češtině?Ano. Scratch je plně přeložen do češtiny i slovenštiny. Všechny bloky, návody i rozhraní jsou v našem jazyce. Dá se ve Scratchi vytvořit mobilní aplikace?Scratch sám mobilní aplikace netvoří. Existují nástroje (např. Turbowarp), které dokážou Scratch projekty převést. Pro skutečné mobilní aplikace je vhodný MIT App Inventor  Co po Scratchi? Jaký je další krok?Po 6–12 měsících Scratch-e je dítě připravené na: 1. Python - nejjednodušší textový jazyk 2. JavaScript - tvorba webů a her 3. Unity + C# - tvorba 3D her 4. MIT App Inventor - mobilní aplikace (stále blokový jazyk) Může Scratch pomoci mému dítěti ve škole?Ano! Scratch rozvíjí: • Matematiku – souřadnice, proměnné, logické myšlení • Fyziku – simulace (gravitace, kolize) • Češtinu – psaní příběhů, dialogů • Angličtinu – mezinárodní komunita Je Scratch vhodný pro děti s ADHD nebo dyslexií?Ano, mnoho učitelů ho doporučuje právě pro tyto děti. Vizuální forma bez psaní textu je méně frustrující. Okamžitá zpětná vazba udržuje pozornost. Krátké projekty (15–30 minut) jsou ideální pro děti s kratší koncentrací. Může být Scratch náhradou za videohry?Ano! Místo pasivního hraní her dítě tvoří vlastní. Naučí se, jak hry fungují „za oponou“. Rodiče často říkají, že Scratch změnil pohled dětí na technologie – z konzumentů na tvůrce. Kdy Scratch úplně stačí a kdy přejít dál?Scratch stačí pro:✅ Základy programování – pochopení logiky, proměnných, podmínek, cyklů ✅ Jednodušší 2D hry – skákačky, střílečky, logické hry, kvízy ✅ Animace a příběhy – interaktivní pohádky, film-style projekty ✅ Matematické simulace – geometrie, fyzika, vizualizace ✅ Kreativní experimentování – digitální umění, hudba Přejděte na textové programování, když:Dítě vytváří projekty samostatně už 6–12 měsíců Chce vytvořit něco, co Scratch nezvládá (3D hry, mobilní aplikace, webové stránky) Začíná ho omezovat jednoduchost Scratch-e Zajímá se o „jak fungují reálné aplikace“ Má 12+ let a chce se věnovat IT profesionálně Zlaté pravidlo: Scratch není cíl, ale most. Most mezi „žádnými znalostmi“ a „schopností programovat“. Když dítě přejde přes most, je připravené na nový svět. Plynulý přechod k skutečnému programováníMnoho rodičů se obává: „Co když se dítě zasekne na Scratchi a nebude chtít učit skutečné programování?“ Realita: Absolvent Scratch-e má obrovskou výhodu. Už chápe: • Co jsou proměnné a jak se používají • Jak fungují podmínky (if–else) • Jak dělat cykly (loopy) • Co je funkce (vlastní blok) • Jak debugovat program Jediný rozdíl: Syntaxe. Místo „posuň se o 10 kroků“ píše: player.move(10) ZávěrScratch není dětská hračka. Je to plnohodnotný programovací jazyk, který učí základy programování bez technických bariér. Je to nástroj, který umožňuje dětem (i dospělým) vytvářet hry, animace, příběhy a simulace – a přitom se učí dovednosti, které budou potřebovat v 21. století. Ať je vašemu dítěti 5 nebo 15 let, Scratch je perfektní první krok do světa programování. A kdo ví – možná právě váš syn nebo dcera bude programovat aplikace, které změní svět. Nejlepší čas začít se Scratchem? Dnes. Otevřete scratch.mit.edu a začnětě s tančící kočkou. Za měsíc budete vytvářet hry.
Co je MVC? Model-View-Controller architektura vysvětlena jednoduše
Vzdělávání
27.12.2025
Skillmea

Co je MVC? Model-View-Controller architektura vysvětlena jednoduše

Ak ste sa niekedy pýtali, ako organizovať kód vo vašej aplikácii tak, aby bol prehľadný, udržiavateľný a ľahko rozšíriteľný, MVC architektúra je odpoveď. V tomto článku sa dozviete všetko, čo potrebujete vedieť o jednom z najpoužívanejších návrhových vzorov v modernom programovaní. Čo je MVC architektúra?MVC architektúra je základný návrhový vzor, ktorý pomáha vývojárom organizovať kód tým, že aplikáciu rozdeľuje na tri navzájom prepojené časti. Ak sa pýtate, čo znamená MVC, ide o skratku Model, View, Controller - tri samostatné vrstvy, ktoré spolupracujú na vytvorení prehľadných a dobre štruktúrovaných aplikácií. Model-View-Controller vzor rieši jeden z najčastejších problémov vo vývoji softvéru: ako aplikácie rastú a stávajú sa zložitejšími, kód sa môže rýchlo zamotať a stať sa ťažko udržiavateľným. MVC tento problém rieši tým, že jasne oddeľuje jednotlivé typy funkcionalít. Pri implementácii MVC architektúry má každá časť kódu jasne definovaný účel: • Jedna časť kódu pracuje s dátami aplikácie (Model) • Ďalšia sa stará o to, ako aplikácia vyzerá (View) • Tretia riadi, ako aplikácia funguje a reaguje na vstupy používateľa (Controller) MVC vzor bol vyvinutý už v 70. rokoch 20. storočia a postupne sa stal štandardom vo webovom vývoji, mobilných aplikáciách a takmer všetkých moderných frameworkoch. Komponenty MVC architektúryModel: Dáta a biznis logikaModel predstavuje dátovú vrstvu aplikácie. Kód v Modeli zvyčajne odráža reálne objekty a obsahuje všetky dôležité časti, ktoré definujú, čo aplikácia robí a s akými dátami pracuje. Zodpovednosti Modelu: • Ukladanie a správa aplikačných dát • Definovanie biznis pravidiel a logiky • Zabezpečenie validácie údajov • Komunikácia s databázou • Informovanie ostatných častí aplikácie o zmenách dát Dôležité: Model nerieši, ako sa dáta zobrazia používateľovi - jeho úlohou je výlučne práca s dátami a logikou. Príklad: V e-shope Model definuje, čo je produkt (názov, cena, skladové množstvo), ako sa produkty ukladajú do databázy, ako sa počíta celková cena objednávky a či je produkt dostupný. View: Používateľské rozhranie a prezentáciaView má na starosti všetko, čo používateľ vidí a s čím priamo interaguje. Ide o používateľské rozhranie aplikácie, teda obrazovky, formuláre, tlačidlá, zoznamy či grafy. Zodpovednosti View: • Zobrazenie dát používateľovi • Rozloženie prvkov na obrazovke (layout) • Štýlovanie a vizuálna stránka • Základné reakcie na interakcie (kliknutie, vyplnenie formulára) • Aktualizácia zobrazeného obsahu pri zmene dát v Modeli Dôležité: View sa aktualizuje vždy, keď sa zmenia dáta v Modeli, aby používateľ vždy videl aktuálny stav aplikácie. View však neobsahuje zložitú logiku - jeho úlohou je prezentácia, nie rozhodovanie. Controller: Aplikačná logika a koordináciaController funguje ako sprostredkovateľ medzi Modelom a View. Prijíma vstupy od používateľa a rozhoduje, čo sa má s nimi urobiť. Dá sa povedať, že Controller je "mozgom" aplikácie, ktorý spája dátovú vrstvu s používateľským rozhraním. Zodpovednosti Controlleru: • Spracovanie používateľských akcií (kliknutia, odoslanie formulárov) • Aktualizácia Modelu na základe týchto akcií • Výber správneho View na zobrazenie • Riadenie toku aplikácie (navigácia, routovanie) • Zabezpečenie komunikácie medzi Modelom a View Controller zabezpečuje, aby Model a View spolu správne komunikovali bez toho, aby boli na sebe priamo závislé. To je podstata MVC - separation of concerns (oddelenie zodpovedností). Ako spolu komponenty MVC komunikujú?Spolupráca Modelu, View a Controllera prebieha v jasne definovanom toku: 1. Používateľská interakcia - Používateľ interaguje s View (klikne na tlačidlo, odošle formulár) 2. Controller spracuje akciu - View odošle akciu Controlleru, ktorý ju spracuje 3. Aktualizácia Modelu - Controller v prípade potreby aktualizuje Model (uloží dáta do databázy) 4. Model informuje View - Model informuje View o zmene dát 5. View sa znovu vykreslí - View zobrazí aktualizované informácie Kľúčový princíp: Model a View spolu nekomunikujú priamo. Všetka komunikácia prebieha cez Controller, čo zabezpečuje ich nezávislosť. [MVC architektúra] MVC cez každodenné prirovnanieMVC si môžeme predstaviť ako prípravu sviatočnej večere: 🍽️ Chladnička plná surovín = Model • Obsahuje všetky dáta (ingrediencie) • Stará sa o to, aby bolo všetko čerstvé 📖 Recept = Controller • Určuje, aké suroviny použiť a ako ich spracovať • Riadi celý proces varenia 🍽️ Prestretý stôl = View • Rozhranie, prostredníctvom ktorého hostia jedlo "používajú" • Určuje, ako jedlo vyzerá a prezentuje sa Toto rozdelenie robí celý proces prehľadnejším. Môžete zmeniť recept bez nákupu nových surovín, vymeniť taniere bez zmeny chuti jedla, alebo pridať nové ingrediencie bez toho, aby sa zmenil spôsob servírovania. MVC vs MVP vs MVVM: Porovnanie architektonických vzorovMVC nie je jediný návrhový vzor. Pozrime sa na rozdiely medzi najpopulárnejšími alternatívami: [Porovnanie MVC, MVP a MVVM architektúry] Kľúčové rozdiely v komunikácii:MVC: User → View → Controller → Model → ViewMVP: User → View → Presenter → Model → Presenter → ViewMVVM: User → View ↔ ViewModel ↔ ModelKtorý zvoliť?Zvoľte MVC, ak: • Vytvárate klasickú webovú aplikáciu • Potrebujete jednoduchý a overený prístup • Pracujete s frameworkom, ktorý MVC podporuje Zvoľte MVP, ak: • Vyvíjate Android aplikáciu • Potrebujete vysokú testovateľnosť • Chcete úplnú izoláciu View od Modelu Zvoľte MVVM, ak: • Vytvárate Single Page Application • Potrebujete two-way data binding • Chcete automatické updates UI pri zmene dát Výhody a nevýhody MVC architektúryVýhody MVC1. Oddelenie zodpovedností  Najväčšia výhoda MVC je jasné oddelenie jednotlivých častí kódu. Každá vrstva má svoju zodpovednosť, čo robí kód prehľadnejším, ľahšie čitateľným a jednoduchším na údržbu. 2. Lepšia tímová spolupráca  Frontend vývojári sa môžu sústrediť na View, backend vývojári na Model a Controller. Tímy môžu pracovať paralelne bez toho, aby si navzájom prekážali. 3. Znovupoužiteľnosť kódu  Model môžete použiť s rôznymi Views - webová verzia, mobilná aplikácia, desktop aplikácia alebo API môžu zdieľať rovnaký Model a Controller. 4. Jednoduchšie testovanie  Každá časť sa dá testovať samostatne - unit testy pre Model, integration testy pre Controller, UI testy pre View. 5. Škálovateľnosť  MVC aplikácie sa ľahšie škálujú. Keď rastie zložitosť projektu, jasná štruktúra zabezpečuje, že kód nezapadne do chaosu. Nevýhody MVC1. Zbytočná zložitosť pre malé projekty  Pre jednoduché aplikácie (landing page, prototyp) môže byť MVC prílišnou réžiou. Rozdelenie do troch vrstiev pridáva boilerplate kód, ktorý pri malom projekte spomalí vývoj. 2. Strmšia krivka učenia  Pre začiatočníkov môže byť MVC náročnejšie na pochopenie - treba rozumieť všetkým trom komponentom a toku dát medzi nimi. 3. Potenciálne "tlsté" Modely alebo Controllery  V praxi sa často stáva, že Model alebo Controller obsahuje príliš veľa logiky. Toto je však skôr problém nesprávnej implementácie než samotného MVC vzoru. Kedy MVC používať a kedy nie?Použite MVC, ak:• Vytvárate stredne veľkú až veľkú aplikáciu • Pracujete v tíme a potrebujete jasné rozdelenie zodpovedností • Aplikácia sa bude časom rozširovať • Chcete mať rovnaký Model pre web, mobil aj API • Používate framework, ktorý MVC podporuje Nepoužívajte MVC, ak:• Vytvárate jednoduchú statickú webstránku • Robíte rýchly prototyp na testovanie nápadu • Aplikácia má menej než 5 súborov kódu • Ste úplný začiatočník učiaci sa základy Populárne MVC frameworkyVďaka širokému využitiu MVC vzniklo množstvo frameworkov, ktoré tento vzor implementujú: Webové frameworkyRuby on Rails (Ruby) • Preslávil MVC v oblasti webového vývoja • Silné konvencie, rýchly vývoj • Ideálne pre: Startupy, rýchle prototypy, webové aplikácie ASP.NET MVC (C#) • Microsoft framework s typovou bezpečnosťou • Výkonné nástroje (Visual Studio) • Ideálne pre: Enterprise aplikácie, Windows prostredie Django (Python) • Používa vzor MVT (veľmi podobný MVC) • "Batteries included" filozofia • Ideálne pre: Data-driven aplikácie, admin panely Laravel (PHP) • Moderný PHP framework s elegantným zápisom • Bohatá dokumentácia, silná komunita • Ideálne pre: PHP vývojárov, webové aplikácie Spring (Java) • Enterprise-level framework pre Java • Robustné, škálovateľné, bezpečné • Ideálne pre: Veľké korporátne systémy Frontend a mobilné frameworkyAngular (TypeScript) • Komponentová architektúra inšpirovaná MVC/MVVM • Two-way data binding • Ideálne pre: Single Page Applications iOS UIKit (Swift) • Apple tradične používa MVC cez UIViewController • Ideálne pre: iOS aplikácie Android (Java/Kotlin) • Android framework pôvodne stavil na MVC • Dnes sa častejšie používa MVP alebo MVVM • Ideálne pre: Android aplikácie ZáverMVC architektúra predstavuje overený spôsob, ako organizovať kód v moderných aplikáciách. Rozdelením aplikácie na Model, View a Controller vznikajú prehľadnejšie, udržiavateľnejšie a lepšie spolupracujúce kódy. Princípy MVC sú univerzálne a fungujú naprieč programovacími jazykmi aj platformami. Či už vyvíjate webové, mobilné alebo desktopové aplikácie, pochopenie MVC vám pomôže vytvárať kvalitnejšie a lepšie štruktúrované riešenia. Často kladené otázky (FAQ)Kedy používať MVC?MVC je vhodné pre stredne veľké až veľké aplikácie, tímové projekty a aplikácie, ktoré sa budú časom rozširovať. Menej vhodné je pre jednoduché statické weby alebo rýchle prototypy. Aký je rozdiel medzi MVC a MVT?MVT používa napríklad Django. V tomto prípade „View" plní rolu Controlleru a „Template" zodpovedá View v MVC. Ide najmä o rozdiel v názvosloví, princíp zostáva rovnaký. Aké sú alternatívy k MVC?Medzi najznámejšie alternatívy patria MVP (Model-View-Presenter), MVVM (Model-View-ViewModel), komponentová architektúra alebo mikroservisy. Výber závisí od typu projektu a platformy. Prečo používame View v MVC?View oddeľuje prezentačnú logiku od biznis logiky, vďaka čomu je jednoduchšie meniť vzhľad aplikácie bez zásahu do jej funkčnosti. Je MVC programovací jazyk?Nie. MVC je architektonický návrhový vzor, ktorý možno implementovať v akomkoľvek programovacom jazyku, ako sú Java, Python, C#, Ruby či JavaScript. Je MVC ešte relevantné v roku 2025?Áno! Hoci vznikli nové vzory ako MVVM a reaktívne architektúry, MVC zostáva štandardom vo webovom vývoji a je základom mnohých moderných frameworkov. Ako dlho trvá naučiť sa MVC?Základné pochopenie MVC môžete získať za 1-2 týždne. Praktické zvládnutie MVC v konkrétnom frameworku (Django, Laravel, Rails) trvá 2-3 mesiace pravidelného učenia a praxe.
Co je REST API a jak funguje? Kompletní průvodce pro začátečníky
Vzdělávání
22.12.2025
Skillmea

Co je REST API a jak funguje? Kompletní průvodce pro začátečníky

Ak ste niekedy premýšľali, ako spolu komunikujú webové aplikácie, mobilné aplikácie a servery, odpoveď je jednoduchá: REST API. REST (Representational State Transfer) je dnes najrozšírenejší štandard pre výmenu dát medzi systémami na internete. V tomto článku sa dozviete, čo je REST API, ako funguje, aké sú jeho základné princípy a prečo sa stal štandardom moderného webového vývoja. Či už ste začínajúci programátor, IT analytik alebo sa len chcete zorientovať v technológiách, tento návod vám všetko vysvetlí jednoducho a zrozumiteľne. Čo je REST?REST (Representational State Transfer) je architektonický štýl, ktorý definuje pravidlá pre komunikáciu medzi systémami na webe. Jeho hlavným cieľom je zjednodušiť interakciu medzi klientom (napríklad webový prehliadač alebo mobilná aplikácia) a serverom poskytovaním konzistentného prístupu k dátam. Systémy, ktoré dodržiavajú princípy REST, sa nazývajú RESTful systémy. Tieto systémy sú postavené na dvoch kľúčových princípoch: 1. Architektúra klient-serverV REST architektúre je klient oddelený od servera. To znamená, že: • Kód na strane klienta môže byť zmenený bez ovplyvnenia servera • Kód na strane servera môže byť upravený bez ovplyvnenia klienta • Oba systémy musia len vedieť, v akom formáte si vymieňajú správy Táto separácia prináša obrovské výhody: • Flexibilitu - používateľské rozhranie môže byť rôzne na webe, mobile či tablete • Škálovateľnosť - server je jednoduchší a ľahšie sa rozširuje • Modularitu - každá časť systému sa vyvíja nezávisle Predstavte si to ako reštauráciu: hosť (klient) komunikuje cez jedálny lístok (API), ale nemusí vedieť, čo sa deje v kuchyni (server). Kuchár môže zmeniť recept, ale hosť stále objedná cez ten istý jedálny lístok. 2. Bezstavovosť (Statelessness)Systémy založené na REST sú bezstavové, to znamená, že server si nepamätá predchádzajúce požiadavky klienta. Každá požiadavka musí obsahovať všetky potrebné informácie na jej spracovanie. Príklad: • ❌ Server si nepamätá: "Tento používateľ už je prihlásený" • ✅ Každá požiadavka obsahuje: "Tu je môj autentifikačný token" Bezstavovosť zabezpečuje: • Spoľahlivosť - ak spadne jedna požiadavka, neovplyvní to ďalšie • Výkon - server nemusí uchovávať stav tisícov klientov • Škálovateľnosť - požiadavky môžu byť spracované na rôznych serveroch Tieto dva princípy pomáhajú RESTful aplikáciám dosahovať vysokú spoľahlivosť, výkon a škálovateľnosť. Čo je REST API?REST API (Application Programming Interface), známe aj ako RESTful API, je spôsob, akým aplikácie komunikujú cez internet podľa princípov REST. Je to kontrakt medzi klientom a serverom, ktorý definuje, ako si vymieňať dáta. REST API poskytuje štruktúrovaný spôsob prístupu k zdrojom (resources), ako sú používatelia, produkty, objednávky alebo články, pomocou štandardizovaných HTTP metód (GET, POST, PUT, DELETE). Ako vyzerá REST API v praxi?V REST API je každý zdroj identifikovaný unikátnym URI (Uniform Resource Identifier) a dáta sa vymieňajú v ľahkých formátoch ako JSON alebo XML. Príklad: • Chcete získať zoznam všetkých produktov v e-shope • Vaša aplikácia pošle požiadavku: GET https://eshop.sk/api/produkty • Server vráti zoznam produktov vo formáte JSON { "produkty": [ { "id": 1, "nazov": "Notebook Dell XPS", "cena": 1299 }, { "id": 2, "nazov": "iPhone 15 Pro", "cena": 1399 } ] }REST API je teda most medzi vašou aplikáciou (frontend) a databázou na serveri (backend), ktorý zabezpečuje, že komunikácia prebieha presne a predvídateľne. Ako funguje komunikácia v REST API?Keď klient komunikuje so serverom cez REST API, prebieha to formou požiadaviek (requests) a odpovedí (responses). Pozrime sa, ako to funguje detailne. Ako sa tvoria požiadavky (Requests)Každá REST API požiadavka obsahuje tieto základné komponenty: 1. HTTP metóda (verb) Definuje, akú operáciu chcete vykonať: • GET - Načítanie dát (zobrazenie zoznamu alebo konkrétneho záznamu) • POST - Vytvorenie nového záznamu • PUT - Aktualizácia existujúceho záznamu • DELETE - Vymazanie záznamu Príklad použitia: GET /produkty → Zobraz všetky produkty GET /produkty/15 → Zobraz produkt s ID 15 POST /produkty → Vytvor nový produkt PUT /produkty/15 → Aktualizuj produkt s ID 15 DELETE /produkty/15 → Vymaž produkt s ID 15 2. Hlavička (Header) Obsahuje metadáta o požiadavke, napríklad: • Accept - aký formát dát klient očakáva (JSON, XML, HTML) • Content-Type - aký formát dát klient posiela • Authorization - autentifikačný token pre zabezpečené API Príklad hlavičky: GET /produkty/15 Accept: application/json Authorization: Bearer abc123xyz 3. Cesta k zdroju (Path) URI, ktoré špecifikuje, na aký zdroj sa žiadosť vzťahuje. Dobré praktiky pre cesty: • Používajte množné číslo: /produkty (nie /produkt) • Buďte hierarchickí: /objednavky/123/polozky = položky objednávky č. 123 • Používajte ID pre konkrétne záznamy: /zakaznici/456 Príklady: GET /zakaznici → Všetci zákazníci GET /zakaznici/456 → Zákazník s ID 456 GET /zakaznici/456/objednavky → Objednávky zákazníka 456 POST /zakaznici → Vytvor nového zákazníka 4. Telo požiadavky (Body) - voliteľné Pri vytváraní alebo aktualizácii dát (POST, PUT) posielate dáta v tele požiadavky: POST /zakaznici Content-Type: application/json { "meno": "Ján Novák", "email": "jan.novak@email.sk", "telefon": "+421901234567" }Ako vyzerajú odpovede (Responses)Server odpovedá na požiadavku dvoma hlavnými časťami: 1. Stavové kódy (Status Codes) Číselný kód, ktorý hovorí, či operácia prebehla úspešne alebo došlo k chybe. Najdôležitejšie stavové kódy: [Najdôležitejšie stavové kódy REST API] Príklad odpovede: HTTP/1.1 200 OK Content-Type: application/json { "id": 15, "nazov": "Notebook Dell XPS", "cena": 1299, "sklad": 5 } 2. Content-Type hlavička Server informuje klienta, v akom formáte posiela dáta: Content-Type: application/json → JSON formát Content-Type: application/xml → XML formát Content-Type: text/html → HTML stránka Content-Type: image/png → Obrázok PNGMIME typy - čo to je?MIME (Multipurpose Internet Mail Extensions) typy špecifikujú formát obsahu. Pozostávajú z typu a podtypu, oddelených lomítkom. Bežne používané MIME typy: Text: • text/html - HTML stránka • text/css - CSS súbor • text/plain - Čistý text Obrázky: • image/jpeg - JPEG obrázok • image/png - PNG obrázok • image/gif - GIF animácia Audio/Video: • audio/mpeg - MP3 súbor • video/mp4 - MP4 video Aplikácie: • application/json - JSON dáta (najpoužívanejšie v API) • application/xml - XML dáta • application/pdf - PDF dokument • application/octet-stream - Binárne dáta Praktické príklady REST API požiadaviekPredstavme si, že vytvárame e-shop s oblečením na adrese modnyboutique.sk. Pozrime sa na konkrétne príklady. GET požiadavky - Načítanie dátNačítanie všetkých zákazníkov: GET https://modnyboutique.sk/api/zakaznici Accept: application/jsonOdpoveď servera: 200 OK Content-Type: application/json { "zakaznici": [ { "id": 1, "meno": "Jana Kováčová", "email": "jana@email.sk" }, { "id": 2, "meno": "Peter Horváth", "email": "peter@email.sk" } ] }Načítanie konkrétneho zákazníka: GET https://modnyboutique.sk/api/zakaznici/1 Accept: application/jsonOdpoveď: 200 OK Content-Type: application/json { "id": 1, "meno": "Jana Kováčová", "email": "jana@email.sk", "telefon": "+421901234567" }POST požiadavky - Vytvorenie nového záznamuVytvorenie nového zákazníka: POST https://modnyboutique.sk/api/zakaznici Content-Type: application/json { "meno": "Martin Lukáč", "email": "martin@email.sk", "telefon": "+421905555555" }Odpoveď servera: 201 Created Content-Type: application/json { "id": 3, "meno": "Martin Lukáč", "email": "martin@email.sk", "telefon": "+421905555555" }Server automaticky vygeneroval ID 3 pre nového zákazníka. PUT požiadavky - Aktualizácia existujúceho záznamuAktualizácia emailu zákazníka: PUT https://modnyboutique.sk/api/zakaznici/3 Content-Type: application/json { "meno": "Martin Lukáč", "email": "martin.lukac.novy@email.sk", "telefon": "+421905555555" }Odpoveď: 200 OK Content-Type: application/json { "id": 3, "meno": "Martin Lukáč", "email": "martin.lukac.novy@email.sk", "telefon": "+421905555555" }DELETE požiadavky - Vymazanie záznamuVymazanie zákazníka: DELETE https://modnyboutique.sk/api/zakaznici/3Odpoveď: 204 No ContentStavový kód 204 znamená, že operácia bola úspešná a server nevracia žiadne dáta (záznam bol vymazaný). Návrh REST API systému - Praktický príkladPredstavme si, že vytvárame aplikáciu na zdieľanie fotografií z rôznych miest. Potrebujeme API pre správu používateľov, miest a fotografií. Dátové modelyModel používateľa: { "user": { "id": 1, "username": "jana_photographer", "email": "jana@email.sk" } }Model fotografie: { "photo": { "id": 45, "venue_id": 12, "author_id": 1, "url": "https://cdn.photoapp.sk/photos/45.jpg" } }Model miesta: { "venue": { "id": 12, "name": "Bratislavský hrad", "address": "Hrad, 811 06 Bratislava" } }REST API endpointyPoužívatelia: GET /users → Zoznam všetkých používateľov GET /users/:id → Detail používateľa POST /users → Vytvorenie používateľa PUT /users/:id → Aktualizácia používateľa DELETE /users/:id → Vymazanie používateľaMiesta: GET /venues → Zoznam miest GET /venues/:id → Detail miesta POST /venues → Vytvorenie miesta PUT /venues/:id → Aktualizácia miesta DELETE /venues/:id → Vymazanie miestaFotografie: GET /venues/:id/photos → Všetky fotky z miesta GET /venues/:id/photos/:photo_id → Konkrétna fotka POST /venues/:id/photos → Nahratie fotky na miesto DELETE /venues/:id/photos/:photo_id → Vymazanie fotkyTáto hierarchická štruktúra je jasná a intuitívna - už z URL vidíte, že /venues/12/photos/45 znamená "fotografia č. 45 z miesta č. 12". Výhody a nevýhody REST API✅ Výhody REST1. Jednoduchosť REST využíva známe HTTP metódy a stavové kódy, čo je pre vývojárov intuitívne a ľahko naučiteľné. 2. Škálovateľnosť Vďaka bezstavovosti môžete ľahko pridávať ďalšie servery a zvyšovať výkon systému bez zmeny architektúry. 3. Flexibilita REST podporuje rôzne formáty dát (JSON, XML, HTML, text) podľa potrieb klienta. 4. Interoperabilita Štandardizovaný prístup umožňuje komunikáciu medzi rôznymi platformami a jazykmi (Java, Python, JavaScript, PHP...). 5. Oddelenie klienta a servera Frontend a backend tímy môžu pracovať nezávisle, pokiaľ dodržiavajú API kontrakt. ❌ Nevýhody REST1. Over-fetching a Under-fetching • Over-fetching - dostanete viac dát, než potrebujete • Under-fetching - potrebujete viac požiadaviek na získanie všetkých dát Príklad: Chcete meno autora článku, ale GET /articles/15 vráti celý článok vrátane obsahu, tagov, komentárov... 2. Výkonnostné limity Pre získanie prepojených dát potrebujete viacero požiadaviek: GET /zakaznici/1 → Zákazník GET /zakaznici/1/objednavky → Jeho objednávky GET /objednavky/5/polozky → Položky objednávky= 3 samostatné požiadavky namiesto jednej 3. Neexistuje striktný štandard  Rôzni vývojári môžu implementovať REST rôzne, čo vedie k nekonzistencii API. 4. Nie vždy efektívne pre zložité scenáre Pre komplexné dopyty môže byť lepšou voľbou GraphQL, ktoré umožňuje načítať presne to, čo potrebujete, v jednej požiadavke. REST API vs iné technológieREST API vs GraphQL[Porovnanie REST API a GraphQL] Kedy použiť REST: Štandardné CRUD operácie, jednoduché API, dobré pre verejné API. Kedy použiť GraphQL: Komplexné dopyty, mobilné aplikácie (šetrenie dát), keď potrebujete flexibilitu. REST API vs SOAP[Porovnanie REST API a SOAP] Kedy použiť REST: Moderné webové a mobilné aplikácie. Kedy použiť SOAP: Finančné systémy, enterprise aplikácie s vysokými bezpečnostnými požiadavkami. Ako sa naučiť pracovať s REST API?Ak chcete prakticky zvládnuť REST API, odporúčame tieto kroky: 1. Pochopte základy HTTPBez HTTP nemôžete pochopiť REST. Naučte sa: • HTTP metódy (GET, POST, PUT, DELETE) • Stavové kódy (200, 404, 500...) • Hlavičky (Headers) • Telá požiadaviek a odpovedí 2. Vyskúšajte existujúce APIZačnite s verejnými API, ktoré nevyžadujú zložitú autentifikáciu: • JSONPlaceholder - falošné REST API pre testovanie • OpenWeatherMap - API pre informácie o počasí • REST Countries - informácie o krajinách sveta 3. Používajte nástroje na testovanie• Postman - najpoužívanejší nástroj na testovanie API • Insomnia - alternatíva k Postman • cURL - príkazový riadok pre pokročilých 4. Vytvorte vlastné REST APINajlepší spôsob učenia je praxou. Vytvorte si jednoduché API: • Node.js + Express - rýchle, jednoduché • Python + Flask/Django - pre Python fanúšikov • Java + Spring Boot - pre enterprise aplikácie • PHP + Laravel - pre webových vývojárov 5. Naučte sa best practices• Používajte správne HTTP metódy • Vracajte správne stavové kódy • Verzujte svoje API (/api/v1/...) • Dokumentujte API pomocou Swagger/OpenAPI • Implementujte rate limiting a autentifikáciu ZáverREST API sa stal základným kameňom moderného webového vývoja vďaka svojej jednoduchosti, flexibilite a škálovateľnosti. Umožňuje rôznym systémom - od webových stránok cez mobilné aplikácie až po IoT zariadenia - bezproblémovo komunikovať a vymieňať si dáta. Či už sa chystáte stať backend vývojárom, frontend programátorom alebo full-stack developerom, pochopenie REST API je kľúčové. Je to zručnosť, ktorá vám otvorí dvere v modernom softvérovom vývoji. Na Skillmea ponúkame praktické kurzy, kde sa naučíte tvoriť REST API od základov až po pokročilé techniky. Naši lektori sú aktívni programátori z praxe, ktorí vás naučia presne to, čo potrebujete v reálnych projektoch. Časté otázky o REST API1. Používajú všetky REST API JSON?Nie. JSON je dnes najobľúbenejší formát pre svoju jednoduchosť a čitateľnosť, ale REST API môžu používať aj XML, YAML alebo obyčajný text. Závisí to od hlavičky Accept v požiadavke a implementácie servera. 2. Je REST API to isté ako HTTP?Nie. REST je architektonický štýl, nie protokol. Väčšina REST API využíva HTTP ako transportný protokol, ale REST princípy môžu byť aplikované aj cez iné protokoly. HTTP sa stal štandardom vďaka svojej jednoduchosti a rozšíreniu. 3. Potrebujem autentifikáciu pre REST API?Závisí od použitia. Verejné API (napr. informácie o počasí) môžu byť bez autentifikácie. Pre citlivé operácie (vytvorenie, editácia, mazanie) používajte autentifikáciu: • API kľúče - jednoduchý token v hlavičke • OAuth 2.0 - bezpečné pre prácu s používateľskými dátami • JWT (JSON Web Tokens) - moderný, bezstavový prístup 4. Aký je rozdiel medzi API a REST API?API je všeobecný pojem pre akékoľvek rozhranie, ktoré umožňuje aplikáciám komunikovať. REST API je špecifický typ API, ktorý dodržiava REST princípy. Nie každé API je REST API - existujú aj SOAP API, GraphQL API, gRPC API a ďalšie. 5. Môžem používať REST API pre mobilné aplikácie?Áno! REST API je ideálne pre mobilné aplikácie. Mobilná aplikácia pošle HTTP požiadavku na server, server vráti dáta vo formáte JSON a aplikácia ich zobrazí používateľovi. Väčšina moderných mobilných aplikácií (Facebook, Instagram, Uber) používa REST API.

Nezmeškej info o nových kurzech a speciálních nabídkách