Databáze

Databáze je organizovaná kolekce informací, která je navržena tak, aby k ní mohl počítačový program rychle přistupovat a manipulovat s ní. Data v databázi jsou typicky strukturována tak, aby modelovala aspekty reality (například dostupnost zboží ve skladu nebo profily uživatelů sociální sítě).

Rozdíl mezi pojmy:

Data: Surové informace (např. „Jan Novák“, „30“).

Databáze: Soubor těchto dat uložený na disku.

DBMS: Program, který umožňuje s databází pracovat (např. MySQL, Oracle).

Základní typy databází

Podle způsobu, jakým jsou data uvnitř organizována, dělíme databáze do dvou hlavních kategorií:

1. Relační databáze (SQL)

Nejrozšířenější typ. Data jsou uložena v pevných tabulkách (řádky a sloupce). Tabulky jsou mezi sebou propojeny pomocí relací (vztahů). Pro práci s nimi se používá jazyk SQL.

Vhodné pro: Účetnictví, bankovnictví, e-shopy (kde je klíčová přesnost a integrita).

Příklady: MySQL, PostgreSQL, MS SQL Server, Oracle.

2. Nereleleční databáze (NoSQL)

Umožňují ukládat nestrukturovaná nebo měnící se data. Místo tabulek používají dokumenty (JSON), grafy nebo dvojice klíč–hodnota.

Vhodné pro: Big Data, analýzu sociálních sítí, real-time zprávy.

Příklady: MongoDB (dokumentová), Redis (klíč–hodnota), Neo4j (grafová).

[Image comparing SQL table structure vs NoSQL document structure]

Klíčové vlastnosti databází

Pro zajištění kvality dat musí moderní databáze splňovat několik kritérií:

Integrita: Zajištění, že data jsou správná a konzistentní (např. nelze smazat zákazníka, který má aktivní objednávku).

Bezpečnost: Řízení přístupu – různí uživatelé mají různá práva (čtení, zápis, mazání).

Škálovatelnost: Schopnost databáze růst spolu s množstvím dat a počtem uživatelů.

Transakčnost (ACID): Záruka, že operace proběhne buď celá, nebo vůbec (klíčové u převodů peněz).

Architektura: Jak databáze funguje

Většina databází funguje v režimu klient–server:

1. **Klient:** Aplikace (např. váš prohlížeč nebo mobilní aplikace) pošle dotaz.
2. **DBMS (Server):** Přijme dotaz, najde data na disku, ověří oprávnění a data zpracuje.
3. **Odpověď:** Server pošle výsledná data zpět aplikaci.

[Image of database client-server architecture diagram]

Proč nepoužívat běžné soubory (Excel)?

Ačkoliv se Excel může zdát jako jednoduchá databáze, pro profesionální použití nestačí z těchto důvodů:

Souběžný přístup: Do databáze mohou zapisovat tisíce lidí naráz, v Excelu se soubor při otevření pro ostatní uzamkne.

Objem dat: Databáze pojmou miliardy řádků bez ztráty rychlosti (díky indexování).

Vztahy: Propojení složitých dat (např. auto → motor → součástky) je v souborech nepraktické.

Související pojmy: SQL, NoSQL, RDBMS, ACID, CRUD, MySQL, Indexování, CAP teorém.