Objektově orientované databáze. Miroslav Beneš

Podobné dokumenty
Objektově orientované databáze

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Databázové systémy BIK-DBS

8.2 Používání a tvorba databází

Geografické informační systémy p. 1

6 Objektově-orientovaný vývoj programového vybavení

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Databázové systémy trocha teorie

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

RELAČNÍ DATABÁZE. Cíl:

DBS Konceptuální modelování

GIS Geografické informační systémy

Maturitní témata Školní rok: 2015/2016

Databázové systémy I. 1. přednáška

GIS Geografické informační systémy

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

POKROČILÉ POUŽITÍ DATABÁZÍ

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

Úvod do databázových systémů. Lekce 1

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Databáze I. 5. přednáška. Helena Palovská

Profilová část maturitní zkoušky 2017/2018

TÉMATICKÝ OKRUH Softwarové inženýrství

Ukládání a vyhledávání XML dat

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Úvod do databázových systémů. Ing. Jan Šudřich

Petr Křemen. Katedra kybernetiky, FEL ČVUT. Petr Křemen (Katedra kybernetiky, FEL ČVUT) Sémantické sítě a rámce 1 / 112

Databázové systémy úvod

Databázové systémy úvod

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Databáze II. 1. přednáška. Helena Palovská

PB161 Programování v jazyce C++ Přednáška 7

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Databázové systémy úvod

Základy počítačových sítí Model počítačové sítě, protokoly

PB161 Programování v jazyce C++ Přednáška 7

Návrh databázového modelu

GIS Geografické informační systémy

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

DUM 12 téma: Příkazy pro tvorbu databáze

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Databáze v MS ACCESS

Informační a znalostní systémy jako podpora rozhodování

Analýza dat a modelování. Přednáška 3

Servisně orientovaná architektura Základ budování NGII

Základy objektové orientace I. Únor 2010

Vývoj IS - strukturované paradigma II

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Analýza a modelování dat. Přednáška 5

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Dolování v objektových datech. Ivana Rudolfová

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Databázové systémy. Ing. Radek Holý

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4

Vzdělávací obsah vyučovacího předmětu

ST Síťové technologie

Nerelační databázové modely. Helena Palovská

Programování a implementace Microsoft SQL Server 2014 databází

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

1. Integrační koncept

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Data v informačních systémech

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

O datových typech a jejich kontrole

Microsoft Access tvorba databáze jednoduše

Softwarové komponenty a Internet

Systémy pro podporu. rozhodování. 2. Úvod do problematiky systémů pro podporu. rozhodování

EXTRAKT z mezinárodní normy

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Profilová část maturitní zkoušky 2013/2014

Okruhy z odborných předmětů

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

4IT218 Databáze. 4IT218 Databáze

Analýza a modelování dat 2. přednáška. Helena Palovská

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Rastrová reprezentace

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava

7.3 Diagramy tříd - základy

Objektově orientovaný přístup

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Etapy tvorby lidského díla

10 Metody a metodologie strukturované analýzy

Přijímací zkouška - informatika

Vyhledávač datových referencí. Dokumentace

TEORIE ZPRACOVÁNÍ DAT

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Transkript:

Objektově orientované databáze Miroslav Beneš

Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace entit v~relačních SŘBD Co je to objektová orientace? Problémy objektových SŘBD Další typy pokročilých databázových systémů Objektově orientované databáze 2

Motivace Hlavní princip databázových systémů: Oddělení dat od aplikace Základní úloha: Transformace složité struktury modelované reality na jednoduchou databázovou strukturu Řešení: obtížné omezená výrazová schopnost datových struktur, ztráta mnoha detailů Mnoho informací se udržuje mimo SŘBD, neboť je nelze rozumně reprezentovat Další obory mají zájem využívat SŘBD pro ukládání velkých objemů dat CAD, CASE, OIS, GIS, hypermediální systémy Vzniká potřeba nového typu SŘBD založených na úspěchu současných systémů, ale s lepší podporou správy komplexních informací Objektově orientované databáze 3

