DEDUKTIVNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA)

Rozměr: px
Začít zobrazení ze stránky:

Download "DEDUKTIVNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA)"

Transkript

1 UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY Přírodovědecká fakulta DEDUKTIVNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová 2003 Ostravská univerzita

2 1 Úvod Teoretická východiska deduktivních databází Datový model a jazyk v DATALOGu Interpretace klauzule, model a logický důsledek Graf závislostí a rekurze Bezpečná pravidla Vyhodnocování nerekurzívních pravidel Rekurzivní pravidla Negace v pravidlech Deduktivně objektové systémy řízení báze dat Florid Gedblog Illustra ODE Validity RockRoll P/FDM Deduktivně objektový databázový systém ConceptBase a jeho základní komponenty Jazyk Telos v ConceptBase Jednoduchý model v Telos Predikátový jazyk CBL jako součást Telos Dotazování v ConceptBase Modelování a metamodelování v ConceptBase Využití deduktivních pravidel k zachování integrity dat Pojem deduktivní integrita Princip deduktivní integrity v relačních datových modelech Nevýhody deduktivní integrity v relačních datových modelech Integritní omezení v ConceptBase Metodická doporučení k integraci deduktivních pravidel do návrhu informačního systému Úvod do metodiky Analýza

3 6.3 Návrh Prototyping deduktivních pravidel Demonstrační úloha Analýza subsystému Komunikace účastníků vzdáleného vyučování Návrh subsystému Komunikace vzdáleného vyučování Prototyping deduktivních pravidel Korespondenční úkol Závěr Použitá literatura

4 1 ÚVOD Systémy řízení báze dat jsou jednou z nejpoužívanějších technologií, které byly v oblasti informačních technologií vyvinuty. Jejich použití však zdaleka není tak snadné, jak mnohdy naznačují propagační a komerční publikace. Problémy reprezentace a zpracování dat jsou stále aktuálnější a rozhodně nelze říci, že všechny problémy uživatelů jsou řešeny a vyřešeny optimálně. Donedávna většina dat, která byla v databázové technologii zpracovávána, byla uložena ve formě jednoduchých relačních tabulek, jejichž struktura byla definována s využitím jednoduchých datových typů. Moderní databázové aplikace ovšem potřebují manipulovat s objekty, které nelze snadno transformovat do relačních tabulek. Výzkum na poli databázové technologie byl postaven před úkol, jak tento problém řešit. Jako dlouhodobě výhodná investice se jeví přechod k objektově relačním databázovým systémům. Tyto SŘBD kombinují výhody moderních objektově orientovaných programovacích jazyků s rysy relačních databází jako jsou např. vícenásobné pohledy a neprocedurální dotazovací jazyky. Objektová infrastruktura zároveň poskytuje možnost definování vlastních datových typů a funkcí. S přechodem na objektově relační databázovou technologii vznikla potřeba modifikace metodiky datového modelování. Snaha přiblížit databázové koncepty reálnému světu a potřebám složitých databázových aplikací vede k vývoji systémů řízení báze dat směrem k objektové orientaci, k aktivním databázím, deduktivním databázím, temporálním, prostorovým, textovým či multimediálním databázím. S vývojem objektově orientované databázové technologii úzce souvisí vývoj nových metodologií pro analýzu, návrh a implementaci informačních systémů s databází, které jsou založeny na objektech. Jedná se např. o metodologie OMT, Booch Method, Jacobson Methodology, Martin/Odell Methodology, Wirfs/Brock Methodology, Methodology Coada a Yourdona, Fusion, Syntropy, IDEA Methology, atd. Zjednodušeně bychom mohli konstatovat: Moderní databázové systémy, to jsou transakce, objekty a pravidla [4]. Transakce jsou klíčovým rysem databázové technologie, protože garantují integritu a konzistenci databáze. Všeobecně jsou známy vlastností transakcí, označované jako ACID (atomicity, consistency, isolation, durability). Databázové objekty jsou strukturovány do perzistentních tříd, které jsou organizovány v hierarchii generalizace specializace, které navzájem na sebe odkazují a které jsou asociovány s metodami. Velmi inovačním prvkem jsou spolu s objekty rovněž pravidla. Pravidla můžeme chápat ve dvou dimenzích. Jedná se o pravidla deduktivní a o pravidla aktivní. Deduktivní pravidla umožňují odvozovat nové informace na základě exitujících informací, uložených jako data v databázi a zároveň je možno využít deduktivních pravidel k zajištění integrity databáze. 4

5 Aktivní pravidla zajišťují vykonávání operací v případě, nastala-li určitá událost. Aktivní pravidla vykonávají akce (tzn. provádějí databázové operace nebo volají externí programy). Aktivní pravidla jsou často v relačních databázových systémech označována jako triggery. Ve vývoji systémů řízení bází dat se od prvopočátku jednalo o tzv. datovou nezávislost, tj. nezávislost dat na jejich fyzické implementaci a nezávislost dat na aplikačních programech. S využitím objektové orientace je možno mnoho procedur a funkcí (které byly dříve součástí aplikačních programů) převést do popisu struktury databáze, kde jsou metodami jednotlivých tříd. Chování objektu není v takovém případě záležitostí aplikačního programu, ale báze dat. Můžeme tedy hovořit o další formě nezávislosti dat na aplikacích (metody nejsou součástí aplikace, ale schémat). Deduktivní přístup k databázové problematice zavádí další typ nezávislosti. Jedná se o tzv. nezávislost znalostní (její koncept byl uveden Friesenem v roce 1994). Znalost není součástí aplikace, nýbrž součástí datového schématu. Objekty, deduktivní a aktivní pravidla hrají velkou roli v rozšíření znalostní nezávislosti dat na aplikačních programech. Hlavní výhoda znalostní nezávislosti je v tom, že objekty a pravidla se uplatňují napříč aplikacemi. Tak, jako s přechodem od relačních databází k objektovým vzešla potřeba modifikace metodiky analýzy, návrhu a implementace informačních systémů s databází, stejná potřeba vzniká s přechodem k databázím deduktivním. Jakým způsobem modifikovat, resp. rozšířit metodiku o nové koncepty založené na deduktivních pravidlech? To je základní otázka, které se budeme věnovat při studiu předkládané výukové opory. 5

6 2 TEORETICKÁ VÝCHODISKA DEDUKTIVNÍCH DATABÁZÍ Cíl: Po prostudování této kapitoly bude umět definovat základní pojmy, popsané v klíčových slovech, dále budete schopni: - navrhovat bezpečná pravidla, - sestavit jednoduchý logický program s využitím Hornových klauzulí, - vytvořit graf závislostí, - vyhodnotit nerekurzivní pravidla, - vyhodnotit rekurzivní pravidla. Klíčová slova: EDB, IDB, dedukce, deduktivní pravidlo, formule, klauzule, Hornovy klauzule, interpretace klauzule, graf závislostí, rekurze, bezpečnost pravidel, vyhodnocování pravidel. Deduktivní databáze jsou založeny na podpoře teorie dokazování a jsou schopné dedukce dodatečných faktů z faktů, které jsou uloženy v extenzionální databázi. Mají zabudovány speciální deduktivní axiomy a pravidla dedukce. Deduktivní pravidla společně s integritními omezeními odvozují fakta, která jsou obvykle označovány jako intenzionální databáze. Deduktivní databáze se tedy skládá ze dvou složek, extenzionální databáze (EDB) a intenzionální databáze (IDB). Deduktivní datový model využívá dvou typů konceptů. Základní koncepty jsou uloženy v databázi (EDB) a odpovídají relacím v relačním datovém modelu nebo objektům v objektovém datovém modelu. Odvozené koncepty nemusí být uloženy v databázi, jsou obvykle dočasné a uchovávají mezivýsledky operací. Tyto koncepty jsou označovány jako intenzionální koncepty. Základním stavebním kamenem deduktivních databází jsou deduktivní pravidla, vyvinuta a demonstrována na paradigmatech logického programování v programovacím jazyku Prolog (Colmerauer a Kowalski, 1979). Hlavním smyslem deduktivních pravidel je reprezentace obecných deklarativních znalostí. Uplatnění deduktivních pravidel je možné jak v relační, tak objektové databázové technologii. Jazyk SQL a podobné jazyky pro manipulaci s daty, založené na relační algebře a relačním kalkulu, nemají dostatečnou vyjadřovací sílu a nejsou schopny vyjádřit uzávěr tranzitivních závislostí a všeobecné agregace v relačním datovém modelu. Tranzitivní uzávěr (podle [17]) databáze nebo deduktivní databáze (X,R), kde X je extenzionální databáze a R je množina pravidel, je databáze Y, která zahrnuje X a veškerá fakta, odvozená použitím pravidel z R. Logická pravidla využívající funkčních symbolů 6

