Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat rozsáhlé soubory dat? Typy databázových systémů, dotazovací jazyky, hlavní představitelé na trhu. Struktura a návrh relační databáze. Informační systémy v prostředí Internetu, architektura, klientské aplikace. Podnikové informační systémy. ZPP - Databázové a informační systémy 2 1
Co je to databáze? Soubor informací existujících po dlouhou dobu, často mnoho let. Správu databáze zajišťuje SŘBD (systém řízení báze dat, databázový systém). Perzistence - dlouhodobé bezpečné uložení velkého objemu informací. Programátorské rozhraní dotazovací jazyky. Správa transakcí současný přístup mnoha procesů k datům. ZPP - Databázové a informační systémy 3 Motivace Agendové zpracování Samostatné programy pro každou agendu Vlastní formáty dat Načtení dat zpracování uložení dat Obtížná spolupráce aplikací Nutnost vyčlenit správu perzistentních dat => systémy pro řízení báze dat (SŘBD) ZPP - Databázové a informační systémy 4 2
První databázové systémy Konec 60. let 20. století první komerční systémy Rezervační systémy aerolinií Bankovní systémy Firemní systémy Různé datové modely Hierarchický model Síťový model Relační model ZPP - Databázové a informační systémy 5 Relační datový model Data jsou organizována jako tabulky reprezentující relace Def.: relace = podmnožina kartézského součinu Osoba: login, jméno, příjmení, datum narození String String String Date login jméno příjmení datum_narození wal001 Johnny Walker 10. 8. 1979 dan001 Jack Daniels 23. 1. 1957 ZPP - Databázové a informační systémy 6 3
Organizace dat Sekvenční přístup Postupný průchod všemi záznamy v tabulce Pevná / proměnná délka záznamu Přímý přístup Přístup podle klíče např. login, příjmení Primární klíč - jednoznačná identifikace záznamu Urychluje se vytvořením pomocné datové struktury pro vyhledávání indexu Indexsekvenční přístup Kombinace obou metod ZPP - Databázové a informační systémy 7 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 ZPP - Databázové a informační systémy 8 4
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 programovou komunikaci s databázovými servery Rozhraní ODBC - Windows Rozhraní JDBC Java Query by Example (QBE) Dotaz příkladem pro usnadnění tvorby dotazů ZPP - Databázové a informační systémy 9 Jazyk SQL SELECT <které sloupce nebo *> FROM <ze kterých tabulek> WHERE <podmínka> ORDER BY <podle čeho seřadit> SELECT login,jmeno,prijmeni FROM osoba WHERE prijmeni LIKE Novák% ORDER BY prijmeni,jmeno ZPP - Databázové a informační systémy 10 5
Jazyk 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 ZPP - Databázové a informační systémy 11 Příklady databázových systémů Volně dostupné MySQL, PostgreSQL MSDE Komerční MS DBase, Access, FoxPro Oracle, IBM DB2, MS SQL Server, Sybase ZPP - Databázové a informační systémy 12 6
Informační systém Automatizovaný systém zahrnující osoby, stroje a metody organizované tak, aby umožnily uchovávat, pracovávat, přenášet a šířit data reprezentující informace. Příklady Fakultní IS KatIS IDOS IS spravující informace o dopravě Podnikové informační systémy ZPP - Databázové a informační systémy 13 Informační systémy v prostředí Internetu WWW prohlížeč WWW server Apache HTTP HTML CGI Prezentace XML Aplikace SQL PHP MySQL DB Server ZPP - Databázové a informační systémy 14 7
Architektura webového informačního systému UI Framework UI Application Prezentační vrstva Domain Framework Domain Model Doménová (byznys) vrstva Database Framework Data Model Datová vrstva Database ZPP - Databázové a informační systémy 15 Technologie pro datovou vrstvu Přístup k datům nezávislý na konkrétním databázovém systému Rozhraní ODBC, JDBC + jazyk SQL Využití objektově orientovaných metod - objektově-relační mapování Hibernate JDO Java Data Objects ZPP - Databázové a informační systémy 16 8
Technologie pro byznys vrstvu Oddělení doménově závislých algoritmů od přístupu k datům a uživatelského rozhraní Př.: přihlašování na zkoušky, převod peněz mezi účty, vystavení faktury Spring Framework (Java) Enterprise Java Beans (EJB) ZPP - Databázové a informační systémy 17 Technologie pro prezentační vrstvu Podpora různých formátů výstupu téhož dokumentu Např. zobrazení pro tisk, export do Excelu, Snaha o jazykově nezávislý návrh uživatelského rozhraní JSP (Java Server Pages), ASP.NET (MS Web Forms) Využití návrhového vzoru Model-View-Controller (MVC) Jakarta Struts Framework ZPP - Databázové a informační systémy 18 9
Klientské aplikace Aplikace s tenkým klientem Využití webového prohlížeče Omezené uživatelské rozhraní Jednoduchá aktualizace Aplikace s tlustým klientem Specializovaná klientská aplikace Vyžaduje instalaci u klienta (lze řešit přes web) Maximální možnosti komunikace s uživatelem ZPP - Databázové a informační systémy 19 Podnikové informační systémy Management Information Systems (MIS) Podpora plánování a organizace podnikových procesů Enterprise Resource Planning (ERP) Workflow systémy Podpora rozhodování Co se stane, když? Podpora vztahů se zákazníky Customer Relationship Management (CRM) ZPP - Databázové a informační systémy 20 10
Datové sklady Kopie velkých objemů dat Př.: údaje o prodeji výrobků v hypermarketu, záznamy o platební historii klienta v bance Vyhledávání vzorů nebo trendů důležitých pro organizaci (data mining) Př.: závislosti mezi nákupy různých typů výrobků OLAP (On-line Analytic Processing) datové krychle speciální datové struktury ZPP - Databázové a informační systémy 21 Dokumentografické informační systémy Zaměřeny na zpracování rozsáhlých kolekcí dokumentů Př.: Záznamy z jednání Parlamentu, sbírka zákonů, 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ů ZPP - Databázové a informační systémy 22 11
Geografické informační systémy Zaměřeny na zpracování prostorových informací (např. parcely na katastrální mapě), popisných informací (např. majitel parcely, typ pozemku, cena, ) Základní problémy: Ukládání dat datové modely (vektory, rastr) Vyhledávání speciální operátory, SpatialSQL ZPP - Databázové a informační systémy 23 Studijní program Informační technologie Teorie zpracování dat 2. r. LS Databázové a informační systémy 3. r. ZS Tvorba informačních systémů 3. r. LS Dokumentografické informační systémy Metody analýzy dat Geografické informační systémy ZPP - Databázové a informační systémy 24 12