Vlastnosti databázových systémů Nezávislost na aplikaci Efektivní přístup k datům. Použití vyhledávacích struktur (indexy). Bezpečnost Odolnost proti neautorizovanému přístupu a zneužití dat. Přístupová práva uživatelů. Konzistence dat Změna dat neporušuje podmínky stanovené návrhářem. Odolnost Chyby technického nebo programového vybavení nezpůsobí nekonzistenci databáze, při havárii se může ztratit jen několik posledních změn. Souběžný přístup Současná práce více uživatelů bez vzájemného ovlivňování. Více pohledů na data Změna pohledu (organizace, úroveň podrobností) v závislosti na uživateli (manažer, účetní, ) Objektově orientované databáze 4

Vlastnosti databázových systémů Uživatelské rozhraní Vhodné rozhraní pro širokou škálu uživatelů: parametrická rozhraní pro často opakované úkoly, neškolenou obsluhu, např. ATM rozhraní pro ad hoc dotazy dotazovací jazyk pro aktualizaci dat a jejich zpřístupnění grafická rozhraní využití grafů pro reprezentaci struktury dat, okna pro formuláře, techniky přímé manipulace (drag-and-drop) programátorská rozhraní přístup k datům z aplikací psaných ve vyšších programovacích jazycích administrativní rozhraní - privilegovaný uživatel; definice struktury databáze, uživatelských práv atd. Integrita Zavedení integritních omezení definice sémantiky dat. Distribuce Rozložení dat na více počítačů v rámci LAN nebo WAN Objektově orientované databáze 5

Logické datové modely Modely založené na záznamech Síťový model kolekce podobných záznamů vytvářejí seznamové struktury se záhlavím Relační model kolekce podobných záznamů jsou uloženy ve formě tabulek (množin záznamů) Objektový model Objektově relační model Objektově orientované databáze 6

Nevýhody modelů založených na záznamech předpokládá se, že data lze popsat jednoduchými strukturami obvykle pouze číselné typy a řetězce chybí podpora strukturovaných dat BLOB --- pouze částečné řešení neposkytují datové struktury odrážející přesněji strukturu informací v reálném světě např. identita objektů a reference na rozdíl od cizích klíčů Objektově orientované databáze 7

Nevýhody modelů založených na záznamech předpokládá se velký počet relativně malých databázových objektů typicky např. miliony záznamů ve 20 relacích se záznamy o délce kolem 200B aplikace CAD mnoho relací s málo záznamy obtížné ukládání obrazových a zvukových dat BLOB vyjadřuje se spíše struktura dat než jejich sémantika Objektově orientované databáze 8

Nevýhody modelů založených na záznamech obtížné ukládání aplikačního kódu do databáze předpoklad jediné hodnoty datové položky nemožnost verzování dat předpokládají se pouze krátké transakce přesun peněz z jednoho konta na druhé, rezervace volného místa v letadle apod. CASE, CAD dlouhé transakce transakce např. zahrnuje úpravu výkresu v editoru Objektově orientované databáze 9

Nevýhody modelů založených na záznamech souběžný přístup má spíše kompetitivní charakter získání výlučného přístupu k~datům, izolace aplikací CASE, CAD kooperativní přístup vyjádření složitých výpočtů pomocí kombinace programovacího a databázového jazyka impedance mismatch problem nutnost konverze mezi různými reprezentacemi dat (kolekce x kurzor) špatná integrace výpočtů a dat obtížnější zajištění konzistence kódu s daty Objektově orientované databáze 10

Co potřebujeme modelovat? informace o~entitách reálného světa často nelze rozumně reprezentovat jediným záznamem tvořeným čísly a řetězci vlastnosti entit nejsou pouze textové a numerické nemusí být pouze jednohodnotové jedna vlastnost může mít více typů (vlastníkem automobilu může být firma nebo osoba) Objektově orientované databáze 11

Co potřebujeme modelovat? vztahy mezi entitami modelují se ukazateli (síťový model) nebo cizími klíči (relační model) problém modelování obecných vztahů typu M:N operace nad entitami obvykle odděleně od databáze Objektově orientované databáze 12