7 mohou vyjádřit jakýkoliv výpočet tak, že ten může být zapsán v konvenčním programovacím jazyku. Dokonce logická pravidla bez funkčních symbolů (např. jazyk DATALOG) mají sílu vyjádřit výpočet větší než konvenční DQL (Data Query Language). Příklad 2-1: Mějme predikát manažér(z,m) a předpokládejme, že má hodnotu true tehdy, když zaměstnanec Z odpovídá přímo manažéru M. Můžeme definovat další predikát vedoucí(z,v), který nabývá hodnoty true, když V je manažérem zaměstnance Z nebo jeho manažéra,.. Predikát vedoucí(z,v) je tranzitivním uzávěrem manažéra(z,m). Predikát vedoucí(z,m) můžeme vyjádřit: a) vedoucí(z,m) manažér(z,m) b) vedoucí(z,m) vedoucí(z,a) & manažér(a,m) Příklad ilustruje rekurzivitu deduktivních pravidel. Pravidla definují pravdivé instance predikátů. 2.1 Datový model a jazyk v DATALOGu V datalogovské interpretaci se na databázi nahlíží jako na množinu faktů, kdy faktem je instance v odpovídající relaci. Fakt je tedy logický predikát, obsahující jako své argumenty pouze konstanty. Základní predikáty odpovídají databázovým relacím a jsou definovány na úrovni definice schématu databáze, zatímco odvozené predikáty jsou definovány pravidly. Pojem schéma databáze je rozuměn ve smyslu [15], kde je schéma databáze dáno množinou schémat relací, z nichž každé lze vyjádřit zadáním jména relace a množiny atributů včetně domén a množinou integritních omezení. Datový model v DATALOGu je model založený na klauzulární logice, která je speciálním typem predikátové logiky vhodným pro logické programování, s některými omezeními. Predikátovému symbolu v DATALOGu odpovídá stejně jako v predikátové i klauzulární logice jeho interpretující relace. Na rozdíl od relační algebry, relace nemají pojmenované atributy. Komponenty relací mají fixní pozice a odkazy na sloupce jsou možné prostřednictvím této pozice. Je-li např. p predikátový symbol, pak můžeme provést odkaz p(x,y,z), kde X označuje první komponentu nějaké n-tice v relaci P, která odpovídá predikátu p. DATALOG na rozdíl od predikátové či klauzulární logiky nepovoluje funkční symboly v argumentech predikátů, argumenty mohou být pouze proměnné a konstanty. Průvodce studiem: Obecně mohou pravidla obsahovat i funkční symboly. Máte-li zájem se s touto problematikou seznámit blíže, problémem definice pravidel 7

8 s použitím funkčních symbolů a především metodami vyhodnocování takových pravidel se podrobně zabývá publikace [16] Atomická formule Základním stavebním kamenem DATALOGu jsou atomické formule. Atomická formule je ve tvaru p(a 1, A 2, A n ). Argumentem může být proměnná nebo konstanta. Predikátový symbol je asociován s určitým počtem argumentů a můžeme použít p (K) k označení predikátu stupně K. Atomické formule lze konstruovat rovněž s aritmetickými porovnávacími predikáty =, <, >, V tom případě se jedná o atomickou formuli s vestavěnými predikáty a formule se zapisuje ve tvaru např. X < Y nebo <(X,Y). První způsob zápisu je označován jako infixová notace, druhý prefixová notace. Vestavěné predikáty nemusí reprezentovat konečné relace Klauzule a Hornovy klauzule Literálem se rozumí buď atomické formule nebo negované atomické formule. Negovaná atomická formule se označuje p(a 1,,A n ). Negovaná atomická formule se nazývá negativní literál. Nenegovaný literál je pozitivní literál. Klauzule je součet (logické OR) literálů. Hornova klauzule je klauzule s nejvýše jedním pozitivním literálem, tj. klauzule, která má obecně (zde s vynecháním atributů) tvar p 1 p 2... p n q. Klauzule tohoto typu lze, jak je známo, přepsat do tvaru implikace (p 1 & p 2 &...& p n ) q, který je vhodný pro formulování logických pravidel. To je totiž tvar formule umožňující vyjádřit, že q je logickým důsledkem současné platnosti předpokladů p 1, p 2,..., p n. Z toho důvodu jsou formule v Hornově klauzulárním tvaru základem pro formulování problémů v klauzulární logice, logickém programování i deduktivních databázích. Hornova klauzule je buď: Jeden pozitivní literál, např. p(x,y), který se označuje jako fakt. Jeden nebo více negativních literálů, čímž je chápáno integritní omezení. Pozitivní literál a jeden nebo více negativních literálů, což vyjadřuje deduktivní pravidlo p 1 p n q. Logickým ekvivalentem tohoto zápisu je zápis p 1 p 2 p n q. V DATALOGu se vyjádří Hornova klauzule ve tvaru: q p 1 & &p n, 8

9 kde: q je hlava pravidla (consequent), p 1 & &p n je tělo pravidla (antecedent). Kolekce Hornových klauzulí tvoří logický program. Proměnné, které se vyskytují pouze v těle, mohou být existenčně kvantifikovány, zatímco ostatní proměnné jsou univerzálně kvantifikovány v celém pravidle. Příklad 2-2: 1) sourozenec(x,y) rodič(x,z) & rodič(y,z) & X <>Y 2) bratranec(x,y) rodič(x,x p ) & rodič(y,y p ) & sourozenec(x p,y p ) 3) bratranec(x,y) rodič(x,x p ) & rodič(y,y p ) & bratranec(x p,y p ) 4) příbuzný(x,y) sourozenec(x,y) 5) příbuzný(x,y) sourozenec(x,y) & rodič(y,z) 6) příbuzný(x,y) příbuzný(z,y) & rodič(x,z) Například pravidlo 1) říká, že pro všechny X a Y je X sourozencem Y tehdy, jestliže existuje Z takové, že Z je rodičem obou X i Y a přitom X a Y není tentýž jedinec. 2.2 Interpretace klauzule, model a logický důsledek Interpretace atomů Stejně jako v predikátové logice souvisí pojem atomu s pojmem predikátu a ten zase s pojmem relace i v klauzulární logice. Schéma syntaxe n-árního predikátu <n-ární predikátový symbol>(<atribut>, <atribut>,..,<atribut>) odpovídá schématu jeho interpretující relace stejné arity <jméno relace>(<atribut>, <atribut>,..,<atribut>). Atributy uvedené v závorkách schématu relace i schématu odpovídajícího predikátu, se stejně jako v predikátové logice i v relační teorii nazývají deskriptory, neboť slouží k popisu toho, co jednotlivé výrazy v závorce za predikátovým symbolem znamenají. Příklad schémtua predikátu : matka(<matka>, <dítě>) 9

10 zamezí nejasnostem, ke kterému ze dvou termů predikátu se vztahuje event. ohodnocení pomocí objektů z podmnožiny matek universa diskursu a ke kterému se vztahuje ohodnocení prvky podmnožiny dětí. Predikát může mít jakoukoliv aritu, ale pokud nějakou má, je jí pro účel interpretace přiřazena odpovídající interpretující relace stejné arity. Interpretace atomu musí postupovat na základě pravdivostní hodnoty predikátu. Je-li atomem n-ární predikátový symbol p(t 1, t 2,...,t n ), kde t 1, t 2,...,t n jsou konstanty nebo proměnné, které se po svém ohodnocení staly rovněž konstantami, nabývá atom pravdivostní hodnoty true, právě když (t 1, t 2,...,t n ) je prvkem relace R interpretující predikátový symbol p. Protože klauzule v Datalogu má tvar q p 1 & &p n, je interpretována jako false v jediném případě, a to v tom, kdy jsou všechny atomy p 1,, p n jejího těla interpretovány jako true a atom q hlavy je interpretován jako false Dedukce modelem množiny pravidel Definice 2-1 podle [15] Model množiny pravidel je množina faktů (predikátů s konstantami jako argumenty), které po dosazení do všech pravidel ohodnocují všechna pravidla hodnotou true. Je tedy nutné současné splnění všech pravidel. Příklad2-3: Jsou předpokládána pravidla: 1) p(x) q(x) 2) q(x) r(x) Tato pravidla říkají, že je-li r true, pak q je taky true a je-li q true, je taky p true. Jeden možný model je model M1 = {r(1), q(1), p(1), q(2), p(2), p(3)}. Pravidla mají hodnotu true pro argumenty uvedené v modelu. Pro všechny ostatní argumenty mají hodnotu false. Důkaz: X=1 Po dosazení do pravidla (1): true true Po dosazení do pravidla (2): true true X=2 Po dosazení do pravidla (1): true true Po dosazení do pravidla (2): true false 10

