Co je databáze a k čemu slouží - účel a využití databází na webu


Co je databáze a k čemu slouží

Databáze je organizovaný soubor dat, který umožňuje efektivní ukládání, správu a rychlý přístup k informacím]. Na webu databáze uchovává veškerý obsah a data potřebná pro fungování webových stránek – od textů, obrázků, produktů až po uživatelské účty a nastavení.

Při každé návštěvě webu skripty (například v PHP, JavaScriptu nebo Pythonu) načítají z databáze potřebná data, která se zobrazují uživatelům (například profily, komentáře, objednávky). Databáze tak tvoří základ pro dynamický obsah webových aplikací.

Hlavní výhody databází:

  • Strukturovanost a přehlednost dat
  • Rychlý a efektivní přístup k informacím
  • Možnost škálování (zvládají velké objemy dat)
  • Bezpečnost a kontrola přístupu
  • Zajištění integrity a konzistence dat.

Typy databází

Relační databáze

je typ databáze, která organizuje data do tabulek tvořených řádky a sloupci. Každá tabulka (někdy nazývaná také relace) představuje konkrétní objekt nebo entitu, například zákazníky, produkty či objednávky.

  • Tabulka je základní strukturou pro ukládání dat. V jedné tabulce by měly být informace o jednom typu objektu (například tabulka „Uživatelé“ obsahuje údaje o všech uživatelích).
  • Sloupce (atributy) definují vlastnosti nebo charakteristiky ukládaných objektů. Každý sloupec má svůj název a datový typ (například jméno, e-mail, věk, cena)[.
  • Řádky (záznamy) obsahují konkrétní data o jednotlivých objektech. Každý řádek představuje jeden záznam, například jednoho uživatele nebo jednu objednávku.

Klíče v tabulkách:

  • Primární klíč je sloupec (nebo kombinace sloupců), který jednoznačně identifikuje každý záznam v tabulce (například ID uživatele)
  • Cizí klíč je sloupec, který vytváří vazbu mezi dvěma tabulkami a umožňuje propojení dat (například objednávka odkazuje na uživatele pomocí jeho ID).

Vztahy mezi tabulkami:
Tabulky v relační databázi mohou být propojeny různými typy relací (1:1, 1:N, M:N), což umožňuje efektivní správu a organizaci složitých datových struktur.

Výhody relačních databází:

  • Umožňují strukturované a efektivní ukládání, vyhledávání a správu velkých objemů dat.
  • Zajišťují integritu a konzistenci dat pomocí klíčů a referenční integrity.
  • Používají jazyk SQL pro efektivní dotazování a manipulaci s daty.
  • Podporují transakce, které zajišťují, že všechny operace proběhnou korektně a data zůstanou konzistentní.

NoSQL databáze

  • NoSQL databáze jsou určeny pro nestrukturovaná nebo flexibilně strukturovaná data. Nepoužívají tabulky, ale například kolekce dokumentů (MongoDB), klíč-hodnota (Redis), grafové databáze (Neo4j) nebo sloupcové databáze.

  • MongoDB ukládá data ve formátu JSON (přesněji BSON), místo tabulek používá kolekce a místo řádků dokumenty. Data nemají předem danou strukturu, což umožňuje větší flexibilitu a snadné škálování.

  • Příklady NoSQL databází: MongoDB, Cassandra, Redis, CouchDB.


SQL – základní příkazy

SQL (Structured Query Language) je jazyk pro práci s relačními databázemi. Umožňuje vkládat, vybírat, upravovat a mazat data v tabulkách.

  • SELECT – výběr dat z tabulky
SELECT * FROM uzivatele WHERE jmeno = 'Petr';

Vybere všechny údaje o uživateli jménem Petr.

  • INSERT – vložení nového záznamu
INSERT INTO uzivatele (jmeno, email) VALUES ('Jana', 'jana@email.cz');

Vloží nového uživatele do tabulky.

  • UPDATE – úprava existujícího záznamu
UPDATE uzivatele SET email = 'novy@email.cz' WHERE jmeno = 'Jana';

Změní e-mail uživatelce Janě.

  • DELETE – smazání záznamu
DELETE FROM uzivatele WHERE jmeno = 'Jana';

Smaže uživatele s daným jménem.


Propojení databáze s webovými stránkami

Aby webová aplikace mohla pracovat s databází, je potřeba ji propojit pomocí programovacího jazyka (například PHP, Python, JavaScript, ASP.NET).

  • Připojení obvykle vyžaduje tyto údaje:
    • Název databáze
    • Uživatelské jméno a heslo
    • Název serveru (hostitele)
  • Po navázání spojení může webová aplikace:
    • Načítat data z databáze a zobrazovat je uživatelům
    • Ukládat nové záznamy (např. registrace, objednávky)
    • Upravovat a mazat existující data

Například v PHP se používá funkce mysqli_connect, v Pythonu knihovna sqlite3 nebo sqlalchemy.


Použití databáze pro ukládání uživatelských dat

Databáze jsou klíčové pro ukládání a správu uživatelských dat na webu:

  • Registrace a přihlašování: Ukládání uživatelských účtů (jméno, e-mail, heslo)
  • Formuláře: Ukládání dat z kontaktních či objednávkových formulářů
  • Komentáře, recenze, objednávky: Každý záznam je uložen jako řádek v příslušné tabulce

Příklad použití:

  • Uživatel vyplní registrační formulář, data jsou odeslána na server, kde skript uloží informace do databáze. Při přihlášení se data načítají a ověřují.