DEDUKTIVNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA)
|
|
- František Staněk
- před 8 lety
- Počet zobrazení:
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,
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íceDatabá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íceDEDUKTIVNÍ 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íceLogika 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íceModely 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íceMetody 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íceDolová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íceNegativní 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íceProlog 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íceInformač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íceDatabá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ícePrediká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ícePrimá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íceFormá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íceObjektově 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íceLogické 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íceModely 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ícePrediká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íce8.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íceAnalý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íceKrité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íceOkruh č.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íce4.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íceUná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 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íceMATURITNÍ 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íceDatabá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íceMatematická 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ícepostaveny 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íceVý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íceteorie 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íceDeskripč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íceplatné 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íceDatabá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íceInovace 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íceBooleovská 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íceDatabá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ícePOKROČ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íceDatabá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íceKapitola 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íceDATABÁ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íceMaturitní 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íceMatematická 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íceJ. 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íceVý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íceMatematika 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íce1 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íceTÉ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íceKrité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íce5. 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íceVý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íce1 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íceVý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íceLogika 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íceMatematická 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íceVý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íceVý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íceDBS 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íceDatabá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íceUmě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íceRelač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íceVý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 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íceLogické 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íceVý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íceRELAČ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íceObsah 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íceVý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íceProgramovací 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íceZÁ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íceVý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
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íce04 - 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íceANOTACE 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íceLogika. 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íceOBJECT 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íce7.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íceProgramovací 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íce7.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íceVý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íceUsuzová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íceDatabá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íce6 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íceRelač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íceTEORIE 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íceProgramovací 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íce2. 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íceKapitola 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íceDatabá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íceDatabá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íce2.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íce4. 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íceRELAČ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íceMaturitní 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íceKapitola 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íceOntologie. 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íceSé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íceDomé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íceU Ú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íceVý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