11 X=3 Po dosazení do pravidla (1): true false Po dosazení do pravidla (2): false false Ať je provedena jakákoli substituce, pravidla vždy nabývají hodnoty true. Z toho vyplývá, že M1 je modelem množiny pravidel {(1), (2)}. Při použití pravidel k definování operací nad databází se předpokládá, že instance databáze dává hodnotu true tehdy, když odpovídající relace obsahuje tento fakt jako svou n-tici. Nechť r je databázový predikát a p, q jsou predikáty, definované využitím r. Lze předpokládat, že r(1) je true, zatímco r(x) je false pro X <> 1. Existuje další model M2 = {r(1), q(1), p(1)}. Existuje konečný počet modelů s databází, která má pouze r(1) true. M2 je minimální model, tzn. že nelze zaměnit žádný fakt z true na false, aniž by byl porušen model dokazující databázi {r(1)}. M1 nemá tuto vlastnost minimality. Model M1 se získá použitím definice logických důsledků Formální odvozování logického důsledku Stejně jako v predikátové (klauzulární) logice i v Datalogu existují dva přístupy k prověřování, resp. generování logických důsledků databáze. První z nich je již zmíněný sémantický přístup vycházející z modelů množiny předpokladů, druhým je přístup čistě formální, pro nějž není nutné zabývat se pravdivostními hodnotami atomů klauzulí. Tato interpretace vychází z axiomů použitých v důkazu. Z faktů v databázi může být získán další fakt použitím pravidel jako jejich logický důsledek. Logickým důsledkem množiny pravidel je každý fakt, který byl z databáze formálně odvozen použitím pravidel. Všechna fakta lze odvodit použitím pravidel s axiomem if then. To znamená, že substitucí dokázaných faktů do daných faktů jsou vytvořena další fakta. V tomto smyslu lze definovat význam kolekce pravidel v existenci množiny faktů odvoditelných z daných faktů. Tvar pravidla je následující: hlava tělo resp. consequent antecedent Výpočtová definice Vychází z vytvoření algoritmu pro stanovení, zda potencionální fakt (predikát s konstantami jako argumenty) je pravdivý nebo nepravdivý. Například se může jednat o algoritmus nalezení minimálního modelu pro množinu pravidel. Pravidla lze např. převést na soustavu rovnic relační 11

12 algebry. Takto získané rovnice lze řešit iterativně, obdobně jako soustavu algebraických rovnic. Výsledek řešení soustavy rovnic relační algebry se nazývá pevný bod. 2.3 Graf závislostí a rekurze Graf závislostí obsahuje predikáty jako uzly grafu a orientované hrany grafu vyjadřují tu skutečnost, že predikát p je odvoditelný z predikátu q. To znamená, že existuje pravidlo se subcílem označeným predikátem p a s hlavou označenou predikátem q. p q Logický program je rekurzivní, jestliže jeho graf závislostí má jeden nebo více cyklů. Predikáty, které jsou součástí jednoho nebo více cyklů, se nazývají rekurzivní predikáty. V příkladu 2-2 se předpokládá, že predikát rodič je koncept obsažený v EDB a predikáty sourozenec, bratranec a příbuzný jsou součástí IDB, rodič(r,d) znamená, že R je rodičem D. Graf závislostí: příbuzný bratranec sourozenec rodič Obr Bezpečná pravidla Podmínkou při definování pravidel je (mají-li mít operace nad databází smysl), aby byly operace prováděny nad konečnými relacemi. Existují dva zdroje, které vedou k nekonečným relacím: Proměnná se vyskytuje pouze ve vestavěném predikátu. Proměnná se vyskytuje pouze v hlavě pravidla. Pravidla by měla mít tu vlastnost, že nebudou vytvářet z konečných relací relace nekonečné. Existují v podstatě dva způsoby, jak zabezpečit výše 12

13 uvedenou vlastnost. Jednou možností je limitovat každou proměnnou, která se objeví v pravidle a druhou možností je povolit pouze ordinární (ne vestavěné) predikáty, které korespondují s konečnými relacemi Formální limitování proměnných podle [15] 1) Každá proměnná, která se objeví jako argument v ordinárním predikátu v těle pravidla je limitována. 2) Každá proměnná X, která se objeví ve výrazu typu X = a nebo a = X (kde a je konstanta) je limitována. 3) Proměnná X je limitována, pokud se objeví ve výrazu typu X = Y, kde Y je limitována proměnná. Pravidlo je definováno jako bezpečné, jestliže všechny jeho proměnné jsou limitovány. Příklad pravidel, která nejsou bezpečná: p(x,y) X = Y proměnné X,Y nejsou limitovány p(x,y) q(y) proměnná Y je limitována výrazem q(y), ale proměnná X není limitována Příklad bezpečného pravidla: P(X,Y) q(x,z) & T = b & Y = T proměnné X, Z sou limitovány výrazem q(x,z), proměnná T je limitována výrazem T = b, proměnná Y je limitována výrazem Y = T. 2.5 Vyhodnocování nerekurzívních pravidel V dalším textu budou předpokládána pouze bezpečná pravidla, která neobsahují negace. Taková pravidla jsou označována jako pravidla datalogovská. V atalogovské třídě pravidel existuje způsob převedení nerekurzivních pravidel do výrazů relační algebry a lze vždy nalézt takové uspořádání ve vyhodnocovaných pravidlech, že relace v ěle zrovna vyhodnocovaného pravidla jsou k ispozici [14]. Nechť existuje pravidlo r obsahující predikáty p 1, p n. Je-li toto pravidlo nerekurzivní, pak lze vytvořit graf závislostí p 1,, p n tak, že existuje-li hrana p i p j, pak i < j. Jednotlivé relace lze vypočíst v ořadí p 1,, p n, přičemž při výpočtu relace p i se objeví pouze dříve vypočtené predikáty. Výpočet relace pro každý predikát p i lze podle [15] rozdělit do dvou kroků: 1) Pro každé pravidlo r, které má p i v lavě, se stanoví relace odpovídající tělu pravidla jako přirozené spojení dílčích relací, jejichž predikáty se vyskytují v ěle pravidla r. V ěle pravidla se vyskytují predikáty relací z BD, resp. IDB. Protože se jedná o 13

14 nerekurzivní pravidlo, lze předpokládat, že všechny relace z DB s redikáty p k, kde k < i jsou již vypočteny. 2) Vypočte se projekce relace získané v odě 1) dle proměnných vyskytujících se v ěle pravidla. Pokud existuje více pravidel r m, která mají p i v lavě pravidla, pak se bod 1) provede pro každé pravidlo r m a následně se provede sjednocení všech dílčích relací. Příklad 2-4: Příklad vychází z pravidla 2) v příkladu 2-2: bratranec(x,y) rodič(x,x p ) & rodič(y,y p ) & sourozenec(x p,y p ) Nechť jsou vypočteny relace R a S pro predikáty rodič a sourozenec. Pravidlo 2) lze převést na rovnici relační algebry, která má následující tvar: B(X,X p,y,y p ) = R(X,X p ) R(Y,Y p ) S(X p,y p ) Operátor je operátor přirozeného spojení, který je asociativní a komutativní, tzn. nezáleží na pořadí uvedených predikátů. Relace B(X,X p,y,y p ) se skládá ze čtveřic (a,b,c,d) takových, že: (a,b) je obsažena v R (c,d) je obsažena v R (b,d) je obsažena v S Všechny čtveřice (a,b,c,d), které po dosazení do těla pravidla ohodnocují formuli jako true, tvoří relaci B. Příklad 2-5: Příklad demonstruje vyhodnocování nerekurzivních pravidel dle [15]. Nechť existují následující čtyři pravidla. 1) p(a,y) r(x,y) 2) p(x,y) s(x,z) & r(z,y) 3) q(x,x) p(x,b) 4) q(x,y) p(x,z) & s(z,y) Predikáty r a s jsou EDB predikáty, z čehož lze předpokládat existence relací R a S. Predikáty p a q jsou IDB predikáty, pro které je nutné vypočítat relace P a Q. Nejdříve je třeba vylepšit pravidla 1) a 3) odstraněním konstanty a opakované proměnné v hlavách pravidel. Pravidla lze upravit následovně: 1) p(x,y) r(z,y) & X=a 2) p(x,y) s(x,z) & r(z,y) 14

15 3) q(x,y) p(x,b) & X=Y 4) q(x,y) p(x,z) & s(z,y) Výpočet relace P se provede převedením pravidel na operace relační algebry: kde: P(X,Y) = π X,Y (R(Z,Y) {a}) π X,Y (S(X,Z) R(Z,Y)) π X,Y je projekce atributů X,Y, {a} je unární konstantní relace, je operace přirozeného spojení, je operace sjednocení. Dále se vypočte relace Q: Výraz pro dílčí relaci p(x,b) je: kde: Z je libovolně zvolená proměnná, σ Z=b je podmínka selekce, π X je projekce atributu X. π X (σ Z=b (P(X,Z)) Výše uvedený výraz přinese do relace q(x,y) pouze atribut X. Relace však obsahuje i atribut Y, jehož hodnoty se rovnají hodnotám atributu X. Atribut Y do relace přinese výraz π Y (P(Y,W)), kde W je opět libovolně zvolená proměnná. Kartézský součin (označený operátoren x) těchto dvou projekcí za podmínky, že X = Y je vyjádřením pravidla 3). Pravidlo 4) lze zapsat výrazem: Výsledná relace Q je: σ X=Y (π X (σ Z=b (P(X,Z))) x π Y (P(Y,W))) π X,Y (P(X,Z) S(Z,Y)) Q(X,Y) = σ X=Y (π X (σ Z=b (P(X,Z))) x π Y (P(Y,W))) π X,Y (P(X,Z) S(Z,Y)) 15

