Integrace relačních a grafových databází funkcionálně

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

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

Inteligentní systémy (TIL) Marie Duží

Databázové systémy BIK-DBS

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

Databáze I. Přednáška 2

Databázové systémy. Cvičení 2

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

Relační model dat (Codd 1970)

Úvod do databázových systémů 1. cvičení

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

DBS relační DB model, relační algebra

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

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

Dotazování v relačním modelu a SQL

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

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

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

Michal Valenta DBS Databázové modely 2. prosince / 35

Tvorba informačních systémů

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

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Databáze. Logický model DB. David Hoksza

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

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

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

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

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

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

MBI - technologická realizace modelu

DBS Konceptuální modelování

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

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Informační systémy ve zdravotnictví. 6. cvičení

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

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

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

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

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

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

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

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

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

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

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

Ontologie. Otakar Trunda

Základní pojmy teorie množin Vektorové prostory

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

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

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

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

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

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

4.2 Syntaxe predikátové logiky

Databázové systémy. Přednáška č. 5

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

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

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

10. Techniky formální verifikace a validace

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

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

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Matematická logika. Rostislav Horčík. horcik

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

TEORIE ZPRACOVÁNÍ DAT

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

Úvod do databázových systémů 6. cvičení

Terminologie v relačním modelu

Matematická logika. Miroslav Kolařík

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

Logika a logické programování

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

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

Přijímací zkouška - matematika

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

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

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

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

Výměnný formát XML DTM DMVS PK

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Objektově orientované databáze. Miroslav Beneš

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

1. Integrační koncept

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

Michal Krátký, Miroslav Beneš

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

Spark SQL, Spark Streaming. Jan Hučín

Algoritmizace prostorových úloh

Matematická analýza 1

Microsoft Access tvorba databáze jednoduše

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

Vyhledávání podle klíčových slov v relačních databázích. Dotazovací jazyky I ZS 2010/11 Karel Poledna

Logické programy Deklarativní interpretace

Databázové systémy. modelování. Tomáš Skopal. - úvod. - konceptuální datové

Datové modelování II

Okruhy z odborných předmětů

Transkript:

Integrace relačních a grafových databází funkcionálně J. Pokorný MFF UK, Praha Data a znalosti & WIKT 2018, 11.-12.10. 1

Obsah Úvod Funkcionální přístup k modelování dat Manipulace funkcí jazyk (lambda) termů dotazování nad relacemi a atributovými grafy Integrace relací a atributových grafů Závěry Data a znalosti & WIKT 2018, 11.- 12.10. 2

Úvod Příklad grafové databáze: Nabízí_do Datum: 3, května, 2017 Časopis Jméno: Cineaste Vydavatel: Cineaste Magazine Adresa: 708 Third Av., NY FIlm Název_f: Amadeus Režisér: M. Forman Natočen: 1984 Hodnocení Hvězdičky: 8.4 Uživatel Uživatel_ID: I37 Jméno: J. Roth Rok_nar: 2001 FOF FIlm Název_f: Vertigo Režisér: A. Hitchcock Natočen: 1958 Hodnocení Hvězdičky: 8.6 Uživatel Uživatel_ID: I42 Jméno: A. Loose Rok_nar: 1998 Data a znalosti & WIKT 2018, 11.-12.10. 3

Úvod Příklad relační databáze: Herci(Jméno, Název_f, Role) Filmy(Název_f, Natočen, Režisér, Žánr) Jméno Název_f Role Kim Novak F. M. Abraham Tom Hulce Vertigo Amadeus Amadeus Madeleine Salieri Mozart Název_f Natočen Režisér Žánr Vertigo Amadeus 1958 1984 A. Hitchcock M. Forman thriller drama Data a znalosti & WIKT 2018, 11.-12.10. 4

Úvod Terminologie: GDB, GSŘBD, GDBS (často pouze grafové databáze) GDB může obsahovat jeden (velký) graf nebo kolekci malých či středně velkých grafů schémata grafové databáze většinou schází Problémy: jak modelovat GDB, jak dotazovat GDB, jak integrovat GDB a nějaké jiné databáze Náš přístup GDB je jeden graf použijeme funkcionální schéma GDB a typovaný lambda kalkul jako prostředek dotazování relace budou vyjádřeny také funkcionálně integrace funkcionálně Data a znalosti & WIKT 2018, 11.-12.10. 5

Úvod Příklad schématu GDB: Nabízí_do Datum Film Název_f Režisér Natočen Hodnocení Hvězdičky FOF Časopis Jméno Vydavatel Adresa Uživatel Uživatel_ID Jméno Rok_nar Data a znalosti & WIKT 2018, 11.-12.10. 6

Grafový datový model (ohodnocený) atributový grafový datový model entity (uzly) vlastnosti (atributy) značky (typy) vztahy (hrany) směr, počáteční uzel, koncový uzel identifikátory Entity a vztahy mohou mít vlastnosti, uzly a hrany mohou být označeny značkami. Jak uzly tak hrany jsou definovány jednoznačným identifikátorem. v pojmech teorie grafů: ohodnocené orientované atributové multigrafy mohou být použity i pro schémata GDB. Data a znalosti & WIKT 2018, 11.- 12.10. 7

