O kurze 

Dátoví vedci a dátoví analytici na svoju prácu potrebujú dáta. V reálnom firemnom prostredí sú tieto dáta častokrát uložené v databázach alebo iných úložiskách. Pred tým, než s nimi začnú pracovať, potrebujú sa k nim nejakým spôsobom dostať. V tom momente vstupuje na scénu SQL jazyk.

V našom kurze sa naučíte využívať SQL na efektívne získavanie dát z databázy a predspracovať ich pre následné analýzy. V tomto kurze si prejdete základné koncepty, ale aj pokročilé techniky v oblasti databázového dopytovania.

Naším cieľom je, aby ste nadobudli znalosti priamo z praxe. S využitím našich skúsenosti, ktoré sme získali ako dátoví vedci a analytici, vám v kurze poskytujeme reálne príklady. Získate tak solídny základ pre riešenie konkrétnych úloh a relevantné znalosti využiteľné v pracovnom prostredí.

Rozumieme hodnote praktickej skúsenosti. Preto sme pre vás pripravili množstvo praktických cvičení v rámci SQL dopytovania. Po dokončení tohto kurzu nebudete len rozumieť principom SQL dopytovania, ale budete tiež schopní aktívne a efektívne využívať tento jazyk pri riešení rôznych úloh s dátami v reálnych situáciách.


Čo je obsahom tohto kurzu?

Počas kurzu budete pracovať v interaktívnom prostredí nazvanom Jupyter Notebook a s lokálnou SQLite databázou. Na manipuláciu a analýzu dát v SQLite databáze budete používať knižnicu sqlite3, ktorá je súčasťou štandardnej knižnice Pythonu. 

Pre absolvovanie tohto kurzu si nepotrebujete inštalovať a nastavovať žiadny dodatočný SQL editor - budete pracovať v prostredí Jupyter notebookov, a teda do pár minút po zapísaní ste pripravené hneď študovať.

Celý obsah kurzu je rozdelený do 2 hlavných modulov, ktoré pokrývajú základné až pokročilé aspekty práce s SQL jazykom. Štúdium a práca na cvičeniach vám zaberie približne 8 hodín. Každý modul zahŕňa 2 rozsiahle Jupyter notebooky, v ktorých sa naučíte nielen teoretické aspekty SQL, ale budete mať k dispozícii množstvo programovacích cvičení, v ktorých si hneď vyskúšate aplikovať naučené techniky.


Nižšie si môžete prezrieť čo na vás čaká v prvých 2 Jupyter notebookoch, v ktorých sa zaoberáme úvodnými konceptami SQL jazyka:


Vitajte vo svete SQL

  • "Čo je SQL a prečo ho potrebujeme aj v dnešnom svete": Zistíme, čo je to SQL jazyk a prečo je nepostrádateľným nástrojom v súčasnom svete. 
  • "Fungovanie SQL a jeho základné princípy": Ponoríme sa do fascinujúceho sveta SQL! Spoznáme, ako tento jazyk umožňuje s ľahkosťou komunikovať s databázou a ako pomocou neho vieme dáta analyzovať.


Špecifiká SQLite databáz

  • "Štruktúra SQLite databázy a jej význam": Preskúmame komplexnosť SQlite databázových štruktúr. V tejto časti sa naučíme, ako SQLite organizuje dáta do elegantných schém, čo nám otvára dvere k efektívnejšiemu a flexibilnejšiemu prístupu k dátam.
  • "Case-sensitivity a jej dôležitosť pri práci": Po prejdení tejto časti nám bude úplne jasné, ako písať SQL kód. Vysvetlíme si, ako SQLite rozlišuje malé a veľké písmená a ich správne použitie pre vytváranie syntaxovo správnych queries (dopytov).


Základné príkazy a operácie

  • "Používanie SELECT a FROM klauzúl pre získanie dát": Napíšeme naše prvé queries! Naučíme sa základné klauzuly, ktoré sú kľúčom k odomykaniu pokladov ukrytých v databáze.
  • "Objavovanie unikátnych hodnôt v tabuľkách": Unikátnosť dát stojí za preskúmanie! Naučíme sa, ako rýchlo identifikovať a pracovať s takýmito jedinečnými hodnotami.
  • "Písanie komentárov priamo v SQL kóde a využívanie aliasov": Náš SQL kód sa občas môže stať veľmi komplexným. Preto si vysvetlíme ako napísať komentáre k našim queries a efektívne využívať tzv. aliasy. 


