Pro pochopení fungování relační databáze je užitečné si projít základní koncepty, na kterých stojí její struktura.
Relační databáze uspořádává data do jedné nebo více tabulek tvořených řádky (každý obsahuje jeden záznam) a sloupci (každý určuje konkrétní atribut). Místo ukládání dat do jednoho velkého souboru rozděluje relační databáze informace do logických celků a definuje relace, které je propojují.
Tento přístup vznikl před více než 50 lety v rámci relačního modelu. Vychází z matematických konceptů množin a relací, které určují, jak mají být data ukládána a jak k nim přistupovat.
Každá tabulka v relační databázi představuje samostatný typ dat. Příklad:
- Tabulka Zákazníci může obsahovat jméno, e-mail a podrobnosti o účtu.
- V tabulce Objednávky se mohou ukládat jednotlivé transakce.
Relace mezi tabulkami se udržují prostřednictvím klíčů:
- Primární klíč je jedinečný identifikátor přiřazený záznamu v tabulce.
- Cizí klíč odkazuje na primární klíč v jiné tabulce a vytváří tak konkrétní relaci mezi tabulkami.
Relace mezi tabulkami, vynucované pomocí primárních a cizích klíčů, pomáhají zajistit, aby data zůstávala konzistentní a přesná. Například při odstranění záznamu o zákazníkovi mohou být automaticky odstraněny i související objednávky, čímž se zabrání vzniku osiřelých dat.
Podrobný plán, který definuje strukturu a uspořádání relační databáze, včetně tabulek, atributů, klíčů a relací, se nazývá schéma relační databáze.
Jazyk SQL (Structured Query Language) je univerzální jazyk pro komunikaci s relačními databázemi. Poskytuje uživatelům standardizovaný způsob, jak data vytvářet, číst, aktualizovat a odstraňovat, a zároveň definovat relace a vynucovat pravidla pro integritu dat. Datový sklad využívá předdefinované relační schéma, díky čemuž je ideálním pro strukturovaná data, která byla vyčištěna a optimalizována pro dotazy SQL.
Systém správy relačních databází (RDBMS) je software, který organizacím pomáhá zajistit uspořádání, přístupnost a zabezpečení velkých a komplexních relačních databází. Poskytuje nástroje pro definování schémat relačních databází, vynucování relací a spouštění dotazů SQL.