16 2.6 Rekurzivní pravidla Pravidlo je rekurzivní, pokud ve své hlavě obsahuje predikát shodný s predikátem v těle pravidla. Rekurzivní pravidla se vyskytují v dotazech na tranzitivní uzávěr množiny závislostí (chápaný ve smyslu [17]). Takový dotaz se skládá ze dvou pravidel. Startovacího pravidla, které je nerekurzivní a zabezpečuje bázi rekurze a rekurzivního pravidla, které zabezpečuje indukci Vyhodnocování rekurzívních pravidel Při vyhodnocování rekurzivních pravidel (tj. v grafu závislostí jednotlivých predikátů se vyskytuje cyklus) je situace složitější v tom, že výpočet dílčí relace obsahuje výraz, který ještě není vyhodnocen. Základní myšlenkou deduktivních databází je možnost odvozování faktů použitím pravidel a další využití těchto faktů k odvozování dalších faktů. Existuje-li konečná databáze EDB, na kterou se použijí datalogovská pravidla, existuje pouze konečný počet různých faktů, která mohou být odvozena. Tato fakta musí být ve tvaru p(a 1,, a k ), kde p je IDB predikát a a 1,,a k jsou konstanty databáze. Pomocí pravidel lze vyjádřit graf závislostí uvedený na obr.2-1 a to s následujícím označením relací pro uvedené predikáty: R rodič S sourozenec B bratranec P příbuzný Graf závislostí pak lze podle [15] vyjádřit následujícími pravidly: 1) S(X,Y) = π X,Y (σ X<>Y (P(X,Z) P(Y,Z))) 2) B(X,Y) = π X,Y (R(X,X p ) R(Y,Y p ) S(X p,y p )) π X,Y (R(X,X p ) R(Y,Y p ) B(X p,y p )) 3) P(X,Y) = S(X,Y) π X,Y (P(X,Z) R(Y,Z)) π X,Y (P(Z,Y) R(X,Z)) Výpočet relace B z pravidla 2) vyžaduje znalost B(X p,y p ), ovšem tato relace ještě není vypočtena. Pravidlo 2) je třeba transformovat do soustavy rovnic relační algebry. Takto získané rovnice lze řešit iterativně, obdobně jako soustavu algebraických rovnic. Řešením soustavy rovnic relační algebry je tzv. pevný bod. Metoda pevného bodu je jedna z metod odvozování faktů z pravidel obsahujících rekurze. Vstupem do metody je kolekce datalogovských pravidel s EDB predikáty r 1,., r k a IDB predikáty p 1,, p k včetně příslušných relací R 1,.R k. Výstupem je nejmenší pevný bod, který představuje množinu faktů odvoditelných z dané množiny pravidel. Pevný bod se získá řešením datalogovských rovnic získaných z pravidel. 16

17 2.7 Negace v pravidlech Situace, kdy je potřeba do těla pravidla umístit negativní literál je celkem frekventovaná. Čistě teoreticky již takové pravidlo není Hornovou klauzulí. Při přepisu takového pravidla do relační algebry by bylo nejjednodušší použít operace doplňku, který ovšem není základní operací relační algebry, a proto je vhodnější použít operaci rozdílu. Doplněk konečné množiny může být nekonečný a tato situace není přípustná z hlediska bezpečnosti deduktivních pravidel. Z uvedeného důvodu nelze nad doplňkem provádět operace selekce a spojení. Problém může nastat, pokud se v těle pravidla vyskytne proměnná pouze v negativním literálu. V takovém případě je třeba proměnnou eliminovat. Příklad 2-6: Nechť existují predikáty muž(x), rodič(x,y) a pomocí deduktivních pravidel je odvozen predikát není_otec(x). není_otec(x) muž(x) rodič(x,y) Odstranění proměnné Y: otec(x) muž(x) rodič(x,y) není_otec(x) otec(x) Přepis do relační algebry: není_otec(x) = muž(x) - π X (rodič(x,y)) V souvislosti s výskytem negace v těle pravidla vyvstává problém stratifikace. Stratifikace může být dosaženo pouze tehdy, lze-li pravidla rozdělit do takových vrstev, že k vyhodnocení každé vyšší vrstvy jsou vyžadována pouze fakta vyhodnocena v nižší vrstvě. Stratifikace nemůže být dosaženo, pokud se v pravidle vyskytuje koncept závislý na sobě samém jak negativně, tak rekurzivně. Nechť existuje množina pravidel, ve které se vyskytují predikáty p, q. Existuje-li pravidlo ve tvaru p q a zároveň existuje v grafu závislostí hrana z p do q, je daná množina pravidel nestratifikovatelná. Pro zjištění, zda daná množina pravidel je či není stratifikovatelná existuje jednoduchý algoritmus, který zároveň rozdělí pravidla do vrstev, ve kterých mají být vyhodnocována. Algoritmus je např. popsán v [15]. Pojmy k zapamatování: EDB, IDB, 17

18 dedukce, deduktivní pravidlo, formule, klauzule, Hornovy klauzule, interpretace klauzule, graf závislostí, rekurze, bezpečnost pravidel, vyhodnocování pravidel Úkoly k zamyšlení: 1. Navrhněte pravidlo, které nebude bezpečné. Zdůvodněte, proč je tomu tak. 2. Navrhněte soubor pravidel, která budou obsahovat rekurzi. 3. Vytvořte praktický příklad pro odvození faktu z množiny faktů a pravidel. Kontrolní otázky: 1. Jaké mohou být argumenty predikátů v Datalogu? 2. Uveďte příklad atomické formule s vestavěným predikátem. 3. Co je logickým ekvivalentem k zápisu p 1 p n q a jak vypadá zápis takovéto Hornovy klauzule v Datalogu? 4. Vytvořte graf závislostí k příkladu

19 3 DEDUKTIVNĚ OBJEKTOVÉ SYSTÉMY ŘÍZENÍ BÁZE DAT Cíl: Po prostudování kapitoly 3 budete lépe rozumět důvodům k přechodu od relačních databází k databázím objektovým a deduktivním, resp. objektovědeduktivním. Dále budete umět krátce charakterizovat některé systémy řízení báze dat založené na objektově-deduktivních paradigmatech. Klíčová slova: Deduktivní databáze, objektově-orientované systémy řízení báze dat, Florid, Gedblog, Illustra, ODE, Validity, RockRoll, P/FDM. Průvodce studiem: Problémy spojené s klasickým návrhem informačních systémů lze rozdělit do dvou skupin. Hlavní problém přináší ta skutečnost, že reálný svět je mnohem složitější než je schopen postihnout jeho model (informační systém). Dalším problémem je korektnost informačního systému a uspokojivá transformace dotazů sestavených v přirozeném jazyce do jazyka umělého, včetně interpretace odpovědí. Snaha řešit tyto problémy posouvá výzkum a vývoj v oblasti databázových technologií směrem k technologiím objektovým a deduktivním. Deduktivní databáze reprezentují přístup, který vznikl z požadavku rozšíření vyjadřovací síly relačního jazyka a zároveň zachování jeho neprocedurality. Nezanedbatelná výhoda deduktivních databází ovšem spočívá rovněž v redukci dat, kdy je možno nahradit velké množství dat několika deduktivními pravidly. Zajímavý je příklad F.Bryho, který realizoval informační systém veřejné dopravy s využitím deduktivní databáze. Pravidlo: Je-li svátek, platí jízdní řád jako v neděli nahradí mnoho konkrétních denních jízdních řádů [14]. Zajištění větší flexibility při řešení multimediálních a distribuovaných požadavků je problém, jehož řešení se spojuje se vznikem objektověorientovaných databází. Objektově-orientované systémy řízení báze dat by měly zajistit větší flexibilitu při práci s velkými objemy dat, při práci s komplikovanými transakcemi a při zakomponování databází do moderních distribuovaných architektur (např. COBRA). Současné trendy ve vývoji databázové technologie ukazují, že vedle tradičních databázových systémů 2. generace budou vyvíjeny systémy pro bohatší podporu struktur objektů a pravidel. Požadavky jsou kladeny na správu objektů a implementaci pravidel. Ve většině deduktivně objektových systémů řízení báze dat jsou pravidla zabudována do metod tříd, což vede k duplicitním kódům. Vhodnější přístup k využití deduktivních pravidel je možné spatřovat v udržování pravidel zvlášť (jako samostatné objekty) a 19

