facebook LinkedIN LinkedIN - follow
IT SYSTEM 7-8/2003

Databáze z hlediska podnikových informačních systémů

Marek Polášek





Databáze je pojem, jehož význam je chápán mnoha způsoby. Pro někoho to může být obecný výraz pro jakýkoliv zdroj informací, např. Zlaté stránky, pro někoho jiného je to především technologická platforma pro ukládání strukturovaných dat, a jindy to může ještě navíc znamenat celý komplex administrátorských a vývojářských nástrojů. V následujícím článku se pokusím jednoduše a stručně vysvětlit podstatu databází, jejich vývoj a význam z hlediska podnikových informačních systémů.

Historie
V počátcích komerčního využívání výpočetní techniky se data příliš neobměňovala a spíše se měnily programy, které nad těmito daty pracovaly. Výpočetní technika se tehdy v podnikové sféře obvykle používala k urychlení a automatizaci složitých matematických úloh, např. konstrukčních výpočtů, které předtím obstarávaly celé skupiny pracovníků s logaritmickými pravítky a později kapesními kalkulátory. Definice dat byla součástí programu a při jejich ukládání se vystačilo s paměťovými proměnnými a velmi jednoduchými strukturami. Postupem času začalo dat přibývat a výpočetní technika zároveň pronikla i do ekonomiky, výroby, administrativy atd. Vztah mezi daty a programy se začal obracet. Data postupně přibývala a u obslužných programů naopak došlo ke stabilizaci. Vznikla řada aplikací, které pracovaly nad stále bobtnajícími a měnícími se daty. Požadavky na ukládání dat, jejich organizaci a rychlý přístup k nim se začaly zvyšovat. V rámci programů se objevily speciální souborové struktury, ve kterých se data uchovávala už nikoliv pouze při vyvolání programu v paměti, ale přímo na disku počítače. Tento trend byl samozřejmě podmíněn zvyšováním kapacity pevných disků tehdejších počítačů. Na tomto místě je potřeba jmenovat programovací jazyk Cobol, který je považován vzhledem ke svým datovým strukturám za přímého předchůdce databází a v němž byla vyvinuta celá řada ekonomických a bankovních aplikací. Přístup k datům a jejich organizace byly ale stále poměrně komplikované a programátorsky náročné.

Vznik databází
První databáze byly jen logickým vyústěním snahy o snazší a operativnější organizaci, rychlejší a komfortnější přístup a větší bezpečnost dat. Došlo k úplnému oddělení datových struktur od vlastního obslužného programu. S tímto oddělením současně vznikly specializované programové nástroje typu DDL (Data Definition Language) pro definici datových struktur a DML (Data Manipulation Language), pro manipulaci s jednotlivými záznamy nebo jejich skupinami. Před dnes nejznámějšími relačními databázemi existovaly ještě databáze hierarchické a síťové a nyní dochází k nástupu objektových databází, ale přesto platí, že pokud v současnosti hovoříme o databázi, jedná se v drtivé většině případů o databázi relační.

Relační databáze a SQL
Relační model definoval v roce 1969 Dr. E. F. Codd. Relační model organizuje data do tzv. n-tic (tabulek), které tvoří základ relační databáze. Tabulka je organizovaná struktura záznamů s pevně stanovenými položkami. U všech položek musí být definován jednoznačný název, typ a rozsah. V relačním modelu se tedy každá položka stává sloupcem a každý záznam řádkem tabulky. Pokud jsou v různých tabulkách sloupce stejného typu, pak právě tyto sloupce mohou vytvářet tzv. relace (vazby) mezi jednotlivými tabulkami. Takto navržené tabulky se poté naplňují vlastním obsahem, tzn. konkrétními daty. Pro manipulaci s jednotlivými záznamy se využívá množina dále nedělitelných transakčních operací, jako je například přidání záznamu, změna již existujícího záznamu a odstranění záznamu. Kolekce více tabulek, jejich relací, indexů (řazení podle vybraných sloupců) a dalších součástí tvoří relační databázi.

S relačními databázemi je nedílně spojen další pojem, a sice SQL (Structure Query Language), neboli strukturovaný dotazovací jazyk. Je charakteristický tím, že jeho základní model je obecně použitelný pro většinu relačních databází. Od svého vzniku v 70. letech prošel několika revizemi. Někteří poskytovatelé databázových produktů ho obohatili o různá lokálních rozšíření, která jsou však vzájemně nekompatibilní.

Pro databáze je charakteristický princip vícenásobného uživatelského přístupu, což v praxi znamená, že k jednotlivým záznamům tabulek může v jednom okamžiku přistupovat více uživatelů, kteří mohou tyto záznamy změnit. Mechanizmy zamykání a uvolňování záznamů a s tím související datové bezpečnosti se dříve musely poměrně pracně programovat, kdežto dnes jsou součástí vlastní logiky databáze. Tento i další vnitřní principy fungování databází jsou popsány celou řadou teoretických matematických modelů, které leží zcela mimo zaměření tohoto článku.

