Kapitola2
Databázové systémy
Souhrn
Tato kapitola se zabývá různou strukturou a možnou architekturou databázových systémů. Popisuje typy databázových systémů. Student získá povědomí o různých architekturách databázových systémů, o systému řízení báze dat. Dokáže pracovat se základními pojmy z oblasti databázových systémů – databáze, databázová aplikace, SŘBD. Diskutuje o architektuře databází – centrální, file-server, klient-server.
60 hodin
Databázový systém umožňuje shromažďovat, ukládat, udržovat, měnit, prohlížet a tisknout specifické informace, které jsou pro nás důležité v práci nebo životě. Umožňuje manipulovat a komunikovat s daty.
Databázový systém se skládá ze dvou částí:
Systém řízení báze dat (SŘBD) neskrývá nic jiného, než to, čemu se normálně říká databázový server, který běží na velkém, středním nebo stolním počítači. SŘBD odpovídá na dotazy nebo vykonává příkazy, které mu posílá klient. Klient je aplikace, která běží (většinou) na jiném počítači.
Ze známějších produktů lze jmenovat tyto SŘBD:
- Microsoft Access.
- Microsoft SQL Server.
- PostgreSQL.
- Oracle.
- MySQL.
Microsoft Office Access je program, který slouží ke správě relačních databází. Pracuje s nástrojem Microsoft Jet Database Engine, který je kombinován s grafickým uživatelským rozhraním. Jedná se o proprietární software, v rámci kterého je možné využívat data například z Access/Jet, Microsoft SQL Server nebo Oracle. K jednotlivým databázím se přistupuje prostřednictvím rozhraní ODBC.
Microsoft SQL Server je software vyvinutý společností Microsoft, který obsahuje databázový velmi propracovaný engine a řadu prvků, které pomáhají databáze využívat. Mezi takové prvky patří SQL Server Integration services, SQL Server Reporting Services, SQL Server Analysis Services a další funkce.
PostgreSQL je robustní systém řízení báze dat a využívá velké množství pokročilých funkcí. Je podobný databázovému systémemu MySQL a dost často je s tímto systémem srovnáván. Podobně jako MySQL je PostgreSQL snadno dostupný. PostgreSQL je šířen pod open source licencí. Bohužel je PostgreSQL ve srovnání s MySQL v některých případech trochu pomalejší. Na druhou stranu se tento systém vykazuje dlouhodobou bezpečností a spolehlivostí. Výhodou PostgreSQL je také schopnost spouštět funkce a procedury, které jsou napsané například v jazycích Perl či Python.
Oracle je systém řízení báze dat, moderní multiplatformní databázový systém s velice pokročilými možnostmi zpracování dat, vysokým výkonem a snadnou škálovatelností.
MySQL je systém pro správu relačních databází (RDBMS), který používá jazyk strukturovaných dotazů (SQL). Jednou z nejzajímavějších funkcí MySQL je licence. MySQL je open source projekt. To znamená, že úplný zdrojový kód MySQL je volně dostupný. Od června 2000 je pro MySQL platná veřejná licence GNU (GPL). Tím je zajištěno, že služba MySQL bude i nadále volně dostupná ve smyslu otevřeného přístupu. Pro komerční aplikace je kromě GPL licence k dispozici i licence komerční.
Jak již bylo řečeno, systém řízení báze dat je software, který se stará o organizaci a údržbu dat v počítači. Aby toho byl schopen, musí poskytovat služby pro definici dat, pomocí nichž určíme záznamy a položky v databázi. Dále musí obsahovat mechanismus, který spravuje data na disku a ví, kde je uložen jejich konkrétní prvek. Také musí umožnit uživateli s těmito daty manipulovat.
Některé SŘBD obsahují i služby k zobrazování a prezentaci dat. Důležitou součástí SŘBD je jejich schopnost zajistit integritu dat, tedy správnost a úplnost dat, bez ohledu na vnější okolnosti jako jsou havárie disků nebo výpadky proudu, případně neúmyslné změny způsobené uživateli nebo aplikacemi. Zvláště důležité je to ve víceuživatelském prostředí, kde může jeden záznam editovat více uživatelů zároveň. SŘBD musí zajistit, že se ve skutečnosti provede pouze jedna změna a ostatní o ní budou informováni.
V angličtině je systém řízení báze dat označován jako Database Management Systém (DBMS), případně, pokud je tento systém relační – RDBMS. Jiné označení pro SŘBD je back-end.
Systém řízení báze dat zahrnuje služby:
- Definice dat (data definition) – poskytuje prostředky pro definování a uchování dat (datové populace).
- Údržba dat (data maintenance) – udržuje data tak, že každému členu datové populace vyhrazuje záznam skládající se z položek, popisující dílčí informace o tomto členu.
- Manipulace s daty (data manipulation) – poskytuje služby, které uživateli umožní vkládat, aktualizovat, rušit a třídit data v databázi.
- Zobrazování dat (data display) – může poskytnout určité formy prezentace dat uživateli.
- Integrita dat (data integrity) – poskytuje metody pro zajištění správnosti dat.
Databázová aplikace se někdy označuje spojením front-end. Je to jednoduše program, který umožňuje uživateli zadávat, měnit a rušit data v databázi a vytvářet z nich výpisy. Jazyky používané pro tvorbu databázových aplikací můžeme dělit do několika kategorií.