20 umožnit na ně konstruovat i dotazy. Vzhledem k univerzalitě a širokému využívání jazyka SQL se dá předpokládat, že zůstane zachován i ve většině budoucích databázových systémů. To ovšem nebrání implementaci objektových a deduktivních jazyků, jak jsou toho příkladem jazyky O-Telos a Chimera, jejichž charakteristice se budeme ještě v této opoře věnovat. I když spojení deduktivně objektová databáze není jediné možné a bylo vyvinuto několik deduktivně relačních systémů řízení báze dat, založených na DATALOGu (LDL, NAIL!, POSTGRES), výzkum a vývoj se v současné době zaměřuje především na spojení těchto dvou přístupů, tj. objektového a deduktivního. V této souvislosti lze jmenovat např. systémy ConceptBase, Florid, Gedblog, Illustra, ODE, Validity RockRoll, P/FDM. Systém ConceptBase je podrobně popsán v kapitole 4 a je snadno dosažitelný v plně funkční podobě na Internetu včetně nezbytné dokumentace. ( Následuje krátká charakteristika ostatních, výše uvedených systémů řízení báze dat. Podrobnější popis by byl nad rámec předkládané výukové opory. Pro bližší seznámení se s popisovanými systémy jsou uváděny odkazy na další materiály, vesměs na URL adresy. 3.1 Florid Florid je deduktivně objektový databázový systém, který využívá jazyka F- logic k definování datových struktur a dotazování. F-logic je navržen jako logický, deklarativní jazyk, který akceptuje objektově-orientované modelování dat, a který kombinuje deklarativní sémantiku a expresivitu deduktivních databázových jazyků s bohatými modelovacími schopnostmi objektově-orientovaných datových modelů. Systém Florid podporuje definice schémat databáze včetně vícenásobné dědičnosti. Vyhodnocování logických programů je založeno na postupu zdola-nahoru vycházejícího z DATALOGu. Florid umožňuje komunikaci s web servery a tudíž zabezpečuje přístup k web dokumentům. Florid byl vyvinut na univerzitě v Mannheimu a Freiburgu. Více informací o jazyku F-logic lze získat na URL adrese: nebo na adrese Gedblog Gedblog je logický systém řízení báze dat (založený na logické databázové teorii), který má schopnost zpracovávat ne-grafické i grafické informace. Byl vyvinut jako rozšíření systému Edblog právě o možnost zpracování grafických informací. Gedblog využívá logické teorie založené na různých typech klauzulí: 20

21 Hornovy klauzule (pravidla pro vyjádření intenzionální databáze a fakta pro extenzionální databázi). Integritní omezení jsou interpretována tak, že instance hlavy pravidla jsou dedukovány, jestliže tělo pravidla je vyhodnoceno jako true. Kontroly podmínek platnosti (check). Syntaxe podmínek platnosti je: A 1 &.&A n B 1 &.&B m Transakce, které představují vykonání modifikace extenzionálních dat za situace, jsou-li splněny stanovené podmínky. Více informací o systému lze získat na adrese: Illustra Illustra je vcelku nový systém řízení báze dat (z r. 1995), který spojuje relační systém s objektovou orientací a s aktivními pravidly. Illustru bychom mohli označit jako objektově relační systém řízení báze dat, který disponuje relačním datovým modelem, jazykem SQL a který je rozšířen o objektovou orientaci (dědičnost, metody, ). Pro definování struktur databáze. Illustra disponuje vestavěnými datovými typy a jakýmikoli uživatelem definovanými datovými typy. Dědičnost se vztahuje jak na atributy, tak na funkce. Funkce v Illustře jsou části kódu, zapsaného v SQL nebo v C, které mohou být uchovávány v databázi a mohou být volány. Pravidla využívá Illustra k tomu, aby přebírala zodpovědnost za správnost manipulace s daty (jednoduché operace Insert, Delete, Update), tzn. pravidla slouží převážně k definování integritních omezení. 3.4 ODE Systém ODE je založen na databázovém programovacím jazyku O++, který je rozšířením jazyka C++ o podporu řízení dat jako jsou transakce, perzistentní objekty a aktivní pravidla. V ODE je koncept aplikační domény modelován prostřednictvím tříd, jejichž syntaxe a sémantika je inspirována jazykem C++. ODE využívá jak perzistentních, tak volativních objektů (pozn. perzistence, resp. volativnost není vlastnosti tříd, nýbrž vlastností objektů). Deduktivní pravidla systém ODE nepodporuje, pouze pravidla aktivní, která se v ODE nazývají triggery. Pokud chceme možností deduktivních pravidel využít i v systému ODE, je třeba je transformovat do triggerů. To znamená převést deklarativní výraz na O++ funkci. Transformovat lze rovněž rekurzivní pravidlo využitím rekurzivní funkce jazyka O++. Generická integritní omezení systémem ODE přímo podporována nejsou. Integritní omezení jsou přeložena do aktivních pravidel (triggerů). Při překladu je třeba replikovat všechna aktivní pravidla, která vznikla transformací deduktivních pravidel, v příslušných třídách, protože ODE nepodporuje necílené koncepty (pozn. pojem cílený resp. necílený koncept bude vysvětlen dále). 21

22 Pro více informací lze sáhnout na adresu: Validity Validity patří do skupiny deduktivně objektových databázových systémů. Často se vyskytuje termín deduktivní a objektově-orientované databáze (DOOD). Současný výzkum v oblasti deduktivních databází je zaměřen na spojení deduktivních schopností s objektově orientovanými databázemi za účelem kombinace výhod expresivity objektových datových modelů a deklarativního stylu logického programování. Validity je prvním komerčním produktem na tomto poli výzkumu a vývoje. Deduktivní jazyk implementovaný v systému Validity se nazývá DEL (Datalog Extended Language). DEL umožňuje uživatelem definované typy, jednoduchou i vícenásobnou dědičnost, metody. Deklarativní DEL je jazykem pro psaní formulí, které jsou používány jako deduktivní pravidla a integritní omezení. Příkazový DEL je databázový programovací jazyk, umožňující zapisovat aplikační transakce, těla funkcí a metody. Současná verze systému Validity neumožňuje zapisovat aktivní pravidla. Více informací o systému Validity lze získat např. z článku Oris Friesen, Alexandre Lefebvre, Laurent Vieille: VALIDITY: Applications of a DOOD System. EDBT 1996: , Springer. 3.6 RockRoll RockRoll je deduktivní a objektově-orientovaný databázový systém, který disponuje příkazovým databázovým jazykem ROCK a deduktivním dotazovacím jazykem ROLL. ROCK může být použit pro definování schématu databáze a pro manipulaci s daty, zatímco ROLL se využívá k tvorbě dotazů a k definování deklarativních metod. Více informací lze nalézt na adrese: P/FDM P/FDM je systém řízení báze dat, který byl navržen pro řešení netradičních aplikací, jako jsou aplikace pro návrh databází. Jedná se o systém založený na datovém modelu v Prologu, který je rozšířen o některé rysy objektověorientovaných datových modelů. Manipulace s daty je realizována jednoduchými operacemi, implementovanými jako procedury v Prologu. Kromě Prologu je součástí P/FDM i kompilátor jazyka Daplex (jazyk pro definice dat a manipulaci s daty). Daplex je deklarativní jazyk vysoké úrovně. Výstupem z kompilátoru Daplexu je prologovský program, který obsahuje vložená volání jednoduchých databázových operací. Daplex obsahuje optimalizátor dotazů, který využívá heuristické vyhledávání. Kompilátor je schopen přeložit generická integritní omezení vyjádřená v Daplexu do fragmentů programu v Prologu, který hlídá integritu dat 22

23 při aktualizaci databáze. P/FDM disponuje grafickým uživatelským rozhraním, založeným na formulářích. Ve vývoji je verze systému, která bude využívat tří-rozměrnou grafiku. Systém pracuje ve vyspělém víceuživatelském režimu. Ucelenou představu o systému lze získat prostudováním web stránek na adrese Průvodce studiem: Kromě výše zmíněných SŘBD existují a jsou více méně ověřovány i další systémy, jako např. Algres, LDL++, Quixote, Aditi, Coral, XSB a další. Některé z nich jsou volně dostupné na Internetu, v některých z nich již byly vytvořeny četné aplikace. Většinou se jedná o systémy vyvinuté na západoevropských a amerických univerzitách. Pojmy k zapamatování: Deduktivní databáze, objektově-orientované systémy řízení báze dat, Florid, Gedblog, Illustra, ODE, Validity, RockRoll, P/FDM. Úkoly k zamyšlení: Pokuste se najít na Internetu některé další systémy řízení báze dat, které vykazují charakteristiky deduktivních databází. Krátce je popište včetně tříd aplikací, na kterých již byly využity. Kontrolní otázky: 1. Co je hlavní výhodou deduktivních databází? 2. Jaké jsou základní charakteristiky deduktivních systémů pro řízení báze dat (SŘBD)? 3. Jaké znáte deduktivní SŘBD? 23

24 4 DEDUKTIVNĚ OBJEKTOVÝ DATABÁZOVÝ SYSTÉM CONCEPTBASE A JEHO ZÁKLADNÍ KOMPONENTY Cíl: Po prostudování této kapitoly budete umět: - vyjmenovat klíčové charakteristiky ConceptBase, - vyjmenovat a popsat vzory tvrzení v ConceptBase, - vyjmenovat a vysvětlit Telosovské axiomy, - sestavit jednoduchý model v Telos, - sestavovat literály a formule v Telos, - sestavovat dotazy v Telos, - převést E-R diagram na CB graf. Klíčová slova: ConceptBase, Logický, rámcový a grafický formát, Telos, vzory tvrzení, třídy znalostní báze, Telosovské axiomy, CBL, dotazování, model, metamodel. Systém ConceptBase je rozšířením relačních databázových systémů ve dvou směrech. Jednou oblastí je zavedení objektově orientovaných abstrakcí do datového modelu, dalším rozšířením je zabudování deduktivních abstrakcí a v tomto ohledu je systém ekvivalentem logických a sémantických sítí. Co se týká architektury, systém ConceptBase je systémem s architekturou klient - server. V ConceptBase je implementován jazyk pro reprezentaci znalostí Telos. Databáze v ConcetBase je objektovou databází s pravidly jako atributy tříd. Hlavní rozšíření je v přidání komplexních domén, sdílených objektů a procedur do databáze. Znalostní reprezentace vychází z deduktivních databází nebo ze sémantických datových modelů. Jazyk Telos umožňuje integrovat deduktivní a objektově-orientované datové modely. Průvodce studiem: Veškeré definice, axiomy a vzorce, použité v této kapitole, jsou přebrány od autorů systému ConceptBase (Lehrstuhl Prof. Dr. Matthias Jarke, c/o ConceptBase Team). Většina literatury pro zpracovní této kapitoly byla získána prostřednictvím Internetu na zdrojové adrese 24

25 Definice 4-1 podle[25] ConceptBase je deduktivní objektově orientovaný systém řízení metadatabází, zaměřený především na konceptuální modelování. Systém má implementován jazyk Telos. Klíčové charakteristiky: Logický, rámcový a grafický pohled na uložené objekty. Neomezená možnost rozšiřování hierarchie tříd. Deduktivní pravidla a integritní omezení jako atributy tříd. Dotazy jako třídy s omezeným členstvím. Komplexní pohledy. Aktivní pravidla se schopností aktualizovat databáze a spouštět externí programy. Perzistentní objekty s možným přístupem k historii objektů. Úroveň meta pravidel a integritních omezení pro axiomatické rozšíření jazyka. Optimalizace dotazů. Grafický prohlížeč. Interface pro deklaraci dotazů a tvorbu Telosovských objektů. Všechny třídy, meta třídy, instance, atributy, pravidla, integritní omezení a dotazy jsou reprezentovány jako objekty. Každý objekt může být aktualizován po dobu životního cyklu objektové báze. Dokonce členství ve třídě je reprezentováno jako objekt. Sémantika Telosu je založena na DATALOGu. Schopnost metamodelování dovoluje využívat heterogenní modelovací jazyky jako E-R diagram, OMT, atd. jako Telosovské metatřídy, jejichž pravidla a integritní omezení zakóduje do axiomů např. procesem generalizace. Metatřídy mohou existovat v rámci stejné objektové báze. Objekt popsaný v jednom modelovacím jazyku může být spojen s objektem popsaným v jiném modelovacím jazyku. ConceptBase sleduje klient-server architekturu. Klientský program se může spojit s ConceptBase serverem a měnit data s využitím komunikačního protokolu Internetu. Programovací interface umožňuje uživateli vytvářet vlastní klientské aplikace v Jave, C nebo Prologu. ConceptBase využívá X11 interface, který nabízí grafické, tabulkové a textové nástroje pro editování a prohlížení objektové báze. 4.1 Jazyk Telos v ConceptBase Model vytvořený v jazyce Telos zevšeobecňuje dřívější datové modely a znalostní reprezentace, jako E-R diagram nebo sémantické sítě a spojuje je s predikátovými tvrzeními a dočasnými informacemi. 25

26 Příklad 4-1: Následuje stručné popsání reality, na které budou demonstrovány některé příklady kapitoly 4. Společnost má zaměstnance, někteří z nich mohou být manažéry. Zaměstnanci mají jméno a plat, které se může občas měnit. Jsou přiřazeni k oddělení, které je vedeno manažérem. Vedoucí zaměstnance může být odvozen od oddělení zaměstnance a manažéra oddělení. Žádnému zaměstnanci není dovoleno vydělat více, než vydělává jeho vedoucí. Telos podporuje tři různé formáty pro zápis příkazů. Základním formátem je formát logický, který umožňuje začlenit jazyk predikátových tvrzení pro deduktivní pravidla, dotazy a integritní omezení. Dalšími formáty je formát grafický (sémantická síť) a formát rámcový (frame). Oba formáty jsou založeny na formátu logickém a jsou z něho odvozeny Logická interpretace znalostní báze Znalostní báze v Telosu je založena na konečné množině vzájemně propojených tvrzení, která jsou zde chápána jako objekty. kde: KB = {P(oid, x, l, y, tt) oid, x, y, tt ID, l LABEL }, oid je identifikátor, který je klíčem v znalostní bázi, ID je neprázdná množina identifikátorů, LABEL je neprázdná podmnožina jmen, x je zdroj, l je jméno, y je cíl, tt je doba trvání. Objek x má vztah s objektem y, kde jméno vztahu je l. Vztah se předpokládá do doby tt Vzory tvrzení V ConceptBase jsou rozeznávány čtyři vzory tvrzení a jsou jim dávána následující jména: 1) Individuals P(oid, oid, l, oid, tt) Toto tvrzení vytváří objekt oid se jménem l, jehož trvání se předpokládá do doby tt. 2) InstanceOf relationship (instantiations) 26