Typy databázových produktů
Databáze je možné rozdělit podle několika kritérií. Časté je dělení podle velikosti, které samozřejmě souvisí i s dalšími možnostmi, které databáze poskytuje.

Malé databáze - PC Fand, Paradox, dBase apod. Databáze určené převážně pro použití na lokálním PC a vhodné pro návrh jednodušších, obvykle jednouživatelských databázových úloh.

Střední databáze - Typickými představiteli jsou MS Access a Visual FoxPro apod. Lze je použít na jednom PC a pro rychlý a jednoduchý vývoj databázových aplikací, ale mohou pracovat i jako síťové a obsahují rovněž některé charakteristické znaky velkých databází.

Velké databáze - Oracle, Sybase, MS SQL Server, Caché, IBM DB2, Informix apod. Mohutné databáze s důrazem na výkon, bezpečnost a zpracování velkého množství dat. V této souvislosti se o nich hovoří jako o RDBMS (Relation Data Base Management System), neboli systému báze řízení dat. U velkých databází se vždy jedná o funkcionalitu na principu klient/server, což znamená, že vlastní databáze (databázový stroj) běží na samostatném výkonném počítači (tzv. databázovém serveru). Přístup k tomuto serveru se děje pomocí klientských aplikací, které k němu přistupují z jednotlivých PC (klientů) přes počítačovou síť. U velkých databází je rovněž vždy určen princip licencování, tzn. kolik klientů může přistupovat k databázovému serveru. Možnosti jsou většinou buď podle předem definovaných (pojmenovaných) klientů, nebo podle maximálního počtu v jednom okamžiku přistupujících (konkurentních) klientů.

Vlastní databáze nedílně provází řada vývojářských nástrojů pro tvorbu databázových aplikací. Tyto nástroje umožňují rychlý návrh struktury databáze, formulářů pro vstup dat, tiskových výstupů a vlastní logiky aplikace. Mohou být přímo od dodavatelů databází nebo od nezávislých poskytovatelů. Různorodost databázových platforem vedla pochopitelně ke snaze přistupovat i k jiným formátům než pouze ke svému vlastnímu. V tomto směru vzniklo několik konceptů, jako jsou BDE od firmy Borland, ODBC, OLE DB a ADO podporované Microsoftem.

Přehled vybraných databázových řešení
Není smyslem tohoto článku detailně popisovat jednotlivá databázová řešení, a tak uvedu pouze názvy hlavních výrobců (podle abecedního pořadí) a jejich velmi stručnou charakteristiku, pro případ, že by čtenáři na tyto pojmy narazili:

Caché (InterSystems)
Postrelační databáze Caché umožňuje objektově orientovaný přístup i práci pomocí SQL, přičemž data jsou ukládána ve vícerozměrném databázovém stroji. Moderní databáze s možností komunikace s klasickými relačními databázemi.

IBM DB/2 (IBM)
Hlavní databázový produkt IBM s dlouhou historií vývoje. Doporučený pro vysoce výkonné, škálovatelné a nepřetržitě dostupné databázové aplikace na nejrůznějších platformách operačních systémů.

Informix (IBM)
Původně jedna z nejvíce rozšířených velkých databázových platforem. K datu 1. 7. 2001 přešla databázová společnost Informix celosvětově pod IBM, která se zavázala k dalšímu vývoji i podpoře produktů Informix tak, aby byla zajištěna ochrana investic zákazníků a jejich obchodních partnerů. Některé klíčové technologie budou postupně zabudovány do produktů a řešení IBM.

MS Access (Microsoft)
Desktopová databáze pro operační systém Windows, která je součástí vyšších verzí Microsoft Office. Mimořádně uživatelsky příjemná, velmi vhodná pro praktické seznámení s databázovou problematikou - viz články v IT Office 4/2003 a 5/2003.

MS FoxPro (Microsoft)
Před Accessem jednoznačně nejrozšířenější desktopová databáze v České republice, které se pak díky nelegálním instalacím tohoto produktu a nepřebernému množství vyvinutých aplikací dostalo poněkud nelichotivého přídomku Foxland. I po odkoupení Microsoftem a jednom období nevyjasněné budoucnosti (přímý konkurent Accessu) má stále svůj okruh neotřesitelných příznivců.

MS SQL Server (Microsoft)
Hlavní databázový produkt Microsoftu pro operační systém Windows. Dodáván s celou řadou administrátorských a klientských nástrojů.

MySQL (MySQL AB)
Populární databáze pro internetová řešení ve spojení s webovým serverem Apache. Pro některá nekomerční řešení zdarma. Postrádá transakční zpracování, což ji předurčuje k prohlížení dat (www stránky). Provozovatelná na Unixu i Windows.

Oracle (Oracle)
Světová špička v databázových technologiích. Podle řady nezávislých výzkumů drží dlouhodobě největší podíl na trhu. Vysoký výkon, podpora moderních technologií, řada souvisejících produktů. Dostupná na většině operačních systémů.

PostgreSQL (PostgreSQL Global Development Group)
Open source produkt, který je k dispozici zcela zdarma. Pokračovatel produktu Postgres určený převážně pro unixové systémy.

Progress RDBMS (Progress Software5)
Mimořádně stabilní a přitom škálovatelná databáze s řadou technologických novinek. Určená pro operační systémy Windows i Unix.

Sybase (Sybase)
Jeden z průkopníků v oblasti distribuovaných databází. Robustní platforma, vysoký výkon, důraz na bezpečnost. Běží na Windows i Unixu. Podporována řadou souvisejících produktů.

Podíl licencí na trhu relačních databází ve světě - zdroj IDC 2002
39% Oracle
34% IBM
11% Microsoft
16% Ostatní

Databáze a podnikové systémy
Databáze tvoří zcela pochopitelně základ všech informačních systémů ERP, APS/SCM a CRM jako jejich datové základny. Na tomto poli jsou největšími dodavateli Oracle a Microsoft. Je zajímavé, že jejich historie je zásadně odlišná. Oracle od svého vzniku v roce 1977 prošel vývojem od specializovaného dodavatele databází až ke komplexním produktům v oblasti informačního managementu na jedné straně a celopodnikovým řešením na straně druhé. Jeho současný produkt Oracle9i obsahuje plně integrovanou sadu jednoduše použitelných administrativních a replikačních nástrojů, mechanizmy pro distribuované zpracování a provoz webových aplikací a navíc i mechanizmy nutné pro provoz aplikací kritických pro podniky (od jednoserverových až po vysoce distribuovaná prostředí). Oracle9i navíc umožňuje správu celého databázového řešení přes webovský prohlížeč, bez nutnosti instalace dalšího klientského softwaru. Microsoft svůj historický nezájem o databáze napravil až se značným zpožděním, když vstoupil na trh s původně nepříliš povedeným produktem MS SQL Server, jehož jádro koupil od Sybase. Konkurencí zpočátku přehlížený produkt prošel ale rychlým vývojem a posléze obsadil velkou část segmentu středních řešení, která vyžadují hlavně nižší pořizovací náklady, snadno zaškolitelnou obsluhu a rychlé nasazení. Jeho poslední verze, MS SQL Server 2000, v kombinaci s Windows Serverem 2003 přináší škálovatelnou a robustní databázovou platformu, na které se dá rychle vybudovat a nasadit e-commerce, line-of-business aplikace nebo datové sklady. Kromě toho disponují obě zmíněné firmy vlastními podnikovými řešeními, která samozřejmě primárně podporují svými databázemi. Oracle má svůj podnikový finanční systém Oracle Financials, a Microsoft produkty Navision pro Evropu a Great Plains pro americký trh.

Zajímavá je situace nezávislých poskytovatelů podnikových řešení. Jeden z leaderů v oblasti podnikových informačních systémů, firma SAP, nasazuje svůj systém běžně na obou zmíněných platformách, i když vzájemné namlouvání s Microsoftem je v poslední době přece jen mnohem výraznější.

Moderní podnikové aplikace si už lze jen stěží představit bez standardu řešení webových služeb. Webové služby (web services) přinášejí reálné možnosti snadněji aplikace vyvíjet, opakovaně využívat i vzájemně propojovat, integrovat jednotlivé obchodní procesy a sdílet i zpřístupňovat informace a aplikace obchodním partnerům. Oracle i Microsoft umožňují v posledních verzích svých databázových produktů využití webových služeb, stejně tak jako nového standardu XML, který se z původního dialektu značkovacího jazyka rozvinul směrem k platformě pro ukládání dat. Bylo jen otázkou času, kdy si tento nový přístup podá ruku se současnými databázovými technologiemi.

Budoucnost
Databázové technologie jsou a jistě i zůstanou jedním z nejvýznamnějších softwarových oborů. Ukládání informací směřuje k budování masivních datových úložišť, výměně informací přes webovské prostředí a mnohem větším nárokům na bezpečnost dat. Tímto směrem se bude zřejmě ubírat další vývoj. Snadná distribuovatelnost a škálovatelnost budou dalšími požadavky do budoucna. XML by se mohlo stát jednotícím standardem. Relační model může být podle mého názoru překonán objektovým až v delším časovém horizontu.

Použitá literatura:
Joe Salemi : Databáze klient/server
Časopis Connect 03/2002 : Databázové technologie
Firemní materiály firmy Oracle : Databáze Oracle9i
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Modernizace IS je příležitost přehodnotit způsob práce

IT Systems 4/2025V aktuálním vydání IT Systems bych chtěl upozornit především na přílohu věnovanou kybernetické bezpečnosti. Jde o problematiku, které se věnujeme prakticky v každém vydání. Neustále se totiž vyvíjí a rozšiřuje. Tematická příloha Cyber Security je příležitostí podívat se podrobněji, jakým kybernetickým hrozbám dnes musíme čelit a jak se před nimi můžeme chránit. Kromě kybernetické bezpečnosti jsme se zaměřili také na digitalizaci průmyslu.