Funkcionální přístup k modelování dat Typované funkce vhodné pro modelování reálných datových objektů jsou atributy nahlížené jako empirické typované funkce popsané výrazem přirozeného jazyka. Předpokládáme bázi B a množinu symbolů S 1, S 2,, S k (k 1). Ty tvoří elementární typy. Jestliže S, R 1,..., R n (n 1) jsou typy, pak (i) (S:T 1,,T n ) (ii) (T 1,...,T n ) je funkcionální typ je n-ticový typ Množina typů T nad B je nejmenší množina obsahující typy z B a ty dané (i)-(ii). Bool = {TRUE, FALSE} je také v B. Pak množiny a relace jsou (Bool:T) resp. (Bool:T 1,...,T n )-objekty. Data a znalosti & WIKT 2018, 11.- 12.10. 8

Funkcionální přístup k modelování dat Jsou-li S i z B interpretovány jako neprázdné množiny, pak (S:R 1,...,R n ) označuje množinu všech (totálních a parciálních) funkcí z R 1... R n do S, (R 1,...,R n ) označuje kartézský součin R 1... R n. aritmetické operace: logika: +, -, *, / jsou (Number:Number, Number)-objekty. and/(bool:bool, BOOL)-objekty, univerzální R-kvatifikátor R, a existenční R-kvantifikátor R jsou ( BOOL:( BOOL:R))-objekty. R-identita = R je (BOOL:R,R)-objekt. agregační funkce: COUNT S /Number:(Bool:S), SUM/Number:(Bool:Number) Data a znalosti & WIKT 2018, 11.-12.10. 9

Funkcionální přístup k modelování dat Příklad: B = {Uživatel, Film, U_ID, Jméno, Rok_nar, }. pak např. výraz" filmy hodnocené uživatelem" označuje ((Bool:Film):Uživatel)-objekt, tj. (parciální) funkci f:uživatel (Bool:Film). Takové funkce reprezentují atributy. každá báze B sestává z deskriptivních a entitních typů. pro GDB můžeme pojímat typy entit jako množiny ID uzlů. typy String, Number atd., slouží pro domény vlastností. Data a znalosti & WIKT 2018, 11.-12.10. 10

GDB schéma funkcionálně Atributy typů: (R:S) a ((Bool:R):S), kde R a S jsou typy entit, tj. jednohodnotové a vícehodnotové atributy. Pro vlastnosti užíváme n-ticové atributy. Vlastnosti popisující typy entit jsou typu ((S 1,...,S m ):R) (m 1), kde S i jsou deskriptivní typy a R je entity typ. Vlastnosti hran jsou typu ((S 1,...,S m,r 1 ):R 2 ) nebo ((Bool:S 1,...,S m,r 1 ):R 2 ). Příklad: Film/((Název_f, Režisér, Natočen):Film) Uživatel/((U_ID, Jméno, Rok_nar):Uživatel) Časopis/((Jméno, Adresa, Vydavatel):Časopis) FOF/((Bool:Uživatel):Uživatel) Hodnocení/((Bool:Hvězdičky, Film):Uživatel) Nabízí_do/((Datum, Časopis):Uživatel) Data a znalosti & WIKT 2018, 11.-12.10. 11

GDB schéma funkcionálně Příklad: Nabízí_do Datum Film Název_f Režisér Natočen Hodnocení Hvězdičky FOF Časopis Jméno Vydavatel Adresa Uživatel Uživatel_ID Jméno Rok_nar Film/((Název_f, Režisér, Natočen):Film) Uživatel/((U_ID, Jméno, Rok_nar):Uživatel) Časopis/((Jméno, Adresa, Vydavatel):Časopis) FOF/((Bool:Uživatel):Uživatel) Hodnocení/((Bool:Hvězdičky, Film):Uživatel) Nabízí_do/((Datum, Časopis):Uživatel) Data a znalosti & WIKT 2018, 11.-12.10. 12

Relační schéma funkcionálně (Relační) atributy A i :D j budou použity jako S i. S i jsou neprázdné množiny hodnot, S i S j pro i j. Pak relace jsou (Bool:S 1,,S n )-objekty. Příklad: relace Herci(Jméno, Název_f, Role) Filmy(Název_f, Natočen, Režisér, Žánr), tj., atributy Herci/(Bool:Jméno, Název_f, Role), Filmy/(Bool:Název_f, Natočen, Režisér, Žánr). Poznámka: primární klíče nejsou uvažovány. Data a znalosti & WIKT 2018, 11.-12.10. 13

