Zhrnutie na Základy webového vývoja a elektrických meraní

Základy Webového Vývoja a Elektrických Meraní: Komplexný Sprievodca

Úvod

Databázy sú systémy na ukládanie a spravovanie dát. Dve bežné kategórie, ktoré sa často používajú v praxi, sú relačné databázy a transakčné databázy. V tomto materiáli sa naučíte, čím sa od seba líšia, kde sa používajú a prečo sú dôležité.

Základná predstava

Definícia: Relačná databáza je databáza, ktorá organizuje dáta do tabuliek so stĺpcami a riadkami a používa jazyk SQL na ich spracovanie.

Definícia: Transakčná databáza je systém zameraný na správu operácií ako jednu nepretržitú jednotku (transakciu) s dôrazom na ACID vlastnosti.

Relačné databázy

Čo znamenajú?

Relačné databázy ukladajú informácie do tabuliek. Každá tabuľka má stĺpce (atribúty) a riadky (záznamy). Vzťahy medzi tabuľkami sa vyjadrujú pomocou kľúčov (primárny kľúč, cudzie kľúče).

Hlavné vlastnosti

  • Dáta sú štruktúrované v tabuľkách
  • Používa sa jazyk SQL (Structured Query Language)
  • Príklady systémov: MySQL, PostgreSQL

Jednoduchý príklad

Môžeme mať tabuľky Students a Grades. Tabuľka Students môže mať stĺpce id, name, birthdate. Tabuľka Grades môže mať student_id, subject, grade.

Praktické použitie

  • Školské systémy so zoznamom študentov
  • Aplikácie, kde sú jasné vzťahy medzi entitami (napr. zákazníci a objednávky)

Transakčné databázy

Čo znamenajú?

Transakčné databázy kladú dôraz na to, aby série operácií prebehli spoľahlivo ako jedna jednotka — transakcia.

Definícia: Transakcia je skupina operácií, ktoré sa vykonajú buď kompletne, alebo vôbec.

ACID vlastnosti (základ spoľahlivosti)

  • Atomicita (Atomicity): Transakcia prebehne celá alebo vôbec.
  • Konzistencia (Consistency): Po transakcii sú dáta v platnom stave.
  • Izolácia (Isolation): Súbežné transakcie sa navzájom neovplyvňujú.
  • Trvalosť (Durability): Po potvrdení transakcie ( commit ) sú zmeny trvalo uložené.

Kde sa používajú?

  • Bankovníctvo a platobné systémy
  • Systémy spracovania platieb, rezervácií, prepisov financií

Praktický príklad

Prevod peňazí medzi účtami: odpočítanie zo zdrojového účtu a pripočítanie k cieľovému účtu musí prebehnúť ako jedna transakcia, aby sa predišlo strate alebo duplicitnému zapísaniu peňazí.

Porovnanie (tabuľka)

KritériumRelačné DBTransakčné DB
Hlavný cieľorganizácia dát do tabuliekdôraz na spoľahlivosť operácií
Jazyk/prístupSQLčasto používa transakčné mechanizmy v rámci SQL alebo špecializovaných systémov
Typické použitieadministratívne záznamy, analytikabanky, platby, kritické systémy
Silné stránkyjednoduchosť, prehľadnosťspoľahlivosť, integrita dát
Typické systémyMySQL, PostgreSQLtransakčný režim v relačných DB alebo špecializované systémy

Kľúčové rozdiely a čo si zapamätať

  • Relačná DB popisuje, ako sú dáta uložené (tabuľky, vzťahy).
  • Transakčná DB popisuje vlastnosti operácií nad dátami (ACID) a ich spoľahlivosť.
  • Mnohé relačné DB systémy podporujú transakcie, takže koncepty sa prekrývajú.
💡 Vedeli ste?Fun fact: Nie všetky databázy, ktoré používajú tabuľky, garantujú ACID vlastnosti pri každej operácii — niektoré NoSQL systémy uprednostňujú rýchlosť a škálovateľnosť pred úplnou izoláciou transakcií.

Krátky príklad v praxi

  1. Učiteľ zadá známku do tabuľky Grades (relačná štruktúra).
  2. Škola chce zabezpečiť, že pri hromadnom uložení známok sa buď všetky známky uložia, alebo žiadna — tu sa použije transakcia (ACID).

Záver

Relačné a transakčné databázy sú úzko prepojené: relačné databázy poskytujú štruktúru dát, zatiaľ čo transakčné vlastnosti zabezpečujú ich správne a spoľahlivé spracovanie. Pre aplikácie vyžadujúce vysokú integritu dát (napr. banky) je dôležité, aby systém podporoval ACID vlastnosti. Pre menej kritické aplikácie môže byť postačujúca jednoduchšia relačná štruktúra bez silných transakčných garancií.

Relačné a transakčné DB

