Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24
Obsah Databázové a informační systémy Databázové technologie datové modely, dotazovací jazyky. Informační systémy IS v prostředí internetu, architektura, datová vrstva. Dokumentografické informační systémy. Geografické informační systémy. Metody analýzy dat. Základy algoritmizace. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 2/24
Databázové technologie Jak ukládat a efektivně zpracovávat rozsáhlé soubory dat? Typy databázových systémů, datové modely, dotazovací jazyky, hlavní představitelé na trhu. Moderní datové modely - objektově-orientovaný datový model, XML datový model. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 3/24
Co je to databáze? Soubor informací existujících po dlouhou dobu, často mnoho let. Správu databáze zajišt 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. Distribuované báze dat. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 4/24
Agendové zpracování dat Agendové zpracování dat 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). 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 5/24
Databázové systémy 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ít ový model Relační model Objektově-orientovaný model XML model 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 6/24
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 Primární klíč. login name surname birth dan001 Jack Daniels 23.1. 1957 wal001 Johnny Walker 10.8. 1979 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 7/24
Organizace dat - motivace Mějme 10 7 záznamů (data občanů ČR). Hledáme záznam dle RČ. Pokud by porovnání jednoho záznamu trvalo 10 ms, pak vyhledání (sekvenčním průchodem n/2 porovnání) příslušného záznamu bude trvat průměrně 13,9 h. Je tedy nutné hledat algoritmy a datové struktury, které umožňují efektivní vyhledávání (Základy algortitmizace). 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 8/24
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í. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 9/24
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. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 10/24
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. Rozhraní ODBC, JDBC, ADO.NET. Query by Example (QBE) - dotaz příkladem pro usnadnění tvorby dotazů. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 11/24
Jazyk SQL 1/2 SELECT <které sloupce nebo *> FROM <tabulky> WHERE <podmínka> ORDER BY <podle čeho seřadit> SELECT login,jmeno,prijmeni FROM osoba WHERE prijmeni LIKE "Novák" ORDER BY prijmeni,jmeno 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 12/24
Jazyk SQL 2/2 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 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 13/24
Objektově-orientovaný datový model Bolestivý přechod od RSŘBD - není příliš rozšířen. V existujících SŘBD se ale velmi osvědčila kombinace relačního a oo datové modelu objektově-relační datový model. CREATE OR REPLACE TYPE TAddress AS OBJECT ( street VARCHAR2(30),... ); CREATE OR REPLACE TYPE TPerson AS OBJECT ( login VARCHAR2(6), fname VARCHAR2(20), sname VARCHAR2(20), address TAddress,... ) NOT FINAL NOT INSTANTIABLE; 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 14/24
XML datový model <?xml version="1.0"?> <books> <book id="003-04312"> <title>the Two Towers</title> <author>j.r.r. Tolkien</author> </book> <book id="001-00863"> <title>the Return of the King</title> <author>j.r.r. Tolkien</author> </book>.. </books> 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 15/24
XML datový model 0 books (0) book 1 5 9 book book (1) (1) (1) id 2 (2) title 3 4 6 7 8 10 11 12 author id title author id title author (4) (6) (2) (4) (6) (2) (4) (6) 003-04312 (3) The Two Towers (5) J.R.R. Tolkien (7) 001-00863 (8) The Return of the King (9) J.R.R. Tolkien (7) 045-00012 (10) Catch 22 (11) Joseph Heller (12) XPath dotaz: /books/book[author="joseph Heller"]/title 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 16/24
Příklady databázových systémů Volně dostupné MySQL, PostgreSQL MSDE Komerční DBase, Access, FoxPro Oracle, IBM DB2, MS SQL Server, Sybase 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 17/24
Informační systém - Tvorba informačních 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 Podnikové informační systémy Fakultní IS KatIS 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 18/24
Informační systémy 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. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 19/24
Datové sklady Metody analýzy dat 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 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 20/24
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ů 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 21/24
Dokumentografické informační systémy Booleovský model - termy dokumentů jsou indexovány např. B-stromem. Vektorový model - dokument je chápán jako vektor v n-rozměrném prostoru. Velký objem dat 10 9 dokumentů, 10 6 termů. 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 22/24
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). Indexovací datové struktury - Kvadrantové stromy, R-stromy. Vyhledávání speciální operátory, SpatialSQL 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 23/24
Studijní program Informační technologie Základy algoritmizace 1. r. LS 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 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 24/24