27 P(oid, x, *instanceof, y, tt) Toto tvrzení vytváří instanci x třídy y do doby tt. 3) IsA relationships (specializations) P(oid, x, *isa, y, tt) Toto tvrzení vytváří třídu x jako specializaci třídy y do doby tt. 4) Attribute Všechna další tvrzení Předdefinované třídy Telosovské znalostní báze Telos využívá strukturální axiomy, jejichž úplný výčet je uveden v publikaci [18]. Tyto axiomy jsou spojeny s předdefinovanými třídami, které jsou automatickou součástí každé Telosovské znalostní báze. Individual obsahuje všechny individualy jako instance InstanceOf obsahuje všechny konkretizace jako instance IsA obsahuje všechny specializace jako instance Attribute obsahuje všechny atributy jako instance Proposition obsahuje všechna tvrzení jako instance Class obsahuje všechny třídy (včetně sebe) jako instance Token obsahuje ty individualy, které již nemohou mít instance SimpleClass jsou Token MetaClass Metameta Class obsahuje individualy, které mohou mít instance, které obsahuje individualy, které mohou mít instance, které jsou SimpleClass obsahuje individualy, které mohou mít instance, které jsou MetaClass Navíc Telos využívá vestavěných tříd jako Integer, Real a String Některé Telosovské axiomy Uživatelé nepracují přímo s tvrzeními, ale s jejich textovou (frame) nebo grafickou (sémantická síť) podobou. Tyto formáty nejsou založeny na oid objektů, ale na jejich komponentě label. Aby bylo garantováno jednoznačné mapování, musí platit axiom pojmenování. Axiom pojmenování Jméno individualu musí být jednoznačné, jména všech atributů společného zdrojového objektu musí být rovněž jednoznačná. 27

