Co je databáze a k čemu slouží - účel a využití databází na webu
- Typy databází
- Relační databáze – co to je, jak fungují (tabulky, řádky, sloupce)
- NoSQL databáze – velmi stručně o alternativách (MongoDB, JSON)
- SQL – základní příkazy
- Propojení databáze s webovými stránkami
- Použití databáze pro ukládání uživatelských dat (např. formuláře, uživatelské účty)
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í.