základní informace Databázové systémy Úvodní přednáška předměty: KI/DSY (B1801 Informatika - dvouoborová) KI/P502 (B1802 Aplikovaná informatika) ukončení: Zápočet + Zkouška / 5kb ki.ujep.cz termínovník, e-nástěnka literatura stag.ujep.cz Prohlížení -> Předměty KI/ADS podmiňující předmět e-mail: kvetuse.sykorova@ujep.cz 2 Obsah přednášky Databázové systémy pojem Databáze základní pojmy historický vývoj DBS úrovně DBS datové modely struktura DBS předrelační, relační, postrelační operační, analytické 3 dříve - informace uchovávány v papírové podobě v kartotékách a registrech dnes informace uchovávány v elektronické podobě v databázích Databáze = elektronická podoba kartotéky nebo registru. 4 DBS = databázový systém systém uchovávající a spravující určité informace o různých reálných objektech. objekt = reálný existující člověk, předmět, místo, událost nebo pojem např. student, kniha, zájezd, faktura atribut = charakteristická vlastnost objektu např. jméno, název, destinace, město záznam = všechny vlastnosti příslušející jednomu objektu např. student Jan Novák, narozen 18.5.1974 hodnota = konkrétní vlastnost objektu např. Jan, Fimfárum, Podhajská, Kolín 5 6 1
redundance dat = nadbytečný výskyt stejných hodnot minimalizace redundantních dat v DBS integrita dat = všechna související data musí odpovídat existujícímu objektu nutná redundance dat v DBS např. student studuje existující obor 7 číslo objednávky datum objednávky jméno ce zaměstnán od název výrobku cena výrobku 10456 12.8.2005 Jan Novák 1.2.2005 Funghi 105 Kč 10456 12.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10456 12.8.2005 Jan Novák 1.2.2005 Insalata Belucci 125 Kč 10457 12.8.2005 Emil Král 15.3.2005 Fausto 115 Kč 10457 12.8.2005 Emil Král 15.3.2005 Carpaccio 155 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Insalata Caesar 128 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Rustica 159 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Carpaccio 155 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Quatro formaggi 157 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Insalata Belucci 125 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Insalata Greca 109 Kč 10460 13.8.2005 Václav Nový 25.5.2005 Trapolla 145 Kč 10461 13.8.2005 Václav Nový 25.5.2005 Carpaccio 155 Kč 10461 13.8.2005 Václav Nový 25.5.2005 Funghi 105 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Fausto 115 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Insalata Greca 109 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Insalata Caesar 128 Kč 10463 14.8.2005 Emil Král 15.3.2005 Fausto 115 Kč 10463 14.8.2005 Emil Král 15.3.2005 Trapolla 145 Kč 10463 14.8.2005 Emil Král 15.3.2005 Quatro formaggi 157 Kč 10463 14.8.2005 Emil Král 15.3.2005 Rustica 159 Kč 8 50. léta 60. léta aplikace obsahovala vše data aplikace data typy systém pro zpracování souborů externí soubory dat systém typy soubor data 9 10 nevýhody: obtížná změna struktury dat velká redundance dat problémy se zajištěním integrity dat problémy s bezpečností dat omezení přístupu uživatelů přístup k datům značně omezen sekvenčním vyhledáváním 60. léta - konec systém řízení báze dat databáze dat data SŘBD databáze data typy 11 12 2
úrovně DBS = způsob pohledu na data v databázi fyzická (interní) způsob fyzického uložení dat na disku konceptuální popis struktury databáze (tabulek) popis vztahů mezi uloženými daty externí popis dat z pohledu uživatele, tj. uživatelské prostředí (formuláře, sestavy, ) = způsob uložení dat v databázi hierarchický síťový relační objektový historický vývoj 13 14 hierarchický: UJEP PF rektorát PřF hierarchický: záznamy organizovány ve stromové struktuře řeší snadno a rychle vztahy 1:N nezáleží na fyzické struktuře dat matemat. psychol. úřad kvestora chemie fyziky Nevýhody: problémy při řešení vztahů M:N problémy při změně struktury dat 15 16 síťový: síťový: data reprezentována kolekcemi záznamů a vztahů mezi nimi ec 1 matemat. ec 2 chemie ec 3 fyziky ec 4 řeší snadno a rychle vztahy 1:N i M:N nezáleží na fyzické struktuře dat rychlé vyhledávání Nevýhody: problémy při změně struktury dat 17 18 3
relační: RDBS = relační databázový systém informace o jednom typu objektu jsou uchovávány v tabulkách s určitou strukturou. tabulky jsou navzájem provázány relacemi relace usnadňují vyhledávání různých informací uložených v těchto tabulkách. v současnosti nejpoužívanější model 19 číslo objednávky název výrobku 10456 003 10456 004 10456 101 10457 002 10457 001 10458 102 10458 006 10458 001 10458 004 10459 005 10459 101 10459 103 10460 007 10461 001 10461 003 10462 004 10462 002 10462 103 10462 102 10463 002 10463 007 10463 005 10463 006 relační: id ce jméno ce zaměstnán od 01 Jan Novák 1.2.2005 02 Emil Král 15.3.2005 03 Václav Nový 25.5.2005 id výrobku název výrobku cena výrobku 001 Carpaccio 155 Kč 002 Fausto 115 Kč 003 Funghi 105 Kč 004 Hawai 127 Kč 005 Quatro formaggi 157 Kč 006 Rustica 159 Kč 007 Trapolla 145 Kč 101 Insalata Belucci 125 Kč 102 Insalata Caesar 128 Kč 103 Insalata Greca 109 Kč číslo objednávky datum objednávky id ce 10456 12.8.2005 01 10457 12.8.2005 02 10458 12.8.2005 01 10459 13.8.2005 01 10460 13.8.2005 03 10461 13.8.2005 03 10462 14.8.2005 01 10463 14.8.2005 02 20 relační tabulka: záznamy atributy id výrobku název výrobku cena výrobku 001 Carpaccio 155 Kč 002 Fausto 115 Kč 003 Funghi 105 Kč 004 Hawai 127 Kč 005 Quatro formaggi 157 Kč 006 Rustica 159 Kč 007 Trapolla 145 Kč 101 Insalata Belucci 125 Kč 102 Insalata Caesar 128 Kč 103 Insalata Greca 109 Kč objektový: vychází z principů objektově orientovaného přístupu objekt = datová struktura definovaná jako třída s určitými vlastnostmi a metodami komunikace mezi objekty probíhá pomocí zpráv nejen statické, ale i dynamické chování objektů možné vytváření složitějších objektů snadnější zadávání dotazů 21 22 1. Předrelační: hierarchické nebyl pro něj určen žádný standard nejznámější DBS je IMS (Information Management Systém) od firmy IBM síťové standardizován roku 1972 výborem DBTG nejznámější DBS je IDMS (Integrated Database Management Systém) používající programovací jazyk Cobol 2. Relační: RDBMS = Relational Database Management System poprvé popsal E.F.Codd v r.1970 základem je matematický aparát relační algebry v kombinaci s predikátovou logikou vyhovují běžným databázovým požadavkům nejznámější DBS jsou MS Access, MySQL, Oracle, MS SQL server, a další. 23 24 4
Struktura DBS 3. Postrelační: objektové (ODBMS) = Objective Database Management System využívají základní rysy OOP dosud ve vývoji, méně výkonné než relační nejznámější DBS je ObjectStore, GemStone, Versant, Caché, objektově relační (ORDBMS) kombinují výhody objektové a relační DBS nejznámější DBS je PostgreSQL. databázový systém je tvořen: databáze fyzicky uložená data ve struktuře datového modelu SŘBD rozhraní mezi uloženými daty a aplikačními programy využívají pro komunikaci dotazovací jazyk (SQL) aplikační programy nabízejí uživatelsky přívětivé prostředí generují dotazy a vypisují jejich výsledky uživatelé 25 26 Struktura DBS uživatelé DBS aplikace SŘBD databáze aplikace 1 aplikace 2 předkompilátor DML překladač DDL řízení databáze datové soubory slovník administrátor databáze zajišťuje centrální kontrolu nad daty a programy plní rozhodnutí správce dat definuje databázové schéma, navrhuje strukturu, přiděluje práva aplikační programátoři vytvářejí aplikační programy s využitím databázového dotazovacího jazyka (nejčastěji SQL) vloženého do hostitelského jazyka (např. PHP, Object Pascal, C++ atd.). znalí uživatelé nevytvářejí programy formulují požadavky v databázovém dotazovacím jazyce běžní uživatelé komunikují se systémem prostřednictvím aplikačního programu 27 28 operační (OLTP) slouží pro každodenní úpravu a přidávání dat data jsou dynamického typu, tj. neustále se mění a jsou vždy aktuální např. nabídka obchodů, nemocnice, nakladatelství analytické (OLAP) slouží pro ukládání historicky a časově závislých dat vhodné pro sledování trendů a dlouhodobých prognóz data jsou statického typu, tj. nikdy se nemění a nejsou aktuální např. geologické společnosti, chemické laboratoře 29 5