Identifikace entit v relačních SŘBD přirozený klíč (jméno, rodné číslo, ) nelze zajistit absolutní jednoznačnost (nově dodaná informace ji může porušit) nelze zajistit existenci (informace může chybět) systémy nelze spojovat, pokud jednoznačný identifikátor ztratí svou jednoznačnost (např. sloučení zaměstnanců dvou firem) identifikátor nelze jednoduše aktualizovat (referenční integrita) Objektově orientované databáze 13

Identifikace entit v relačních SŘBD přidělený identifikátor (člověkem nebo počítačem) nutnost generování nového identifikátoru člověkem, nebo vytvoření klíče bez sémantické hodnoty, jenž leží ve stejném konceptuálním prostoru jako další informace nesoucí význam Objektově orientované databáze 14

Co je to objektová orientace? Identita objektů. Objekt je vybaven identifikací (OID): generovaná systémem, unikátní pro konkrétní objekt, invariantní po celou dobu života objektu, není viditelná pro programátora nebo koncového uživatele Klasifikace objektů. Každý objekt je instancí určité třídy, která definuje jeho vlastnosti. Zapouzdření. Součástí popisu třídy je i sada operací, které jsou s touto třídou spojeny. Objektově orientované databáze 15

Co je to objektová orientace? Ukrývání informací. Některé části popisu jsou k dispozici pouze pro implementaci třídy. Dědičnost. Nová třída může být definována jako rozšíření již existující třídy (jedné nebo více). Přetěžování a pozdní vazba. Při použití dědičnosti lze předefinovat některé definice, obvykle operace. Při vyvolání operace se vybere implementace odpovídající skutečnému typu objektu. Objektově orientované databáze 16

Architektura OO SŘBD Správa objektů Správa interní reprezentace objektů zajišťuje přenos dat mezi vnější a vnitřní pamětí, obvykle využívá stránkování, bez znalosti vnitřní struktury objektu Správa externí reprezentace objektů přístup k vlastnostem objektu v paměti, tranzientní a perzistentní objekty Správa operací zajišťuje volání operací, přenos parametrů, často formou virtuálního stroje (interpretu) Správa katalogu zajišťuje přístup k metadatům Objektově orientované databáze 17

Architektura OO SŘBD Správa uživatelského rozhraní zajišťuje komunikaci s uživatelem Podpůrné nástroje překladače, ladicí programy, reorganizační nástroje, Objektově orientované databáze 18

Problémy objektových SŘBD Pozůstalé systémy (legacy systems) velké investice firem do relační technologie, problém migrace dat Pojem objektově orientovaný datový model nereprezentuje jediný všeobecně přijatý model - standardizace Objektově orientované databáze 19

Problémy objektových SŘBD Systémy založené na záznamech jsou po 20 letech intenzivního výzkumu značně efektivní, pro OO SŘBD je třeba tyto efektivní techniky teprve vyvinout. OO model je složitější a tedy i jeho realizace je náročnější. Uživatelská rozhraní OO SŘBD nedosahují kvality současných produktů v relační oblasti. Objektově orientované databáze 20

Další typy pokročilých databázových systémů Historické SŘBD Možnost ukládání minulého stavu databáze (více verzí dat), časové řezy. Objektově relační SŘBD Relační technologie umožňující práci se strukturovanými položkami (tabulky jako hodnoty). V současné době jsou velmi populární - možnost využití stávající relační technologie. Deduktivní SŘBD Důraz na odvozená data a integritní omezení; vycházejí z jazyka Prolog - např. Datalog. Perzistentní programovací jazyky Vycházejí z konkrétního programovacího jazyka, který rozšíří o databázové prvky. Jednotná struktura dat - odstranění impedance. Objektově orientované databáze 21

Další typy pokročilých databázových systémů Aktivní SŘBD Operace mohou být zahájeny v závislosti na nějaké změně v databázi nebo jiné události (triggers). Doménově specifické SŘBD Prosazují se zejména v následujících oblastech: Geografické informační systémy} (GIS) Speciální metody ukládání dat, rozšířené dotazovací jazyky, 2D/3D uživatelská rozhraní Temporální databáze Zavedení pojmu času do databáze, rozšířené dotazovací jazyky, pojem platného času a transakčního času. Lze očekávat, že budoucí objektové SŘBD budou pokrývat více uvedených technologií současně. Objektově orientované databáze 22