28 Specializační axiom Cílový objekt specializace dědí všechny instance svého zdroje. Dle příkladu 4-1 všechny instance třídy Manažér jsou zároveň instancemi třídy Zaměstnanec. Konkretizační axiom Jestliže p je tvrzení, které je instancí tvrzení P, pak zdroj p musí být instancí zdroje P a cíl p musí být instancí cíle P. 4.2 Jednoduchý model v Telos Nechť existuje následující jednoduchý model: Osoba Pacient Lék Jakub Penicilín Obr. 4-1 Pak tvrzení, korespondující s uvedenými objekty a vztahy, jsou následující: 1) Proposition(Osoba, Osoba, -, Osoba) 2) Proposition(Pacient, Pacient, -, Pacient) 3) Proposition(#1, Pacient, *isa, Osoba) 4) Proposition(Lék, Lék, -, Lék) 5) Proposition(#2, Pacient, bere, Lék) 6) Proposition(Penicilín, Penicilín, -, Penicilín) 7) Proposition(#3, Penicilin, *instanceof, Lék) 8) Proposition(Jakub, Jakub, -, Jakub) 9) Proposition(#4, Jakub, *instanceof, Pacient) 10) Proposition(#5, Jakub, lék1, Penicilín) 11) Proposition(#6, #5, *instanceof, #2) 28

29 Oid, výše označováno #, je generováno systémem. Objekty, korespondující s tvrzeními 1), 2) a 4), jsou individualy. Ostatní objekty se nazývají atributy a to atributy instanční, které mají třetí komponentu *instanceof a atributy specializační, které mají třetí komponentu *isa. Je-li tvrzení ve formě Proposition(oid, x, *instanceof, c), pak x je instancí c (c je třídou x). Je-li tvrzení ve formě Proposition(oid, c, *isa, d), pak c je subclass d (d je superclass c). 4.3 Predikátový jazyk CBL jako součást Telos Predikátový jazyk CBL se využívá k vyjádření integritních omezení, deduktivních pravidel a dotazů. Proměnné, použité ve formulích, musí být kvantifikovány a spojeny s typem, který limituje rozsah možných instancí z množiny instancí dané třídy. Obvykle je znalostní báze omezena do doby rollbacku, která závisí na typu formule. KB rbt = {P(oid, x, l, y, tt) in KB rbt during tt} Integritní omezení je vyhodnocováno v aktuální KB (rbt představuje aktuální čas prováděné transakce). Rollback pro dotaz je dán dobou vyhodnocení dotazu. Význam použitých symbolů je shodný s významem odpovídajících symbolů v kapitole Literály, umožňující přístup k Telos objektům 1) (x in c) resp. in(x,c) infixová, resp. prefixová notace Objekt x je instancí třídy c. 2) (c isa d) resp. IsA(c,d) Objekt c je specializací třídy d. 3) (x m y) resp. A(x,m,y) Objekt x má atribut, jehož hodnoty jsou instance objektu y. Takto definovaný vztah je instancí kategorie atributů s označením m. 4) From(p, x) Objekt p má zdroj v objektu x. 5) To(p, y) Objekt p má cíl v objektu y. 6) Label(p, l) Objekt p má jméno l. Následující literály definují druhou třídu formulí: 7) x < y, x > y, x <= y, x >= y, x = y, x <> y, kde x,y musí být instance třídy Integer nebo Real. 8) x = = y 29

30 Objekty x a y jsou totožné Kvantifikovatelné proměnné Formule s univerzálním kvantifikátorem má tvar: Forall x c F nebo forall x(x in c) F Pro všechny instance x třídy c platí formule F. Formule s existenčním kvantifikátorem má tvar: Exists x c F nebo exists x (x in c) and F Existuje instance x třídy c, pro kterou platí formule F Restrikce pro formule Každá konstanta, obsažená ve formuli F, musí být jméno existujícího objektu v Telosovské znalostní bázi nebo je to konstanta vestavěné třídy Integer, Real nebo String. Každý atribut (x m y) obsažený ve formuli musí mít unikátní jméno m ve znalostní bázi. Definice 4-2 podle[25] Legální integritní omezení je CBL formule, která splňuje uvedené restrikce. Příklad 4-2: Zapišme integritní omezení pro plat zaměstnance/manažéra (vycházeje z příklady 4-1), když platí, že plat zaměstnance/manažéra nesmí být větší než ,- Kč Forall x Zaměstnanec y Integer (x plat y) y <=

Ostravská univerzita, Přírodovědecká fakulta, 30. dubna 22, Ostrava,

Ostravská univerzita, Přírodovědecká fakulta, 30. dubna 22, Ostrava, MODELOVÁNÍ ZNALOSTÍ Zdeňka Telnarová Ostravská univerzita, Přírodovědecká fakulta, 30. dubna 22, Ostrava, Zdenka.Telnarova@osu.cz Abstrakt Příspěvek se věnuje modelování znalostí v konkrétním prostředí

Více

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření

Více

DEDUKTIVNÍ PRAVIDLA V ANALÝZE A NÁVRHU DATABÁZOVÝCH APLIKACÍ

DEDUKTIVNÍ PRAVIDLA V ANALÝZE A NÁVRHU DATABÁZOVÝCH APLIKACÍ DEDUKTIVNÍ PRAVIDLA V ANALÝZE A NÁVRHU DATABÁZOVÝCH APLIKACÍ Zdeňka Telnarová Ostravská univerzita, Přírodovědecká fakulta, Katedra Informatiky a počítačů, 30.dubna 22, 713 00 Ostrava 1, Zdenka.Telnarova@osu.cz

Více

Logika a logické programování

Logika a logické programování Logika a logické programování témata ke zkoušce Poslední aktualizace: 16. prosince 2009 Zkouška je písemná, skládá se obvykle ze sedmi otázek (může být více nebo méně, podle náročnosti otázek), z toho

Více

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

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

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

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

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

Dolování v objektových datech. Ivana Rudolfová Dolování v objektových datech Ivana Rudolfová Relační databáze - nevýhody První normální forma neumožňuje vyjádřit vztahy A je podtypem B nebo vytvořit struktury typu pole nebo množiny SQL omezení omezený

Více

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1 Negativní informace Petr Štěpánek S použitím materiálu M.Gelfonda a V. Lifschitze 2009 Logické programování 15 1 Negace jako neúspěch Motivace: Tvrzení p (atomická formule) neplatí, jestliže nelze odvodit

Více

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Úvod do Prologu Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David Warren (Warren Abstract Machine) implementace

Více

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í

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í 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Predikátová logika. prvního řádu

Predikátová logika. prvního řádu Predikátová logika prvního řádu 2 Predikát Predikát je n-ární relace - vyjadřuje vlastnosti objektů a vztahy mezi objekty - z jednoduchého výroku vznikne vypuštěním alespoň jednoho jména objektu (individua)

Více

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

Formální systém výrokové logiky

Formální systém výrokové logiky Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b)

Více

Objektově orientované databáze. Miroslav Beneš

Objektově orientované databáze. Miroslav Beneš 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

Více

Logické programy Deklarativní interpretace

Logické programy Deklarativní interpretace Logické programy Deklarativní interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 7 1 Algebry. (Interpretace termů) Algebra J pro jazyk termů L obsahuje Neprázdnou

Více

Modely Herbrandovské interpretace

Modely Herbrandovské interpretace Modely Herbrandovské interpretace Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 8 1 Uvedli jsme termové interpretace a termové modely pro logické programy a také nejmenší

Více

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Predikátová logika. Teoretická informatika Tomáš Foltýnek Predikátová logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz strana 2 Opakování z minulé přednášky Z čeho se skládá jazyk výrokové logiky? Jaká jsou schémata pro axiomy VL? Formulujte

Více

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

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

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

Analýza a modelování dat 3. přednáška. Helena Palovská Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM

Více

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

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Okruh č.3: Sémantický výklad predikátové logiky

Okruh č.3: Sémantický výklad predikátové logiky Okruh č.3: Sémantický výklad predikátové logiky Predikátová logika 1.řádu formalizuje úsudky o vlastnostech předmětů a vztazích mezi předměty pevně dané předmětné oblasti (univerza). Nebudeme se zabývat

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek Otázka 06 - Y01MLO Zadání Predikátová logika, formule predikátové logiky, sentence, interpretace jazyka predikátové logiky, splnitelné sentence, tautologie, kontradikce, tautologicky ekvivalentní formule.

Více

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz Jednoduché úsudky, kde VL nestačí Všechny opice mají rády banány Judy je opice Judy má ráda banány Z hlediska VL

Více

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Kapitola Relační model dat 1 3. Relační model dat (Codd 1970) Formální

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška šestá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. a dle učebního textu R. Bělohlávka a V. Vychodila: Diskrétní matematika

Více

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy Formální systémy (výrokové) logiky postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy cíl: získat formální teorii jako souhrn dokazatelných

Více

Výroková a predikátová logika - V

Výroková a predikátová logika - V Výroková a predikátová logika - V Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - V ZS 2015/2016 1 / 21 Dokazovací systémy VL Hilbertovský kalkul Hilbertovský

Více

teorie logických spojek chápaných jako pravdivostní funkce

teorie logických spojek chápaných jako pravdivostní funkce Výroková logika teorie logických spojek chápaných jako pravdivostní funkce zabývá se způsoby tvoření výroků pomocí spojek a vztahy mezi pravdivostí různých výroků používá specifický jazyk složený z výrokových

Více

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Deskripční logika Petr Křemen FEL ČVUT Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157 Co nás čeká 1 Základy deskripční logiky 2 Jazyk ALC Syntax a sémantika 3 Cyklické a acyklické TBOXy Petr Křemen

Více

platné nejsou Sokrates je smrtelný. (r) 1/??

platné nejsou Sokrates je smrtelný. (r) 1/?? Predikátová logika plně přejímá výsledky výrokové logiky zabývá se navíc strukturou jednotlivých jednoduchých výroků na základě této analýzy lze odvodit platnost některých výroků, které ve výrokové logice

Více

Databázové systémy BIK-DBS

Databázové systémy BIK-DBS Databázové systémy BIK-DBS Ing. Ivan Halaška katedra softwarového inženýrství ČVUT FIT Thákurova 9, m.č. T9:311 ivan.halaska@fit.cvut.cz Stránka předmětu: https://edux.fit.cvut.cz/courses/bi-dbs/parttime/start

Více

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

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového

Více

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

Databáze v MS ACCESS

Databáze v MS ACCESS 1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,

Více

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

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

Více

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

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

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

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

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Matematická logika. Miroslav Kolařík

Matematická logika. Miroslav Kolařík Matematická logika přednáška desátá Miroslav Kolařík Zpracováno dle textu R. Bělohlávka: Matematická logika poznámky k přednáškám, 2004. Obsah 1 Úvod do modální logiky 2 Logické programování a Prolog 3

Více

J. Zendulka: Databázové systémy 4 Relační model dat 1

J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková logika. Teoretická informatika Tomáš Foltýnek Výroková logika Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Co je to formalismus a co je jeho cílem? Formulujte Russelův paradox

Více

Matematika B101MA1, B101MA2

Matematika B101MA1, B101MA2 Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet

Více

1 Pravdivost formulí v interpretaci a daném ohodnocení

