Zhrnutie na Základy informatiky a webového vývoja
Základy Informatiky a Webového Vývoja: Kompletný Rozbor
Úvod
Tento materiál predstavuje základné pojmy databáz a SQL pre študenta, ktorý sa učí samostatne. Pokryjeme: čo je SQL, základné príkazy (SELECT, INSERT, UPDATE, DELETE), pripravené príkazy (prepare) a bezpečnosť, dátové typy a kľúče, návrh tabuliek a JOINy. Všetko vysvetlené jednoduchými príkladmi a praktickými poznámkami.
Čo je SQL a prečo ho použiť
SQL (Structured Query Language) je jazyk na komunikáciu s relačnými databázami. Používame ho na ukladanie, načítanie, úpravu a mazanie dát.
Definícia: SQL je štandardizovaný dotazovací jazyk slúžiaci na prácu s relačnými databázami.
Základné typy príkazov
- SELECT — čítanie údajov
- INSERT — vloženie nového záznamu
- UPDATE — zmena existujúceho záznamu
- DELETE — vymazanie záznamu
Príklady
- SELECT: SELECT meno, email FROM pouzivatelia; — zobrazí stĺpce meno a email z tabuľky pouzivatelia.
- INSERT: INSERT INTO pouzivatelia (meno, email) VALUES ('Ján', '[email protected]'); — vloží nového používateľa.
- UPDATE: UPDATE pouzivatelia SET meno = 'Peter' WHERE id = 1; — zmení meno používateľa s id 1.
- DELETE: DELETE FROM pouzivatelia WHERE id = 2; — vymaže používateľa s id 2.
Pozor: Pri UPDATE a DELETE vždy používajte WHERE, inak ovplyvníte alebo vymažete všetky riadky v tabuľke.
Pripravené príkazy (prepare) a bezpečnosť
Príkaz prepare (príprava dotazu) zabezpečuje, že SQL príkaz je bezpečný a chráni pred SQL injection — útokmi, kde útočník vloží škodlivý kód do dotazu.
- Ako to funguje: pripravíme dotaz s parametrami (placeholdermi) a potom tieto parametre bezpečne nahradíme hodnotami.
Praktický príklad v PHP (zjednodušené):
<?php $db = new PDO("mysql:host=localhost;dbname=skola_db", "root", ""); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $meno = $_POST['meno']; $sprava = $_POST['sprava']; $stmt = $db->prepare( "INSERT INTO spravy (meno, sprava) VALUES (:meno, :sprava)" ); $stmt->execute([':meno' => $meno, ':sprava' => $sprava]); } $stmt = $db->prepare("SELECT * FROM spravy ORDER BY cas ASC"); $stmt->execute(); $spravy = $stmt->fetchAll(); ?>Tento vzor ukazuje bezpečné vloženie používateľských údajov pomocou placeholderov :meno a :sprava.
Dátové typy v databázach
Prehľad hlavných typov a ich použitia (príklady sú pre relačné DB ako MySQL):
| Kategória | Typ | Použitie |
|---|---|---|
| Číselné | INT | celé čísla, napr. vek alebo id |
| FLOAT | desatinné hodnoty, napr. váha | |
| DECIMAL | presné desatinné čísla, napr. peniaze | |
| Textové | VARCHAR(n) | krátke až stredne dlhé texty, napr. meno, email |
| TEXT | dlhé texty, napr. popis | |
| CHAR(n) | pevná dĺžka textu, napr. skratky | |
| Dátum/čas | DATE | len dátum, napr. 2024-01-15 |
| TIME | len čas, napr. 08:30:00 | |
| DATETIME | dátum a čas dokopy | |
| Ostatné | BOOLEAN | true / false |
| ENUM | výber z vopred definovaných hodnôt |
Definícia: VARCHAR je textový typ s premennou dĺžkou, pri vytváraní treba určiť maximálny počet znakov.
Typy kľúčov
- PRIMARY KEY — jednoznačne identifikuje riadok, musí byť unikátny a NOT NULL.
- FOREIGN KEY — odkaz na primárny kľúč inej tabuľky, používa sa na referenčnú integritu.
- UNIQUE — zaručuje, že hodnoty v stĺpci sa neopakujú (napr. email).
Návrh databázy a číselníkové tabuľky
Príklad so žiakmi:
- Hlavná tabuľka: ziaci (uchová základné údaje)
- Číselníky: triedy, mesta, statusy (obsahujú len zoznam možností)
Výhody číselníkov:
- Menší rozmer dát pri opakovaných hodnotách
- Jednoduchá zmena textu (upravíme v číselníku, prejaví sa všade)
- Zabezpečenie konzistencie hodnôt
Príklad DDL (len ukážka): CREATE TABLE triedy ( id INT PRIMARY KEY, nazov VARCHAR(10) );
CREATE TABLE mesta ( id INT PRIMARY KEY, nazov VARCHAR(50) );
CREATE TABLE statusy ( id INT PRIMARY KEY, nazov VARCHAR(20) );
CREATE TABLE ziaci ( id INT PRIMARY KEY, meno VARCHAR(50), priezvisko VARCHAR(50), trieda_id INT, mesto_id INT, status_id INT );
Definícia: Číselníková tabuľka (lookup table) obsahuje vopred def
Už máš účet? Prihlásiť sa
Databázy a SQL - základy
Klíčová slova: Programovacia architektúra - vestavěné systémy, Počítačová architektúra, Programovacia architektúra - jazyky C a nízka úroveň, Programovacia architektúra - jazyky a úrovne, Programovacia architektúra - softvér a vývoj, Programovacia architektúra - databázy a SQL, Programovacia architektúra - numerické nástroje a MATLAB, Programovacia architektúra - webové aplikácie a PHP, Programovacia architektúra - webové rozhranie a MVC
Klíčové pojmy: SQL slúži na prácu s relačnými databázami, SELECT číta dáta, INSERT vloží, UPDATE zmení, DELETE vymaže, Vždy používať WHERE pri UPDATE a DELETE, Prepared statements (prepare) chránia proti SQL injection, VARCHAR, TEXT, INT, DECIMAL, DATETIME sú bežné dátové typy, PRIMARY KEY, FOREIGN KEY, UNIQUE definujú integritu dát, Číselníkové tabuľky znižujú redundanciu a uľahčujú zmenu, LEFT JOIN zobrazí všetky riadky z hlavnej tabuľky aj bez zodpovedajúcej hodnoty, Indexovať stĺpce používané v WHERE a JOIN zlepšuje výkon, Normalizovať tabuľky pre konzistenciu dát