databaza Flashcards

(13 cards)

1
Q

Vysvetli rozdiel medzi relačnou a nerelačnou databázou

A

Relačná databáza (RDBMS):

Ukladá dáta do tabuliek (riadky a stĺpce).

Tabuľky môžu byť prepojené pomocou primárnych a cudzích kľúčov.

Používa sa SQL na manipuláciu s údajmi.

Príklady: MySQL, PostgreSQL, Oracle, SQL Server.

Nerelačná databáza (NoSQL):

Nevyužíva klasickú tabuľkovú štruktúru.

Môže ukladať dáta vo formáte JSON, dokumenty, kľúč–hodnota, grafy atď.

Je vhodná pre flexibilné a rozsiahle dátové štruktúry.

Príklady: MongoDB, Redis, Cassandra, Neo4j.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Čo je to primárny kľúč a aký je jeho význam v tabuľke?

A

Primárny kľúč (Primary Key):

Je to stĺpec alebo kombinácia stĺpcov, ktorý jednoznačne identifikuje každý riadok v tabuľke.

Nemôže obsahovať duplikáty ani hodnoty NULL.

Často sa používa stĺpec id, ale môže to byť aj iný stĺpec (napr. rodne_cislo).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Aký je rozdiel medzi príkazmi DELETE, TRUNCATE a DROP v SQL?

A

DELETE:

Vymaže vybrané riadky z tabuľky (pomocou WHERE).

Záznamy možno obnoviť, ak je transakcia (ROLLBACK).

Pomalší, loguje každý riadok.

TRUNCATE:

Vymaže všetky riadky z tabuľky rýchlo.

Nie je možné vrátiť späť (bez transakcie).

Štruktúra tabuľky zostáva.

DROP:

Zmaže celú tabuľku (aj štruktúru).

Zmizne aj všetky dáta, indexy, väzby.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Čo je to normalizácia databázy? Popíš aspoň prvé tri normálne formy.

A

Normalizácia je proces, ktorým sa databázová tabuľka rozdeľuje a upravuje, aby sa:

odstránili duplicity,

zvýšila konzistencia dát,

znížila nadbytočnosť.

Prvé tri normálne formy:
1NF (prvá normálna forma):

Všetky stĺpce obsahujú atomické (nedeliteľné) hodnoty.

Žiadne polia neobsahujú zoznamy alebo viacnásobné hodnoty.

✔ Príklad: Namiesto „telefóny = ‘123, 456’“ → vytvoriť samostatné riadky.

2NF (druhá normálna forma):

Musí byť v 1NF.

A všetky ne-kľúčové stĺpce závisia od celého primárneho kľúča.

Týka sa tabuliek s zloženým kľúčom (viacero stĺpcov ako PK).

3NF (tretia normálna forma):

Musí byť v 2NF.

Žiadny stĺpec nesmie závisieť od iného ne-kľúčového stĺpca (žiadne tranzitívne závislosti).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Čo je to cudzí kľúč (foreign key) a ako funguje referenčná integrita?

A

Cudzí kľúč (foreign key) je stĺpec v jednej tabuľke, ktorý odkazuje na primárny kľúč inej tabuľky.

Slúži na prepojenie tabuliek – vytvára vzťahy medzi nimi.

Referenčná integrita zaručuje, že hodnoty v cudzom kľúči musia existovať v odkazovanej tabuľke.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Čo je index v databáze? Kedy sa oplatí použiť index a aké má nevýhody?

A

Index v databáze je štruktúra, ktorá zrýchľuje vyhľadávanie v tabuľke.

Funguje podobne ako index v knihe – umožňuje rýchle nájdenie riadkov podľa hodnôt v určitom stĺpci.

Môže byť na ľubovoľnom stĺpci, nielen na primárnom kľúči.

Výhody:
Rýchle vyhľadávanie a filtrovanie.

Zrýchľuje WHERE, JOIN, ORDER BY, atď.

Nevýhody:
Zaberá miesto v pamäti/disku.

Spomaľuje operácie INSERT, UPDATE, DELETE, lebo treba meniť aj index.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vysvetli rozdiel medzi INNER JOIN, LEFT JOIN, RIGHT JOIN a FULL JOIN.

A

INNER JOIN
Vráti iba tie riadky, ktoré majú zhodu v oboch tabuľkách.

LEFT JOIN (alebo LEFT OUTER JOIN)
Vráti všetky riadky z ľavej tabuľky + zodpovedajúce z pravej (ak existujú).

Ak nie je zhoda, vráti NULL.

  1. RIGHT JOIN
    Opak LEFT JOIN – vráti všetky riadky z pravej tabuľky a zodpovedajúce z ľavej.
  2. FULL JOIN (alebo FULL OUTER JOIN)
    Vráti všetky riadky z oboch tabuliek – ak nie je zhoda, doplní NULL.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Čo je transakcia v databáze? Vysvetli ACID vlastnosti.

A

Transakcia je skupina SQL príkazov, ktoré sa vykonajú ako jeden celok.

Buď sa všetky vykonajú, alebo žiadna – nedôjde k neúplnému zápisu.

Typický príklad: prevod peňazí medzi účtami – musí sa odpočítať z jedného a pripočítať k druhému.

ACID vlastnosti transakcie:
A – Atomicita

Transakcia sa vykoná celá alebo vôbec.

C – Konzistencia

Po transakcii zostáva databáza v platnom stave (napr. súčet peňazí sa nezmení).

I – Izolácia

Paralelné transakcie sa navzájom neovplyvňujú.

D – Trvácnosť (Durability)

Po potvrdení (commit) sa zmeny nezmazú ani po výpadku systému.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ako by si zabezpečil databázu pred neoprávneným prístupom a stratou dát?

A

Prístupové práva, Silné heslá a autentifikácia, Šifrovanie dát…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

co je pohlad view

A

Pohľad (view) je vlastne uložený SELECT dotaz, ktorý sa správa ako virtuálna tabuľka.
Nepresúva ani neukladá fyzicky dáta, ale zobrazuje ich podľa definície dotazu.

Napríklad môžeš mať pohľad, ktorý z rôznych tabuliek zobrazuje len vybrané stĺpce alebo riadky podľa podmienky.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

co je agregacia

A

Tvoja odpoveď je približne správna, ale doplním:

Agregácia v SQL znamená použitie funkcií (napr. SUM, COUNT, AVG, MIN, MAX), ktoré zhrnú alebo spočítajú dáta podľa určitej skupiny (napr. podľa stĺpca alebo podmienky).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

co je ulozena procedura

A

Uložená procedúra je preddefinovaný blok SQL príkazov uložený priamo v databáze.
Môžeš ju spustiť viackrát s rôznymi vstupmi, čo uľahčuje opakované a komplexné operácie.

Pomáha zrýchliť prácu a zlepšiť bezpečnosť (napr. menšia potreba meniť kód v aplikácii).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

co je normalizacna forma

A

Normalizačná forma je pravidlo alebo úroveň, podľa ktorej sa databázová tabuľka usporadúva, aby sa minimalizovali duplicity a závislosti medzi dátami.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly