Přeskočit na obsah

Databáze

Z Infopedia
Rozbalit box

Obsah boxu

Databáze
Anglický názevDatabase
TypyRelační, NoSQL (dokumentové, sloupcové, grafové, klíč-hodnota), objektové, hierarchické, síťové
Klíčové komponentyData, schéma, databázový systém řízení (DBMS), databázové aplikace
OboryInformatika, programování, správa dat, business intelligence
VýznamOrganizovaná kolekce strukturovaných informací nebo dat, typicky uložených elektronicky v počítačovém systému. Umožňuje efektivní ukládání, správu, aktualizaci a získávání dat.
Příklady použitíWebové stránky, e-commerce, bankovní systémy, zdravotnictví, sociální sítě, vědecký výzkum
Související pojmyData, informace, SQL, NoSQL, big data, cloud computing, umělá inteligence
Důležité vlastnostiIntegrita dat, bezpečnost, konzistence, dostupnost, škálovatelnost

Databáze je organizovaná kolekce dat nebo informací, typicky uložených a spravovaných elektronicky v počítačovém systému. Databáze je navržena tak, aby umožňovala efektivní ukládání, správu, aktualizaci a získávání dat. Je základním kamenem většiny moderních aplikací, od webových stránek a e-commerce systémů po bankovní systémy a zdravotnické informační systémy.

---

Základní koncepty

  • Data: Surová fakta, čísla, text nebo multimédia (např. jméno, datum narození, adresa).
  • Informace: Zpracovaná, strukturovaná a interpretovaná data, která mají význam a kontext. Databáze transformuje data na informace.
  • Schéma: Popis struktury databáze. Definuje typy dat, vztahy mezi nimi a pravidla pro integritu dat. Je to jako "plán" databáze.
  • Databázový systém řízení (DBMS): Software zodpovědný za správu databáze. Umožňuje uživatelům a aplikacím interagovat s databází, ukládat, načítat, aktualizovat a mazat data. Příklady zahrnují MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database, MongoDB.
  • Databázová aplikace: Software, který komunikuje s DBMS a poskytuje uživatelům rozhraní pro interakci s daty (např. internetové bankovnictví, rezervační systém).

---

Historie databází

Koncept ukládání a organizování informací je starý jako lidstvo samo, ale moderní databáze se začaly vyvíjet s nástupem počítačů:

  • 50. a 60. léta 20. století: Zpočátku se data ukládala v souborových systémech. S rostoucí složitostí a objemem dat se objevila potřeba efektivnějších metod. Vznikly první hierarchické a síťové databáze.
  • 70. léta 20. století: Edgar F. Codd z IBM představil relační model databází. Tento model se stal dominantním díky své jednoduchosti, flexibilitě a matematickému základu. V té době byl také vyvinut jazyk SQL (Structured Query Language).
  • 80. a 90. léta 20. století: Relační databáze se staly standardem. Rozšířily se komerční DBMS jako Oracle a Microsoft SQL Server.
  • 21. století: S nástupem internetu, big data a cloudových technologií se objevila potřeba databází, které by dokázaly lépe zpracovávat obrovské objemy nestrukturovaných a polostrukturovaných dat. To vedlo k rozvoji NoSQL databází.

---

Typy databází

Relační databáze (SQL)

Nejběžnější typ databází. Data jsou uložena v tabulkách s řádky a sloupci, a vztahy mezi tabulkami jsou definovány pomocí cizích klíčů. Používají SQL pro definici a manipulaci s daty.

NoSQL databáze

Nerepresantativní (non-relational) databáze jsou navrženy pro práci s velkými objemy nestrukturovaných, polostrukturovaných a různorodých dat. Jsou flexibilnější ve schématu a často lépe škálovatelné.

  • Dokumentové databáze: Ukládají data jako dokumenty (např. JSON, XML). Příklady: MongoDB, Couchbase.
  • Sloupcové databáze: Ukládají data ve sloupcích namísto řádků, optimalizované pro agregace a analytické dotazy. Příklady: Cassandra, HBase.
  • Grafové databáze: Data jsou uložena jako uzly a hrany, ideální pro reprezentaci složitých vztahů a sítí. Příklady: Neo4j, Amazon Neptune.
  • Klíč-hodnota databáze: Nejjednodušší typ, ukládá data jako dvojice klíč-hodnota. Příklady: Redis, DynamoDB.
  • Vhodné pro: Big data, real-time webové aplikace, sociální sítě, analytické aplikace, kde je důležitá škálovatelnost a flexibilita schématu.

Další typy

  • Objektově orientované databáze: Ukládají data jako objekty, podobně jako v objektově orientovaném programování.
  • In-memory databáze: Ukládají data v operační paměti pro velmi rychlý přístup.
  • Cloudové databáze: Databáze hostované v cloudu, nabízejí škálovatelnost a dostupnost jako služba.

---

Klíčové vlastnosti databází

  • Integrita dat: Zajištění přesnosti a konzistence dat pomocí pravidel a omezení (např. jedinečné klíče, referenční integrita).
  • Bezpečnost: Ochrana dat před neoprávněným přístupem, úpravou nebo zničením (např. autentizace, autorizace, šifrování).
  • Konzistence: Zajištění, že data v databázi jsou vždy v platném stavu, a to i po transakcích.
  • Dostupnost: Zajištění, že data jsou k dispozici uživatelům a aplikacím, kdykoli je potřeba.
  • Škálovatelnost: Schopnost databáze zvládnout rostoucí objem dat a počet uživatelů (vertikální nebo horizontální škálování).
  • Trvanlivost (Durability): Zajištění, že jednou provedené změny v databázi jsou trvalé a neztratí se ani při výpadku systému.

---

Použití databází

Databáze jsou nezbytné pro téměř všechny moderní digitální systémy:

  • Webové stránky a aplikace: Ukládají uživatelská data, obsah, nastavení a mnoho dalšího.
  • E-commerce: Spravují katalog produktů, objednávky zákazníků, platební informace.
  • Bankovní a finanční systémy: Zajišťují bezpečné a konzistentní zpracování transakcí.
  • Zdravotnictví: Uchovávají záznamy o pacientech, historii léčby, výsledky testů.
  • Sociální sítě: Spravují profily uživatelů, příspěvky, spojení, zprávy.
  • Vědecký výzkum: Ukládají a analyzují obrovské objemy experimentálních dat.
  • Logistika a řízení dodavatelských řetězců: Sledují zásoby, objednávky, přepravu.

---

Pro laiky

Představte si databázi jako obrovskou, velmi dobře uspořádanou kartotéku nebo knihovnu, ale místo papírových kartiček nebo knih jsou v ní informace uložené v počítači. Díky tomu můžete velmi rychle najít přesně to, co potřebujete – třeba informace o všech zákaznících, všechny filmy v kině, nebo všechny produkty v obchodě. A nejen najít, ale i přidávat nové, mazat staré nebo je měnit. Software, který tuto kartotéku řídí (to je ten "databázový systém řízení"), se stará o to, aby všechno bylo správně, bezpečně a vždy k dispozici.

---

Externí odkazy