Práca s numerickými dátami

  • "Základné matematické operácie": V tejto časti si prejdeme základné  matematické operácie, ktoré môžeme robiť s pomocou SQL.
  • "Využitie agregačných funkcií pre analýzu dát": Prebuďme svojho vnútorného analytika! S agregačnými funkciami, ktoré máme k dispozícii si ukážeme, ako získať hlboké poznatky z našich dátach.


Práca s textovými dátami

  • "Manipulácia s textovými dátami pomocou SQL funkcií": V databázach sa častokrát nachádzajú textové dáta, ktoré niekedy potrebujú viac našej pozornosti. V tejto časti sa naučíme niekoľko funkcií, pomocou ktorých ich budeme vedieť upravovať.


Filtrovanie dát

  • "Použitie klauzuly WHERE na výber konkrétnych záznamov": Staňme sa majstrom filtrovania! Naučíme sa, ako vybrať z tabuľky iba tie dáta, ktoré sú pre nás skutočne relevantné a dôležité.
  • "Využitie porovnávacích operátorov, LIKE a NOT LIKE operátorov, IN a NOT IN operátorov”: Chceli by ste filtrovať dáta podľa konkrétneho čísla, vzoru alebo súboru hodnôt? V tejto časti sa naučíme pracovať s operátormi, ktoré nám takéto výbery dát umožnia.


Práca s chýbajúcimi hodnotami

  • "Identifikovanie chýbajúcich hodnôt v tabuľkách": Dáta nie sú vždy dokonalé, ale našu analýzu to predsa nezastaví! Dozvieme sa, ako identifikovať chýbajúce hodnoty a pochopíme ich dopad na našu prácu.
  • "Práca s chýbajúcimi hodnotami": V tejto časti sa naučíme pracovať s chýbajúcimi hodnotami, aby sme získali presné a dôveryhodné výsledky.


Pokročilé filtrovanie dát

  • "Využitie logických operátorov (AND, OR) pre kombinované filtrovanie dát": Získame schopnosť kombinovať rôzne podmienky a prispôsobíme si svoje vyhľadávanie presne podľa našich konktétnych potrieb.
  • "Použitie klauzuly WHERE na výber dát v rámci určitého rozmedzia": Naučíme sa efektívne filtrovať dáta, ktoré sa nachádzajú v konkrétnom rozmedzí a zobraziť tak len to, čo skutočne potrebujeme.


Zoskupovanie dát

  • "Použitie klauzuly GROUP BY pre zoskupovanie dát podľa konkrétnych stĺpcov": Poďme sa pozrieť na konkrétny skupiny dát! Získame nový pohľad na naše dáta tým, že ich zoskupíme podľa určitých kritérií a možno tak odhalíme nové vzory.
  • "Použitie klauzuly HAVING pre filtrovanie výsledkov po zoskupení": Nezostaneme len pri základnom zoskupovaní dát a posunieme sa k pokročilému filtrovaniu skupín, ktoré sme vytvorili.


Zoradenie dát

  • "Klauzula ORDER BY pre zoradenie dát podľa konkrétnych stĺpcov": Naučímee sa, ako upraviť naše dáta tak, aby boli presne v tom poradí, v akom ich potrebujete.


Práca s dátumami a časmi

  • "Získavanie častí z dátumových a časových hodnôt": Dáta sú často viac, než sa zdá na prvý pohľad! Ponoríme sa do techník, ktoré nám umožnia získať konkrétne časti z dátumu alebo času, ktoré máme v tabuľke uložené.
  • "Filtrovanie dát na základe dátumu a času": Špecifikujme naše vyhľadávanie! Naučíte sa, ako filtrovať dáta na základe času a dátumu a zamerať sa na dobu, ktorá je pre vás podstatná.
  • "Manipulovanie a formátovanie dátumov a časov": Ovládneme umenie práce s dátumami a časom a naučíme sa ako ich formátovať či robiť na nich rôzne výpočty.



V ďalších 2 Jupyter notebookoch budeme stavať na základoch, ktoré sme získali a pozrieme sa na nasledujúce pokročilé oblasti:


Základy databázovej integrity a štruktúry

  • "Preskúmanie konceptu primary key (primárny kľúč) a jeho dôležitosti pre jedinečnosť záznamov": Objavíme, prečo je tento kľúč nevyhnutný pre identifikáciu a jedinečnosť našich dát.
  • "Pochopenie významu foreign key (cudzí kľúč) a ako môže byť použitý na prepojenie tabuliek": Priblížime si silu cudzích kľúčov a to, ako nám môžu pomôcť pri vytváraní komplexných vzťahov medzi tabuľkami.
  • "Preskúmanie rôznych constraints (obmedzení) v databáze a ich úlohy pri zachovávaní integrity dát": Pochopíme, ako rôzne pravidlá a obmedzenia zabezpečujú, že naše dáta zostanú konzistentné a bez zbytočných problémov.


Prepojenia tabuliek

  • "Pochopenie vzájomného prepojenia jednotlivých tabuliek v databáze": Databáza je ako komplexná sieť, kde všetko súvisí so všetkým. Ponoríme sa do tejto siete a objavíme, ako tabuľky spolupracujú a dopĺňajú sa navzájom.
  • "Vytváranie JOIN operácií, vrátane INNER JOIN, LEFT JOIN, RIGHT JOIN a FULL OUTER JOIN": Niekedy potrebujeme získať dáta z viacerých tabuliek! Preskúmame spojenia rôznych tabuliek a objavíme navonok skryté vzťahy medzi dátami.
  • "Aplikovanie operátorov UNION, UNION ALL, EXCEPT a INTERSECT a ich využitie pri kombinovaní výsledkov z rôznych queries": Povieme si, ako spojiť rôzne dátové množiny a získať z nich informácie, ktoré potrebujeme.


Podmienené výrazy v SQL

  • "Pochopenie a aplikovanie CASE príkazu pre vytváranie podmienených výrazov": Naučíme sa, ako vytvárať queries, v ktorých určujeme naše podmienky a získame tým presne tie výsledky, ktoré hľadáme.


Subqueries (vnorené queries)

  • "Pochopenie konceptu subqueries": Ponoríme sa hlboko do sveta vnorených queries! Objavíme, ako subqueries umožňujú jednej queries “spolupracovať” s druhou a otvoriť tak nové obzory pri analyzovaní dát.
  • "Efektívne využívanie subqueries v rámci klauzúl WHERE, FROM, SELECT a HAVING": Vzťahy medzi dátami môžu byť komplexné. Ukážeme si, ako so subqueries môžeme jednoduchšie filtrovať, vyberať a manipulovať dáta na viacerých úrovniach.


Common Table Expression (CTE)

  • "Pochopenie a aplikácia Common Table Expression (CTE)”: Pochopíme, ako môžeme vytvoriť dočasnú množinu dát bez toho, aby sme ovplyvnili hlavnú databázu, a z ktorej môžeme ďalej dáta dopytovať


Window functions

  • "Window functions a ich využitie na rôzne výpočty": Ukážeme si silu window functions, pomocou ktorých môžeme sledovať, analýzovať a porovnávať dáta v rámci nami definovaného okna.
  • "Efektívne používanie funkcií ako ROW_NUMBER, RANK, DENSE_RANK, LAG a LEAD, FIRST_VALUE a LAST_VALUE": Nenechajte sa zaskočiť komplexitou názvov! Ukážeme si, ako nám tieto funkcie pomôžu odhaliť vzťahy medzi dátami, umožniť nám sledovať trend či rozpoznať vzory.
  • "Definovanie rozsahu dát na aplikáciu window function": Naučíme sa, ako presne definovať rozsah dát, na ktoré aplikujeme window functions, čo nám umožní získať presné a relevantné výsledky.


Ako bude tento kurz prebiehať?

Po zápise na tento kurz budete mať prístup ku všetkým materiálom, ktoré kurz obsahuje a inštruktori vám budú k dispozícií na vaše otázky na emaily. Štúdium lekcií si môžete čo najlepšie prispôsobiť vašim preferenciám a prechádzať nimi vlastným tempom. 

 

Počas celého trvania kurzu budete mať k dispozícii komunitu na Discorde a neustálu podporu od inštruktorky, takže sa nemusíte cítiť osamelo počas štúdia. :) Môžete ju kontaktovať na [email protected] v prípade, že:

  • …vám nie je úplne jasná ktorákoľvek časť preberaného učiva
  • …potrebujete detailnejšie dovysvetliť určitý koncept preberaného učiva 
  • …potrebujete kariérne poradenstvo (napr. skonzultovanie pracovnej pozície, o ktorú máte záujem)
  • …máte akékoľvek iné technické či netechnické otázky :) 

 

Technická podpora počas kurzu a akékoľvek otázky týkajúce sa preberaného učiva budú zodpovedané do dvoch pracovných dní. Vaše otázky z oblasti kariérneho poradenstva budú zodpovedané do troch pracovných dní.


Pre koho je tento kurz vhodný?


Ak ste si doteraz mysleli, že databázy sú príliš komplexné a dáta v nich sú ťažko dostupné, máme pre vás skvelú správu! Náš kurz je vhodný aj pre tých, ktorí doteraz nikdy s SQL jazykom nepracovali alebo sa s databázami stretli iba okrajovo. Je navrhnutý tak, aby vás vybavil všetkým, čo je potrebné pre efektívnu prácu s dátami pomocou SQL.