Manipulace funkcí Jazyk (lambda) termů LT Konstanty a proměnné pro každý typ z T. Nechť typy R, S, R 1,..., R n (n 1) jsou z T. (1) Každá proměnná typu R is term typu R. (2) Každá konstanta typu R je term typu R. (3) Jestliže M je term typu (S:R 1,...,R n ), a N 1,...,N n jsou termy typů R 1,...,R n, pak M(N 1,...,N n ) je term typu S. /aplikace/ (4) Jestliže x 1,...,x n jsou různé proměnné typů R 1,...,R n a M je term typu S, pak λx 1,...,x n (M) je term typu (S:R 1,...,R n ). /lambda abstrakce/ (5) Jestliže N 1,...,N n jsou termy typů R 1,...,R n, pak (N 1,...,N n ) je term typu (R 1,...,R n ). /n-ticový/ (6) Jestliže M je term typu (R 1,...,R n ), pak M[1],...,M[n] jsou termy typů R 1,...,R n. /komponenty/ Data a znalosti & WIKT 2018, 11.-12.10. 14

Manipulace funkcí LT stručněji: (1) x proměnné (2) f konstanty (funkce) (3) M(N 1,...,N n ) aplikace (4) λx 1,...,x n (M lambda abstrakce (5) (N 1,...,N n ) n-tice (6) M[1],...,M[n] komponenty n-tice Data a znalosti & WIKT 2018, 11.-12.10. 15

Dotazování nad relacemi a atributovými grafy GDB: Najdi názvy filmů režírovaných Spielbergem", může být vyjádřen termem λ t ( m, r Film(m)(t, Spielberg, r) ) RDB: "Najdi herce, kteří hrají v každém filmu režiséra Spielberga" λ n (t ( re, g Filmy(t, re, Spielberg, g) implies ro Herci(n, t, ro))) Více syntaktického cukru : {t Název_f exists m Film Film(m FIlm )(t Název_f, Spielberg Režisér )} {n Jméno foreach t Název_f (Filmy(t Název_f, Spielberg Režisér ) implies Herci(n Jméno, t Název_f ))} Obecněji: eliminace některých existenčních kvantifikátorů a proměnných, explicitní typování proměnných a konstant, komponenty jménem: místo Film(Id4)[1] čtivěji Film(Id4).Název_f Data a znalosti & WIKT 2018, 11.-12.10. 16

Integrace relací a atributových grafů Tři způsoby integrace relačních a NoSQL databází: nativní, hybridní, a redukující se k jedné volbě (buď relační nebo NoSQL). Vyvíjejí se přístupy : polyglotní persistence, vícemodelový přístup, víceúrovňové modelování, konverze schématu a dat. Víceúrovňové modelování pokrývá následující přístupy: (a) speciální abstraktní model, (b) NoSQL-on-RDBMS, (c) integrace ontologií. Data a znalosti & WIKT 2018, 11.-12.10. 17

Integrace relací a atributových grafů Tři způsoby integrace relačních a NoSQL databází: nativní, hybridní, a redukující se k jedné volbě (buď relační nebo NoSQL). Vyvíjejí se přístupy: polyglot persistence, vícemodelový přístup, víceúrovňové modelování, konverze schématu a dat. Víceúrovňové modelování pokrývá následující přístupy: (a) speciální abstraktní model, (b) NoSQL-on-RDBMS, (c) integrace ontologií. relevantní zde relevantní zde Př.: Speciální abstraktní model NoAM (NoSQL abstraktní Model) (Bugiotti, et al, 2014). Data a znalosti & WIKT 2018, 11.-12.10. 18

Integrace relací a atributových grafů LT dotaz výsledky LT parser translátor optimalizátor JDBC API strom interní reprezentace strom operací plán vyhodnocení Virtualizuation Execution Engine virtualizační systém JDBC Driver JDBC Driver GDB API GDB Source SQL Source 19

Integrace relací a atributových grafů Problém: na datové úrovni jsou příslušné databáze většinou heterogenní: Elementární typ Název_f atributu Film nemá stejnou doménu jako dom(název_f) relace Filmy. Předpokládat můžeme pouze jejich neprázdný průnik. Pro integraci obou schémat můžeme použít přejmenování některých atributů a/nebo relací (zde Film vs. Filmy). Data a znalosti & WIKT 2018, 11.-12.10. 20

Integrace relací a atributových grafů Příklad dotazu nad integrovanou GDB a RDB: λ u Uživatel, g Žánr, n Number (n Number =COUNT Movie (λ m Film (Hodnocení(u Uživatel )(m Movie ) a ) t Název_f s Název_f Film(m Film ).t Název_f = s Název_f and Filmy(s Název_f, g Žánr ) ) ) vyjadřuje dotaz Najdi pro každého uživatele a žánr počet recenzí, které v tomto žánru udělal. Data a znalosti & WIKT 2018, 11.-12.10. 21

Závěry a náměty do budoucna Současné výzvy pro databázový výzkum této infrastruktury zahrnují: Nalezení vhodné a dostatečně silné podmnožiny LT pokrývající dotazovací požadavky na GDB integrovanou s RDB, vyvinout smysluplnou a užitečnou uživatelskou verzi dotazovacího jazyka založeného na LT, vyvinout prototype používající SQL engine a Neo4j GSŘBD pro zdrojové databáze. Data a znalosti & WIKT 2018, 11.-12.10. 22