Klíčové pojmy: Relačné DB organizujú dáta do tabuliek s riadkami a stĺpcami, Relačné DB používajú jazyk SQL na dotazy a úpravy, Príklady relačných systémov: MySQL, PostgreSQL, Transakčná DB zabezpečuje, že skupina operácií je vykonaná ako jedna jednotka, ACID = Atomicita, Konzistencia, Izolácia, Trvalosť, Bankové platby vyžadujú transakcie kvôli integrite peňazí, Relačná štruktúra + transakčné mechanizmy sa často kombinujú, Pri návrhu systému zvoľte ACID, ak sú dáta kritické a citlivé, Transakcie zabraňujú čiastočnému zápisu pri chybe systému, Tabuľka porovnáva hlavné rozdiely medzi prístupmi

## Úvod Databázy sú systémy na ukládanie a spravovanie dát. Dve bežné kategórie, ktoré sa často používajú v praxi, sú **relačné databázy** a **transakčné databázy**. V tomto materiáli sa naučíte, čím sa od seba líšia, kde sa používajú a prečo sú dôležité. ### Základná predstava > **Definícia:** Relačná databáza je databáza, ktorá organizuje dáta do tabuliek so stĺpcami a riadkami a používa jazyk SQL na ich spracovanie. > **Definícia:** Transakčná databáza je systém zameraný na správu operácií ako jednu nepretržitú jednotku (transakciu) s dôrazom na ACID vlastnosti. ## Relačné databázy ### Čo znamenajú? Relačné databázy ukladajú informácie do **tabuliek**. Každá tabuľka má stĺpce (atribúty) a riadky (záznamy). Vzťahy medzi tabuľkami sa vyjadrujú pomocou kľúčov (primárny kľúč, cudzie kľúče). ### Hlavné vlastnosti - Dáta sú štruktúrované v tabuľkách - Používa sa jazyk **SQL** (Structured Query Language) - Príklady systémov: **MySQL**, **PostgreSQL** ### Jednoduchý príklad Môžeme mať tabuľky `Students` a `Grades`. Tabuľka `Students` môže mať stĺpce `id`, `name`, `birthdate`. Tabuľka `Grades` môže mať `student_id`, `subject`, `grade`. ### Praktické použitie - Školské systémy so zoznamom študentov - Aplikácie, kde sú jasné vzťahy medzi entitami (napr. zákazníci a objednávky) ## Transakčné databázy ### Čo znamenajú? Transakčné databázy kladú dôraz na to, aby série operácií prebehli spoľahlivo ako jedna jednotka — transakcia. > **Definícia:** Transakcia je skupina operácií, ktoré sa vykonajú buď kompletne, alebo vôbec. ### ACID vlastnosti (základ spoľahlivosti) - **Atomicita (Atomicity):** Transakcia prebehne celá alebo vôbec. - **Konzistencia (Consistency):** Po transakcii sú dáta v platnom stave. - **Izolácia (Isolation):** Súbežné transakcie sa navzájom neovplyvňujú. - **Trvalosť (Durability):** Po potvrdení transakcie ( commit ) sú zmeny trvalo uložené. ### Kde sa používajú? - Bankovníctvo a platobné systémy - Systémy spracovania platieb, rezervácií, prepisov financií ### Praktický príklad Prevod peňazí medzi účtami: odpočítanie zo zdrojového účtu a pripočítanie k cieľovému účtu musí prebehnúť ako jedna transakcia, aby sa predišlo strate alebo duplicitnému zapísaniu peňazí. ## Porovnanie (tabuľka) | Kritérium | Relačné DB | Transakčné DB | |---|---:|---:| | Hlavný cieľ | organizácia dát do tabuliek | dôraz na spoľahlivosť operácií | | Jazyk/prístup | SQL | často používa transakčné mechanizmy v rámci SQL alebo špecializovaných systémov | | Typické použitie | administratívne záznamy, analytika | banky, platby, kritické systémy | | Silné stránky | jednoduchosť, prehľadnosť | spoľahlivosť, integrita dát | | Typické systémy | MySQL, PostgreSQL | transakčný režim v relačných DB alebo špecializované systémy | ## Kľúčové rozdiely a čo si zapamätať - Relačná DB popisuje, ako sú dáta uložené (tabuľky, vzťahy). - Transakčná DB popisuje vlastnosti operácií nad dátami (ACID) a ich spoľahlivosť. - Mnohé relačné DB systémy podporujú transakcie, takže koncepty sa prekrývajú. Fun fact: Nie všetky databázy, ktoré používajú tabuľky, garantujú ACID vlastnosti pri každej operácii — niektoré NoSQL systémy uprednostňujú rýchlosť a škálovateľnosť pred úplnou izoláciou transakcií. ## Krátky príklad v praxi 1. Učiteľ zadá známku do tabuľky `Grades` (relačná štruktúra). 2. Škola chce zabezpečiť, že pri hromadnom uložení známok sa buď všetky známky uložia, alebo žiadna — tu sa použije transakcia (ACID). ## Záver Relačné a transakčné databázy sú úzko prepojené: relačné databázy poskytujú štruktúru dát, zatiaľ čo transakčné vlastnosti zabezpečujú ich správne a spoľahlivé spracovanie. Pre aplikácie vyžadujúce vysokú integritu dát (napr. banky) je dôležité, aby systém podporoval ACID vlastnosti. Pre menej kritické aplikácie môže byť postačujúca jednoduchšia relačná štruktúra bez silných transakčných garancií.