Databázové a informační systémy Jana Šarmanová
Obsah Úloha evidence údajů, způsoby evidování Databázové technologie – datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat Dokumentografické IS Faktografické IS Geografické IS
Úlohy zpracování dat Proč vzniká problém zpracování dat V praktickém životě je často zapotřebí evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů, členů sportovního oddílu ap.), o zvířatech nebo rostlinách (evidence ZOO, botanické zahrady ap.), o množině věcí (knihy ve veřejné knihovně, inventář firmy, materiálu na skladě ap.) o množině jevů (počasí, provedených lékařských výkonech ap.) Zpracováním dat nazýváme evidování a zpracování velkého množství údajů o velkém množství objektů.
Úlohy zpracování dat Co a jak se zpracovává • Objekty (lidi, zvířata, věci, jevy) popisujeme pomocí jejich vlastností. (zaměstnanec firmy má jméno, adresu, funkci, plat; kniha v knihovně má název, autora, rok vydání, cenu, …). • Při evidencích se pak předem rozhodneme, které vlastnosti potřebujeme sledovat. • Vybrané vlastnosti budeme nazývat atributy. • I při „ručním“ zpracování si atributy pojmenujeme (nadpis sloupce) a zvolíme nějakou formu evidence.
1. Tabulka na papír či do sešitu nalinkujeme tabulku, sloupce popíšeme názvy vybraných evidovaných vlastností, celou tabulku pojmenujeme typem evidovaných objektů.
Úlohy zpracování dat Příklad 1: Evidence dat o zaměstnancích v tabulce. Zaměstnanci jsou zapisováni v pořadí, jak byli do firmy přijati. Potřebujeme evidovat jejich jméno, adresu, funkci, plat. Pojmenujeme tuto tabulku Zaměstnanec a její strukturu (= seznam evidovaných vlastností, atributů) zapíšeme takto: Zaměstnanec (jméno, adresa, funkce, plat) Tabulka vypadá takto: Zaměstnanec jméno
adresa
funkce
plat
Žižka Kamil
Studená 10, Ostrava 8
svářeč
12000
Bednářová Petra
Růžová 12, Ostrava 1
uklízečka
8000
Široká 2, Opava
účetní
17000
… Novák František
Úlohy zpracování dat 2. Kartotéka • kartotéční listy, na každém je „formulář“ obsahující názvy evidovaných údajů. • každý objekt je zapsán na jednu evidenční kartu, • všechny listy jsou umístěny do krabice nebo šuplíku. Výhodou je • možnost ukládat listy v nějakém uspořádání (zaměstnanci abecedně podle jména, knihy podle názvu nebo autora apod.) • toto uspořádání dodržovat i při všech změnách, přidávání a rušení karet.
Úlohy zpracování dat Pojmy Vést evidenci o objektech znamená • zaznamenat vhodně organizované údaje na nějaké médium • provádět změny údajů při změně evidované reality • provádět výběry informací podle různých kritérií • odvozovat a počítat z uložených údajů další • třídit údaje dle různých kritérií • zaznamenávat vztahy mezi údaji o objektech různých druhů • o všech údajích zaznamenaných i odvozených vydávat informace ve vhodné grafické úpravě Informačním systémem obecně nazýváme organizaci údajů vhodnou pro systémové zpracování dat: pro jejich sběr, uložení a uchování, zpracování, vyhledávání a vydávání informací o nich, to vše pro účely rozhodování.
Agendové zpracování dat Závislost dat a programů Každý program řeší nejen vlastní aplikační problém, ale i formát fyzického uložení dat na médiu. Navazující úlohy musí respektovat již vytvořené – deklarované fyzické struktury dat. Při změně datové struktury v jednom programu je nutné měnit a kompilovat i všechny další programy, které s touto strukturou pracují, i když se v jejich funkčnosti nic nemění. Odtud nízká efektivnost datových struktur i programů.
Agendové zpracování dat Závislost dat a programů Pascal: Program Evidence_zamestnancu; var Zamestnanec: record of jmeno: string [1..20]; adresa:string [1..50]; funkce:string [1..10]; plat: integer end; Begin ... End. program data deklarace
Databázové zpracování dat Základní pojmy databázového zpracování Entita - objekt celá posloupnost položek popisuje objekt. Taková struktura položek, která má ucelený význam (zachycuje všechny potřebné údaje o sledovaném objektu) se nazývá záznamem (větou, recordem). Je to obvykle skupinová položka. Množina entit – množina objektů – datový soubor – obsah tabulky množinu záznamů stejného typu, zaznamenávající ucelenou informaci o množině sledovaných objektů a uloženou na paměťovém médiu, nazýváme datovým souborem. Množiny záznamů si můžeme snadno představit ve tvaru tabulky, kde každý objekt je popsán jedním řádkem a každý atribut objektu je v jednom sloupci. Databáze Množinu datových souborů, uchovávajících data o nějakém uceleném úseku reality, nazýváme databází.
Databázové zpracování dat Základní pojmy databázového zpracování Systém řízení báze dat - SŘBD programový systém (prázdný, bez datových souborů a bez aplikačních programů), umožňující definování datových struktur a datových souborů, řešící fyzické uložení dat ve vnější paměti počítače, umožňující manipulaci s daty a formátování vstupních i výstupních informací, nazýváme systémem řízení báze dat. Aplikační úloha Aplikační úlohou nad SŘBD nazýváme konkrétní program napsaný pomocí programových prostředků použitého SŘBD nad konkrétní databází, pro tuto úlohu vytvořenou.
Databázové zpracování dat Základní pojmy databázového zpracování Informační systém Aplikační úlohy nad společnou databází tvoří ucelený systém, nazývaný databázovým nebo informačním systémem (dále jen IS) nad použitým SŘBD. V tomto pojetí tedy informačním systémem rozumíme celek, řešící rozsáhlejší oblast aplikační, naprogramovaný (obvykle v jednom) SŘBD s vhodně navrženými datovými strukturami tak, aby všechny aplikační úlohy k nim měly optimální přístup. Řeší uložení, uchování, zpracování a vyhledávání informací a umožňuje jejich formátování do uživatelsky přívětivého tvaru.
Databázové zpracování dat Paradigma databázové technologie Definování datových typů a operací nad daty není vše, čím se liší databázová technologie od klasického programování. Nejpodstatnější rozdíl, základní princip či tzv. paradigma databázové technologie je oddělení datových struktur od programů Tuto vlastnost zabezpečuje v SŘBD možnost definovat datové a programové struktury samostatně a nezávisle na sobě. Struktury datových souborů jsou uloženy samostatně nebo jsou součástí datových souborů. Programy s nimi pracují tak, že si načtou strukturu dat a pak s datovým souborem mohou provádět potřebné operace. Při změně datové struktury není nutné měnit programy, při změně programů není nutné měnit datové struktury.
Databázové zpracování dat Paradigma databázové technologie SŘBD: CREATE TABLE Zamestnanec (jmeno CHAR(20), adresa CHAR(50), funkce CHAR(10), plat NUMBER(8,2)); program use Zamestnanec
Zamestnanec deklarace data
Datové modely • • • •
Síťový model (zvl. případ Hierarchický model) Relační model Objektově-orientovaný model -> objektově-relační model XML model
Organizace dat • Sekvenční přístup – Postupný průchod všemi záznamy v tabulce – Pevná / proměnná délka záznamu
• Indexové soubory – v další datové struktuře jsou záznamy uspořádány dle hodnot indexovaného atributu. • Stromové datové struktury – B-strom. • Hashování
Dotazovací jazyky • Definice struktury databáze. – Vytvoření databáze, tabulky, indexu.
• Manipulace s databází – – – –
Vkládání nových záznamů. Aktualizace existujících záznamů. Rušení záznamů. Výběr dat z databáze
• Výběr řádků a sloupců tabulky podle zadaných podmínek, – výběr z více tabulek – spojení tabulek.
Dotazovací jazyky • Structured Query Language (SQL) – Standardizovaný dotazovací a manipulační jazyk pro relační databáze (ANSI SQL-92). – Rozšíření SQL-99 s objektově - relačními prvky. – Využívá se i pro komunikaci s databázovými servery.
• Query by Example (QBE) - dotaz příkladem – pro usnadnění tvorby dotazů.
SQL SELECT
FROM WHERE <podmínka> ORDER BY <podle čeho seřadit> SELECT login, jmeno, prijmeni FROM osoba WHERE prijmeni LIKE "Novák" ORDER BY prijmeni,jmeno
SQL INSERT INTO osoba VALUES (‘bec022’, ‘Jan’, ‘Becher’, ’1980-01-20’) UPDATE osoba SET jmeno=‘Jeník’ WHERE login=‘wal001’ DELETE FROM osoba WHERE login=‘dan001’
XML datový model The Two Towers J.R.R. Tolkien The Return of the King J.R.R. Tolkien ..
Příklady SŘBD Volně dostupné • MySQL, PostgreSQL Komerční • DBase, Access, FoxPro • Oracle, IBM DB2, MS SQL Server, Sybase
IS v prostředí Internetu Datová vrstva - přístup k datům nezávislý na konkrétním databázovém systému. Rozhraní ODBC, JDBC + jazyk SQL.
Datové sklady + Data Mining •
Datový sklad = kopie velkých objemů dat s předpočítanými sumami – Příklad: údaje o prodeji výrobků v hypermarketu, záznamy o platební historii klienta v bance
•
OLAP (On-line Analytic Processing) – „datové krychle“ – speciální datové struktury
•
Data Mining = Získávání znalostí z dat = vyhledávání vzorů nebo trendů důležitých pro organizaci (data mining) – Příklad: závislosti mezi nákupy různých typů výrobků
Dokumentografické IS •
Zaměřeny na zpracování rozsáhlých kolekcí dokumentů (textů ...) – Data nestrukturovaná nebo jen částečně strukturovaná – Příklad: Záznamy z jednání Parlamentu, články, knihy, ... – informace na Internetu (Google, . . . )
•
Základní problémy: – Efektivní ukládání dokumentů • Komprese dat
– Efektivní vyhledávání • Podle klíčových slov • Podle podobnosti dokumentů
Faktografické IS •
Ukládají informace určité oblasti, často jen pro čtení – Data nestrukturovaná i strukturovaná – Příklad: Sbírka zákonů, Jízdní řády, ...
•
Základní problémy: – Efektivní práce s fakty, vyhledávání pomocí speciálního SW
Geografické IS •
Zaměřeny na zpracování – prostorových informací (příklad: parcely na katastrální mapě), – popisných informací (příklad: majitel parcely, typ pozemku, cena, . . . )
•
Základní problémy: – Ukládání dat – datové modely (vektory, rastr). Indexovací datové struktury - Kvadrantové stromy, R-stromy. – Vyhledávání – speciální operátory, SpatialSQL