Pokud pracujeme s malými objemy dat a nepotřebujeme tato data uchovávat po ukončení programu, vystačíme s proměnnými deklarovanými v programu a uloženými v operační paměti. Pojem malé množství je velmi relativní. Ve skutečnosti se může jednat i o velmi rozměrné datové objekty, např. matice pro numerické řešení parciálních diferenciálních rovnic. Ale i v takovém případě je množství zadávaných údajů malé, výstupy jsou vytištěny a program může skončit.
V operační paměti můžeme uchovávat jednoduché skalární proměnné, obsahující celá a reálná čísla nebo znaky. Proměnné mohou být i strukturované, například matice nebo záznamy. Dále můžeme vytvářet v operační paměti složité útvary, jako jsou modely grafů, front, seznamů, zásobníků, stromů a dalších složitých struktur.
Pokud pracujeme s velkými objemy dat, jako jsou kartotéky zaměstnanců, kusovníky, postupy, faktury, nevystačíme s proměnnými v operační paměti. Důvody jsou následující:
Operační paměť je v zásadě konstruována jako lineární s přímým přístupem ke každému bytu. Magnetopáskové jednotky umožňují buď sekvenčně zapisovat, nebo sekvenčně číst. Diskové jednotky umožňují zapisovat i číst jak sekvenčně, tak s přímým přístupem. Organizace dat je však složitější než u operační paměti, na disku rozlišujeme sektory, stopy, cylindry. Pro jednodušší práci jsou data na disku organizována do souborů, samostatně se ukládají údaje o uložení částí souborů a údaje o volných místech na disku. Zavádí se pojem soubor jako posloupnost komponent, přičemž komponentou může být znak (textový soubor), jednoduchá nebo strukturovaná proměnná (soubor s udaným typem) nebo souvislý blok bytů bez vnitřní struktury (soubory bez udaného typu).
Často se hovoří o binárních souborech jako o souborech, které obsahují údaje ve vnitřním zobrazení počítače, jako protějšku čistě textových souborů. Lépe je používat pojem soubor s udaným typem, přičemž tento typ může obsahovat znaková, binární nebo smíšená pole.
Soubory lze zpracovávat procedurálním způsobem, tj. nalezením a naprogramováním algoritmu, který vede od výchozích dat a parametrů krok po kroku k výsledku. Obvyklá otázka zní:
"Jakým způsobem získám výsledek ze vstupních dat?".
Práce se soubory vyžaduje dokonalou analýzu úlohy, možné změny v zadání jsou pracné, ovšem zpracování mohou být velmi rychlá.
Souborové zpracování dat lze dále rozdělit na klasické, založené na zpracování seřazených souborů a indexsekvenční, založené na budování indexů podle různých klíčů nad soubory obsahujícími vlastní data. Protože programátor realizuje celý algoritmus, je schopen odhadnout dobu zpracování.
Jiný přístup ke zpracování dat je zpracování databázové. Zde se důsledně oddělují data a manipulace s nimi. Při práci s databází dochází k vyšší úrovni abstrakce. V řadě případů jsou databázové přístupy založeny na matematických modelech.
Databáze na rozdíl od samostatných souborů mají velmi složitou strukturu a vztahy mezi jednotlivými prvky databáze. Obvyklá otázka zní:
"Jaké jsou vlastnosti dat, která požaduji nebo chci zpracovat?"
Úlohou databázového systému je data s těmito vlastnostmi najít, zobrazit, vytvořit, zrušit nebo modifikovat. Databáze lze zpracovávat také procedurálním přístupem. Doba zpracování v databázi je dána nejenom programátorem, který formuluje dotaz, algoritmy zpracování integrovanými v rámci databáze, ale i návrhem databáze a zejména jeho optimalizací. Velmi často lze jen velmi obtížně odhadnout dobu zpracování.
Na matematickém pojmu relace jsou založeny relační databáze.
Jiným typem databází jsou objektově orientované databáze. Zde se vychází z principů dědičnosti a skrytí implementace před uživatelem.
Databázové modely mohou být velmi rozsáhlé a komplikované. Zatímco v klasických úlohách souborového zpracování informací se zpracovává několik souborů (obvykle jeden až čtyři) najednou, databáze může obsahovat stovky tabulek a vazeb mezi nimi.
Rozhraní s uživatelem jsou obvykle uživatelsky příjemná a graficky orientovaná. Velmi často se určité úlohy formulují až během užívání databáze. Databázové systémy se lépe udržují a přizpůsobují změnám požadavků uživatele než klasické souborové systémy. Některé úlohy všem mohou být v databázových systémech zpracovávány až řádově pomaleji.
V tomto kursu si ukážeme jak práci s jednoduchými soubory v prostředí procedurálního jazyka 3. generace, tak práci s jednoduchou databází. Příklady budou uvedeny nezbytným teoretickým přehledem.
Kurs je jen úvodem do zpracování dat. Hlubší informace o databázích, objektových technologiích zpracování dat, dataskladech a získávání znalostí jsou předmětem samostatného kursu "Databázové systémy ve strojírenství".