Sobes.tech
Intern

V čom spočíva zmysel relačných databáz?

sobes.tech AI

Odpoveď od AI

Reťazové databázy (RDB) ukladajú a organizujú údaje vo forme tabuliek. Zmysel RDB je nasledovný:

  • Štruktúrované ukladanie údajov: Údaje sú organizované v riadkoch a stĺpcoch, čo zabezpečuje jasnú štruktúru a predvídateľnosť. Každý riadok predstavuje záznam a každý stĺpec atribút záznamu.
  • Správa vzťahov medzi údajmi: RDB umožňujú vytváranie vzťahov medzi rôznymi tabuľkami pomocou cudzích kľúčov. To zabraňuje duplikácii údajov a zabezpečuje ich integritu. Napríklad v tabuľke s objednávkami sa môže odkazovať na záznamy v tabuľke s klientmi pomocou ID klienta.
  • Podpora ACID transakcií: To zaručuje spoľahlivosť a integritu údajov aj pri súbežných operáciách alebo systémových zlyhaniach. ACID sa rozkladá na:
    • Atomicity (Atomickosť): Transakcia sa vykoná úplne alebo vôbec.
    • Conistency (Konzistencia): Transakcia prenáša databázu z jedného konzistentného stavu do druhého.
    • Isolation (Izolácia): Paralelne vykonávané transakcie neovplyvňujú jedna druhú.
    • Durability (Trvácnosť): Výsledky úspešne vykonanej transakcie sa zachovávajú aj pri zlyhaniach.
  • Použitie SQL ako hlavného jazyka pre dotazy: SQL (Structured Query Language) je štandardný jazyk na interakciu s RDB. Umožňuje efektívne vyhľadávanie, vkladanie, aktualizáciu a mazanie údajov.

Príklad jednoduchšej štruktúry RDB:

Tabuľka Customers (Zákazníci):

CustomerID FirstName LastName City
1 Иван Иванов Moskva
2 Анна Петрова Petrohrad

Tabuľka Orders (Objednávky):

OrderID CustomerID OrderDate Amount
101 1 2023-10-26 1500
102 2 2023-10-26 2500
103 1 2023-10-27 500

Tu CustomerID v tabuľke Orders je cudzí kľúč odkazujúci na CustomerID v tabuľke Customers, čím sa vytvára vzťah medzi zákazníkmi a ich objednávkami.

Príklad SQL dotazu:

SELECT
    c.FirstName,
    c.LastName,
    o.OrderID,
    o.OrderDate,
    o.Amount
FROM
    Customers c
JOIN
    Orders o ON c.CustomerID = o.CustomerID
WHERE
    c.City = 'Moskva';

Celkovo je zmysel RDB zabezpečiť spoľahlivé, efektívne a štruktúrované ukladanie a správu údajov, zachovávať ich integritu a poskytovať mocné nástroje na prácu s nimi cez SQL.