Nižšie sú uvedené typy osobností, pre ktoré by tento kurz mohol byť ideálny: 


  • “Chcem získať nové technické zručnosti.” Vaša aktuálna pozícia možno nevyžaduje hlboké znalosti databáz, ale vy túžite po nových výzvach alebo možnostiach kariérneho rastu.
  • “Mám pocit, že môžem dáta spracovávať efektívnejšie.” Možno pravidelne pracujete s nástrojmi ako Excel, ale cítite, že v určitých oblastiach začínajú byť obmedzené. 
  • “Chcem byť pripravený na skutočný svet IT.” Aj keď vaše vzdelanie zahŕňa teoretické znalosti o databázach, túžite získať praktické zručnosti, ktoré vás pripravia na reálne výzvy na pracovisku.
  • “Analyzujem dáta v rôznych iných nástrojoch.” Aj keď mnoho analytikov používa pokročilé nástroje, základné pochopenie SQL je kľúčové pre efektívnu prácu s databázami a získavanie potrebných informácií.
  • “Pracujem v určitej doméne, kde by sa mi znalosť SQL hodila.” Špecialisti na rôzne domény, ako je napríklad marketing, sa čoraz viac spoliehajú na dáta. Znalosť SQL im môže pomôcť lepšie porozumieť svojim cieľovým skupinám a efektívnosti kampaní.



Čo po kurze dokážem a čo si odnesiem?


V súčasnom svete je správna manipulácia a analýza dát kľúčová. SQL, ako jazyk na prácu s relačnými databázami, je kameňom míľnikov v oblasti dátových analýz. Jeho význam prekračuje obmedzenia jednej profesie. Využíva sa vo veľkých korporáciách, technologických start-upoch, v bankovníctve, vo výskume, v oblasti marketingu a mnohých ďalších. Tento kurz vám ponúka príležitosť získať hlboké a praktické znalosti v oblasti SQL jazyka, ktoré môžete hneď aplikovať v reálnom prostredí.


Z kurzu si odnesiete:


  • Hlboké praktické znalosti SQL dopytovania: S kompletným pochopením dôležitých SQL konceptov ako sú JOINy, subqueries, CTE alebo window functions, budete pripravení riešiť komplexné dátové problémy.
  • Zručnosti aplikovateľné v reálnom svete: Prostredníctvom rôznych úloh, ktoré sú modelované podľa skutočných business scenárov, sa naučíte rôzne prístupy k riešeniu daného problému. Keď narazíte na rovnaké alebo podobné oblasti v praxi, budete schopní identifikovať vhodný prístup pomocou, ktorého je možné dané scenáre riešiť. 
  • Silný základ pre ďalšiu špecializáciu: S pevným základom v SQL, ktorý v tomto kurze získate, môžete ľahko prejsť k štúdiu iných konceptov a techník, ako napríklad pokročilé indexovanie, optimalizácia queries, práca s veľkými datasetmi alebo špecifickými SQL rozšíreniami. 


Čo je potrebné na absolvovanie kurzu?


  • Základná znalosť angličtiny. Je potrebná minimálne pasívna znalosť na úrovni čítania textu.
  • Stabilné internetové pripojenie. V prípade, že budete s Jupyter notebookmi pracovať v prostredí Google Colaboratory, internetové pripojenie je neustále potrebné. 
  • Aktualizovaný internetový prehliadač Google Chrome, Microsoft Edge alebo Mozilla Firefox.
  • (odporúčané) Google účet. S Jupyter notebookmi odporúčame pracovať v prostredí Google Colaboratory. V prípade, že Google účet nemáte a ani si ho nechcete zakladať, bude k dispozícii alternatíva, a to lokálna práca s Jupyter prostredím.


Aké sú vstupné požiadavky?


Pre úspešné absolvovanie tohto kurzu sa, prosím, uistite, že spĺňate nasledujúce požiadavky:


  • zvládate prácu s Jupyter notebookmi,
  • ovládate základy práce v programovacom jazyku Python,
  • máte základné štatistické a analytické schopnosti: základná schopnosť analyzovať problémy, pracovať s číslami a logicky myslieť,
  • základné pochopenie databáz a dátových štruktúr: hoci kurz začína základmi, je výhodou, ak zbežne viete, čo sú databázy a ako sa s nimi zvyčajne pracuje,
  • chuť učiť sa, čeliť výzvam a hľadať riešenia. :)