1 Pravdivost formulí v interpretaci a daném ohodnocení 1 Pravdivost formulí v interpretaci a daném ohodnocení Než uvedeme konkrétní příklady, zopakujme si definici interpretace, ohodnocení a pravdivosti. Necht L je nějaký jazyk. Interpretaci U, jazyka L tvoří

Více

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

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

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

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze 5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie

Více

Výroková a predikátová logika - III

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů: 1 Predikátová logika 1.1 Syntax Podobně jako ve výrokové logice začneme nejprve se syntaxí predikátové logiky, která nám říká, co jsou správně utvořené formule predikátové logiky. V další části tohoto

Více

Výroková a predikátová logika - XII

Výroková a predikátová logika - XII Výroková a predikátová logika - XII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - XII ZS 2018/2019 1 / 15 Rezoluční metoda v PL Rezoluční důkaz Obecné

Více

Logika pro sémantický web

Logika pro sémantický web ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Logika pro sémantický web Martin Žáček PROČ BALÍČEK? 1. balíček Formální logické systémy

Více

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Rostislav Horčík.    horcik Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 20 Predikátová logika Motivace Výroková

Více

Výroková a predikátová logika - VII

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2018/2019 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2018/2019 1 / 15 Platnost (pravdivost) Platnost ve struktuře

Více

Výroková a predikátová logika - VI

Výroková a predikátová logika - VI Výroková a predikátová logika - VI Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VI ZS 2017/2018 1 / 24 Predikátová logika Úvod Predikátová logika Zabývá

Více

DBS Konceptuální modelování

DBS Konceptuální modelování DBS Konceptuální modelování Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze Michal.Valenta@fit.cvut.cz c Michal Valenta, 2010 BIVŠ DBS I, ZS 2010/11 https://users.fit.cvut.cz/

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

Umělá inteligence I. Roman Barták, KTIML.

Umělá inteligence I. Roman Barták, KTIML. Umělá inteligence I Roman Barták, KTIML roman.bartak@mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Už umíme používat výrokovou logiku pro reprezentaci znalostí a odvozování důsledků. Dnes Dnes zopakujeme

Více

Relační model dat (Codd 1970)

Relační model dat (Codd 1970) Relační model dat (Codd 1970) Odkud vychází, co přináší? Formální abstrakce nejjednodušších souborů. Relační kalkul a relační algebra (dotazovací prostředky). Metodika pro posuzování kvality relačního

Více

Výroková a predikátová logika - VII

Výroková a predikátová logika - VII Výroková a predikátová logika - VII Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - VII ZS 2013/2014 1 / 21 Sémantika PL Teorie Vlastnosti teorií Teorie

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška první Miroslav Kolařík Zpracováno dle učebního textu prof. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008. Obsah 1 Co a k čemu je logika? 2 Výroky a logické spojky

Více

Logické programování

Logické programování 30. října 2012 Osnova Principy logického programování 1 Principy logického programování 2 3 1 Principy logického programování 2 3 Paradigmata programování Strukturované programování Procedurální programování

Více

Výroková logika - opakování

Výroková logika - opakování - opakování ormální zavedení Výroková formule: Máme neprázdnou nejvýše spočetnou množinu A výrokových proměnných. 1. Každá proměnná je výroková formule 2. Když α, β jsou formule, potom ( α), (α β), (α

Více

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

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

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2015/2016 1 / 18 Základní syntax Jazyk Výroková logika je logikou

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

ZÁKLADY LOGIKY A METODOLOGIE

ZÁKLADY LOGIKY A METODOLOGIE ZÁKLADY LOGIKY A METODOLOGIE Metodický list č. 1 Téma: Předmět logiky a metodologie, základy logiky a formalizace. Toto téma lze rozdělit do tří základních tématických oblastí: 1) Předmět logiky a metodologie

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2013/2014 1 / 20 Základní syntax Jazyk Výroková logika je logikou

Více

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

Úvod do databázových systémů. Ing. Jan Šudřich Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1. Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných

Více

04 - Databázové systémy

04 - Databázové systémy 04 - Databázové systémy Základní pojmy, principy, architektury Databáze (DB) je uspořádaná množina dat, se kterými můžeme dále pracovat. Správa databáze je realizována prostřednictvím Systému pro správu

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

Logika. 6. Axiomatický systém výrokové logiky

Logika. 6. Axiomatický systém výrokové logiky Logika 6. Axiomatický systém výrokové logiky RNDr. Luděk Cienciala, Ph. D. Tato inovace předmětu Úvod do logiky je spolufinancována Evropským sociálním fondem a Státním rozpočtem ČR, projekt č. CZ. 1.07/2.2.00/28.0216,

Více

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 OBJECT DEFINITION LANGUAGE Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 ODL a OQL ODL Objektové Object Definition Language popis objektového schéma SQL DDL Relační Data Definition Language příkazy CREATE,

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

7.3 Diagramy tříd - základy

7.3 Diagramy tříd - základy 7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'

Více

Výroková a predikátová logika - IX

Výroková a predikátová logika - IX Výroková a predikátová logika - IX Petr Gregor KTIML MFF UK ZS 2013/2014 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - IX ZS 2013/2014 1 / 15 Korektnost a úplnost Důsledky Vlastnosti teorií

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Databáze. Logický model DB. David Hoksza

Databáze. Logický model DB. David Hoksza Databáze Logický model DB David Hoksza http://siret.cz/hoksza Osnova Relační model dat Převod konceptuálního schématu do logického Funkční závislosti Normalizace schématu Cvičení převod do relačního modelu

Více

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

6 Objektově-orientovaný vývoj programového vybavení 6 Objektově-orientovaný vývoj programového vybavení 6.1 Co značí objektově-orientovaný - organizace SW jako kolekce diskrétních objektů, které zahrnují jak data tak chování objekt: OMG: Objekt je věc (thing).

Více

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti Relační datový model Integritní omezení funkční závislosti multizávislosti inkluzní závislosti Normální formy Návrh IS Funkční závislosti funkční závislost elementární redundantní redukovaná částečná pokrytí

Více

TEORIE ZPRACOVÁNÍ DAT

TEORIE ZPRACOVÁNÍ DAT Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky TEORIE ZPRACOVÁNÍ DAT pro kombinované a distanční studium Jana Šarmanová Ostrava 2003 Jana Šarmanová, 2003 Fakulta

Více

Programovací jazyk Prolog

Programovací jazyk Prolog Programovací jazyk Prolog Logické programování Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 1. prosince 2008 Prolog Co je

Více

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

2. Modelovací jazyk UML 2.1 Struktura UML 2.1.1 Diagram tříd 2.1.1.1 Asociace 2.1.2 OCL. 3. Smalltalk 3.1 Jazyk 3.1.1 Pojmenování 1. Teoretické základy modelování na počítačích 1.1 Lambda-kalkul 1.1.1 Formální zápis, beta-redukce, alfa-konverze 1.1.2 Lambda-výraz jako data 1.1.3 Příklad alfa-konverze 1.1.4 Eta-redukce 1.2 Základy

Více

Kapitola 6: Omezení integrity. Omezení domény

Kapitola 6: Omezení integrity. Omezení domény - 6.1 - Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované

Více

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

Databázové systémy. Ing. Radek Holý Databázové systémy Ing. Radek Holý holy@cvut.cz Literatura: Skripta: Jeřábek, Kaliková, Krčál, Krčálová, Kalika: Databázové systémy pro dopravní aplikace Vydavatelství ČVUT, 09/2010 Co je relační databáze?

Více

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

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

2.2 Sémantika predikátové logiky

2.2 Sémantika predikátové logiky 14 [101105-1155] 2.2 Sémantika predikátové logiky Nyní se budeme zabývat sémantikou formulí, tj. jejich významem a pravdivostí. 2.2.1 Interpretace jazyka predikátové logiky. Interpretace predikátové logiky

Více

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1 4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...

Více

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

RELAČNÍ DATABÁZE. Cíl: Cíl: Cílem tohoto předmětu je získat praktické znalosti a dovednosti v oblasti relačních databází, jakož i seznámit se s novými trendy v objektově relačních a objektových databázích. Podstatná část je

Více

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

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software. Maturitní témata IKT, školní rok 2017/18 1 Struktura osobního počítače Von Neumannova architektura: zakreslete, vysvětlete její smysl a popište, jakým způsobem se od ní běžné počítače odchylují. Osobní

Více

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace - 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Sémantika predikátové logiky

Sémantika predikátové logiky Sémantika predikátové logiky pro analýzu sémantiky potřebujeme nejprve specifikaci jazyka (doména, konstanty, funkční a predikátové symboly) příklad: formální jazyk s jediným binárním predikátovým symbolem

Více

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Domény. Petr Štěpánek. S využitím materialu Krysztofa R. Apta Domény Petr Štěpánek S využitím materialu Krysztofa R. Apta 2006 Logické programování 10 1 Typy programů v čistém Prologu je možné uspořádat podle různých pohledů. Zajímavá je charakteristika podle domén,

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Výroková a predikátová logika - II

Výroková a predikátová logika - II Výroková a predikátová logika - II Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - II ZS 2017/2018 1 / 17 Předběžnosti Základní pojmy n-ární relace a funkce

Více