Skip to main content

Náplň predmetu

Tento predmetkurz savás zaoberáuvedie tvorboudo sveta tvorby databázy a programovanímsprávy databáz.údajov. NaučímeOsvojíte sasi správneproces navrhovaťnávrhu konceptuálnykonceptuálneho modelmodelu databázy, transformovaťjeho hotransformáciu na tabuľky relačnej databázy a vytváraťtvorbu databázovédatabázových dotazydopytovSQLjazyku jazyku.SQL. BudemeHoci využívaťbudeme materiályvychádzať z materiálov Oracle Academy s jazykom Oracle SQL, noSQL, pre širšízískanie rozhľadširšieho rozhľadu a univerzálnejšieuniverzálnejších skúsenostiskúseností budeme súbežne pracovať aj so systémami MariaDB a PostgreSQL.

Popri

Okrem tompráce s údajmi sa zoznámime s vizualizačným systémom Grafana, ktorý prepojíme s našou databázou apre budemetvorbu zobrazovaťinteraktívnych rôzne grafy.grafov. V závere kurzu sa naučíme kkomunikovať databázes pripojiťdatabázouvlastnéhovlastných programuaplikácií naprogramovaných v jazyku Python a z webového serveraprostredia pomocou PHP. Čerešničkou na torte bude úvod do problematiky časových radovPHP.využitím Nakoniecmoderného systému TimescaleDB.

Podrobnejšia náplň jednotlivých kapitol

1. Konceptuálny model databázy - Úvodná kapitola sa venuje metodike správneho návrhu databázy, osvojeniu pravidiel a odbornej terminológie. Cieľom je navrhnúť kompletný databázový systém od opisu a analýzy situácie, cez identifikáciu entít, až po nákres entitno­‑relačného diagramu.

2. Tvorba a používanie relačnej databázy - Naučíme sa transformovať konceptuálny model na fyzické tabuľky relačnej databázy. K teórii pridáme prax – začneme aktívne používať jazyk SQL a vytvárať prvé dopyty pre výber údajov (SELECT).

3. Práca s údajmi v SQL - Prenikneme hlbšie do tvorby výberových dopytov. Predstavíme si funkcie na spracovanie textových a číselných údajov, ako aj špeciálne funkcie a operácie pre prácu s dátumom a časom. Naučíme sa ošetriť chýbajúce hodnoty (NULL), vytvárať podmienené výrazy a spájať údaje z viacerých tabuliek (JOIN).

4. Agregácia a vizualizácia údajov - Zoznámime sa s agregačnými funkciami, pomocou ktorých budeme údaje zoskupovať a vytvárať štatistické súhrny. Využijeme množinové operácie a budeme riešiť komplexnejšie úlohy z praxe. Výsledky našej práce budeme následne vizualizovať v systéme Grafana.

5. Manipulácia s údajmi a štruktúrou - Naučíme sa využívať vnorené dopyty pre zložitejšie výbery. Následne prejdeme od čítania k zmenám: budeme vkladať, upravovať a odstraňovať údaje. Zároveň sa naučíme vytvárať a meniť samotnú štruktúru tabuliek a definovať dátové typy stĺpcov.

6. Optimalizácia a správa databázy - Spoznáme pokročilé prvky pre efektívnejšiu prácu s databázou, ako sú obmedzenia, kľúče, pohľady, sekvencie, indexy a transakcie. Súčasťou kapitoly je aj bezpečnosť - nastavenie prístupových práv používateľov k databáze a jej tabuľkám.

7. Prepojenie SQL databázy s aplikáciami - Táto téma sa venuje integrácii databázy do reálneho softvéru. Ukážeme si spracovanie údajov z SQL databázy na webovom serveri pomocou jazyka PHP, pričom dôraz budeme klásť na bezpečnosť (ochrana pred SQL Injection). Taktiež sa zoznámime s časozbernouodľahčenou databázou SQLite, na ktorú sa pripojíme z vlastnej aplikácie v jazyku Python.

8. Databázy časových radov - V záverečnej kapitole sa zameriame na zber veľkého množstva údajov v čase, a to v spojení so smart technológiami od spolužiakov z predmetu Internet vecí - konkrétne z monitoringu kvality ovzdušia v jednotlivých miestnostiach budovy. Využijeme časozberný databázový systém TimescaleDB. na efektívne ukladanie a získavanie zoskupených údajov (priemer, minimum, maximum) v požadovaných časových intervaloch. Údaje budeme priebežne agregovať, optimalizovať ich ukladanie a výsledky zobrazovať na živej nástenke v systéme Grafana - aktuálne údaje i grafy rôznych časových intervalov.