Mediátor. Forrás leírás. Forrás fúzionálás/ Lekérdezés tervezés. Monitor. Végrehajtás. Válasz. Szolgáltatások. Web lapok. Strukturált adatok

Hasonló dokumentumok
Mediátor. Forrás leírás. Forrás fúzionálás/ Lekérdezés tervezés. Monitor. Végrehajtás. Válasz. Szolgáltatások. Web lapok. Strukturált adatok

Információ integráció (Szemantikus Web megközelítés a másik irányból) 5. Előadás

Információ integráció (GAV példa) 6. Előadás. Méréstechnika és Információs Rendszerek Tanszék

Micskei Zoltán Strausz György. Méréstechnika és Információs Rendszerek Tanszék.

Információ integráció (Datalog, Veder algoritmus, GAV példa) 6. Előadás

Tudásalapú információ integráció

SZEMANTIKUS WEB. Integrációs és ellenőrzési technikák VIMIAC04, tavasz

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

Információ integráció Szemantikus Web megközelítés Alkalmazások

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Név: Neptun kód: április

Név: Neptun kód: május 23. Komplex MI alkalmazások vizsga Rendelkezésre álló idő: 75 perc 1. Vizsgálja meg a következő RDF leírást:

Adatbázis, adatbázis-kezelő

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Microsoft SQL Server telepítése

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

Analitikus adatfeldolgozás. Adattárház Adatkocka Adatbányászat

Tranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Adatbázisrendszerek április 17.

Adatbázisok elmélete 9. előadás

Adatbázis rendszerek Definíciók:

1. Melyik szabvány foglalkozik dokumentumok tulajdonságainak megfogalmazásával? a. RDFS b. FOAF c. Dublin Core d. DBPedia

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Adatbázis kezelés Delphiben. SQL lekérdezések

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Vezetői információs rendszerek

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Adatbázisok elmélete 9. előadás

SAS szoftverek felhasználási lehetőségei a felsőoktatásban

ÜZLETI I TELLIGE CIA - VIZUALIZÁCIÓ

Csima Judit október 24.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Adatbázis rendszerek 7. előadás State of the art

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Multimédiás adatbázisok

MMK-Informatikai projekt ellenőr képzés 4

Adatbányászat és Perszonalizáció architektúra

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Adatbázismodellek. 1. ábra Hierarchikus modell

Többfelhasználós és internetes térkép kezelés, megjelenítés

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Relációs algebra lekérdezések optimalizációja. Adatbázisok használata

Adatbázis rendszerek. dr. Siki Zoltán

Sikerünk kulcsa: az információ De honnan lesz adatunk? Palaczk Péter

Adatbázisok elmélete 12. előadás

Adatmodellezés. 1. Fogalmi modell

Informatikai alapismeretek Földtudományi BSC számára

Adatbázisok elmélete 11. előadás

The nontrivial extraction of implicit, previously unknown, and potentially useful information from data.

Történet John Little (1970) (Management Science cikk)

Adatbázisok elmélete 10. előadás

Bevezetés: az SQL-be

Adatbázisok elmélete 12. előadás

Adatbányászat és Perszonalizáció az Oracle9i-ben

Csima Judit szeptember 6.

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Adatbázis rendszerek 7. Matematikai rendszer amely foglal magában:

Lekérdezések feldolgozása és optimalizálása

SSADM Dokumentáció Adatbázis Alapú Rendszerek

Csoportkezelés a szövetségben

Relációs algebra 1.rész alapok

Adatbázisok elmélete 9. előadás

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

Üzleti és Közszolgálati informatika szakirányok. Tanszék

Data Vault 2.0 és az Oracle DW/BD referencia architektúra. Gollnhofer Gábor Meta Consulting Kft.

Adatbázisok elmélete

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis Rendszerek

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

Objektum orientált programozás Bevezetés

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

XML alapú adatbázis-kezelés. (Katona Endre diái alapján)

Fekete Csaba Csongor Üzleti intelligencia vezető Citibank ZRt.

- Adat, információ, tudás definíciói, összefüggéseik reprezentációtípusok Részletesebben a téma az AI alapjai című tárgyban

Infor PM10 Üzleti intelligencia megoldás

Kővári Attila, BI projekt

Név: Neptun kód: május 26., VIMIAC04 Integrációs és ellenőrzési technikák vizsga Rendelkezésre álló idő: 90 perc

Lekérdezések optimalizálása

Üzleti intelligencia eszköztár a SAS 9.2 platformon

Diszkrét matematika 2. estis képzés

ADATBÁZIS-KEZELÉS. Relációs modell

Újfajta, automatikus, döntési fa alapú adatbányászati módszer idősorok osztályozására

A szak specializációi

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

Jogosultság-monitorozó rendszer kialakítása

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Átírás:

1

Szolgáltatások Forrás leírás Web lapok Strukturált adatok Forrás fúzionálás/ Lekérdezés tervezés Mediátor Szenzorok (soros adatok) Végrehajtás Monitor Válasz 2

Kis forrás szám melletti integráció Általában ad-hoc programozás: speciális eset megvalósítása minden esetre, sok konzultáció. Adattárházak: minden adat periódikus feltöltése az adattárházba. 6-18 hónap bevezetési idő Operációs és döntéstámogatási RDBMS elválasztás. (nem csak adatintegrációra megoldás). Teljesítmény jó, adat lehet, hogy nem friss;. Rendszeres adattisztítás szükséges. Lekérdezés Preferenciák/Eléérsi modell Forrás leírás Ontológiák, Forrás és szolgáltatás leírások Forrás fúzionálás Lekérdezés tervezés Számos cél együttese, Szolgáltatások kompozíciója, Forrás minőség, átfedés Információ menedzser Végrehajtás Kezel: forrás és hálózati kapcsolatokat, futtatási Válasz bizonytalanságokat, újratervezést Szolgáltatások Teszt Weblapok lekérdezések Strukturált adatok Szenzorok (soros adatok) Újratervezési kérések Forrás elérések Statisztikák frissítése Monitor Adat kinyerő programok Adatforrás Felhsználói OLAP / Döntéstámogtás/ lekérdezések Adatkockák/ Adatbányászat Relációs adatbázis (tárház) Adat tisztítás Adat- Adatforráforrás 11

Source Trust Ontologies; Source/Service Descriptions Probing Queries Services Webpages Structured data Virtuális integrációs séma Adatok a forrásokban maradnak Query Preference/Utility Preference/Utility Model Model Answers Source Fusion/ Query Planning Needs to handle: Multiple objectives, Service composition, Source quality & overlap Executor Needs to handle Source/network Interruptions, Runtime uncertainity, replanning Replanning Replanning Requests Requests Source Source Calls Calls Updating Updating Statistics Statistics Monitor Sensors (streaming Data) Lekérdezés végrehajtásakor: Releváns források meghatározása Lekérdezés szétválasztása forrásokra vonatkozó lekérdezésekre. Válaszok begyűjtése a forrásokból, és megfelelő kombinálása a válasz előállításához. Friss adatok A megoldás skálázható Mediátor: wrapper Adat forrás Felhasználói lekérdezés Fordító motor Optimalizáló Végrehajtó gép wrapper Adat forrás Mediált (globális) séma Adatforrás katalógus wrapper Adat forrás Garlic [IBM], Hermes[UMD];Tsimmis, InfoMaster[Stanford]; DISCO[INRIA]; Information Manifold [AT&T]; SIMS/Ariadne[USC];Emerac/Havasu[ASU] 13

Virtuális integrátor architektúra Source Trust Ontologies; Source/Service Descriptions Probing Queries Services Webpages Structured data Mediátor: Felhasználói lekérdezés Fordító motor Mediált (globális) séma Query Source Fusion/ Query Planning Needs to handle: Multiple objectives, Service composition, Source quality & overlap Executor Needs to handle Source/network Interruptions, Answers Runtime uncertainity, replanning Preference/Utility Preference/Utility Model Model Replanning Replanning Requests Requests Source Source Calls Calls Updating Updating Statistics Statistics Monitor Sensors (streaming Data) Optimalizáló Végrehajtó gép Adatforrás katalógus wrapper Adat forrás wrapper Adat forrás wrapper Adat forrás Források: relációs adatbázisok, weblapok, szövegek. 14

Forrás-mediátor relációs sémával szembeni elvárások Kifejező erő: hasonló adattartalommal rendelkező források megkülönböztetése, irreleváns források felismerése. Egyszerű bővíthetőség: tegyük könnyűvé források hozzáadását. Fordítás/átalakítás: felhasználói lekérdezés lefordítása forrásokon értelmezett lekérdezésekre hatékonyan és eredményesen. Vesztességmentesség: minden lehetséges adatelérés biztosítása Mediátor: wrapper Adat forrás Felhasználói lekérdezés Fordító motor Optimalizáló Végrehajtó gép wrapper Adat forrás Mediált (globális) séma Adatforrás katalógus wrapper Adat forrás Lekérdezés átalakítás Adott: Egy Q lekérdezés a mediátor sémára vonatkozóan Adat források leírása Létrehozandó: Egy Q lekérdezés az adat forrásokra vonatkozóan, amely: Q csak helyes válaszokat ad a Q lekérdezéshez és Q minden lehetséges választ megtalál Q-hoz az elérhető forrásokból. 15

Fordítási/átfogalmazási probléma Adott: Egy Q lekérdezés a mediátor sémára vonatkozóan Adat források leírása Létrehozandó: Egy Q lekérdezés az adat forrásokra vonatkozóan, amely: Q csak helyes válaszokat ad a Q lekérdezéshez és Q minden lehetséges választ megtalál Q-hoz az elérhető forrásokból. Mediátor: Felhasználói lekérdezés Fordító motor Optimalizáló Végrehajtó gép wrapper wrapper Adat Adat forrás forrás Mediált (globális) séma Adatforrás katalógus wrapper Adat forrás 16

Forrás és felhasználói sémák reláció leírásának megközelítései Globális mediált sémák(globalas-view, GAV): a mediált séma kifejezése a forrásokra vonatkozó nézetek relációjaként Lokális mediált sémák (Localas-view, LAV): forrás relációk kifejezése a mediált sémákon értelmezett relációkkal. Módszerek kombinációja? Nézet frissítés CREATE VIEW Seattle-view AS SELECT buyer, seller, product, store FROM Person, Purchase WHERE Person.city = Seattle AND Person.name = Purchase.buyer A nézet felhasználása: Virtual vs Materialized SELECT name, store FROM Seattle-view, Product WHERE Seattle-view.product = Product.name AND Product.category = shoes Hasonlítsuk össze őket egy film adatbázis lekérdezésénél! 17

Mintapélda Egy mediátor egy film adatbázishoz Információk szolgáltatása filmekről, illetve mozi programról 18

GAV példa Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Mediált séma kifejezése a forrásokra vonatkozó nézetek relációjaként. Create View Filmek AS select * from S1 [S1(cím, rendező, év, típus)] union select * from S2 [S2(cím, rendező, év, típus)] union [S3(cím,rendező), S4(cím,év,típus)] select S3.cím, S3.rendező, S4.év, S4.típus from S3, S4 where S3.cím=S4.cím A mediátor séma relációk virtuális nézetek a forrásrelációkon. 19

GAV: példa 2. Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Mediált séma kifejezése a forrásokra vonatkozó nézetek relációjaként. Create View Filmek AS select * from S1 [S1(cím,rendező,év)] select cím, rendező, év, NULL Null értékek használata from S1 megengedett union [S2(cím, rendező,típus)] select cím, rendező, NULL, típus from S2 20

GAV: példa 2. Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Forrás S4: S4(mozi, típus) Mediált séma kifejezése a forrásokra vonatkozó nézetek relációjaként. Create View Filmek AS select NULL, NULL, NULL, típus from S4 Create View Műsor AS select mozi, NULL, NULL from S4. De mit lehetne tenni, ha minket a vígjátékokat játszó mozik érdekelnének? 21

LAV példa Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Create Source S1 AS select * from Filmek Create Source S3 AS select cím, rendező from Filmek Create Source S5 AS select cím, rendező, év from Filmek S1(cím, rendező, év, típus) S3(cím, rendező) Forrás séma kifejezése a mediált nézeteken értelmezett relációkként. S5(cím, rendező, év), év >1960 where év > 1960 AND típus= vígjáték A források materializált nézetek a mediált sémák felett. 22

LAV: példa 1 Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Forrás séma kifejezése a mediált nézeteken értelmezett relációkként. Create Source S4 AS select mozi, típus from Filmek m, Műsor s where m.cím=s.cím Van remény a vígjátékokat játszó mozik felderítésére! S4(Mozi,Típus) 23

GAV vs. LAV Mediált séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Forrás S4: S4(mozi, típus) Create View Filmek AS select NULL, NULL, NULL, típus from S4 Create View Műsor AS select mozi, NULL, NULL from S4. De mit lehetne tenni, ha minket a vígjátékokat játszó mozik érdekelnének? Create Source S4 AS select mozi, típus from Filmek m, Műsor s where m.cím=s.cím Veszteséges mediáció! 24

GAV vs. LAV Nem moduláris Források hozzáadása módosítja a meglévő mediált séma definícióját Nehézkes lehet veszteségmentes mediátort készíteni. Lekérdezés átalakítás egyszerű Nézetek kibontását jelenti (polinomiális) Hierarchikus mediátor sémák létrehozása lehetséges Hatékony, ha Kis számú, ritkán változó adatforrás van Feladat teljesen ismert a mediátor tervezésekor (pl. vállalati adatintegráció) Garlic, TSIMMIS, HERMES Moduláris új forrás hozzáadása egyszerű Igen rugalmas a lekérdező nyelv közvetlenül alkalmazható a források leírására Lekérdezés átalakítás bonyolult Válaszokat a nézeteken keresztül kell előállítani (nem mindig megoldható) Hatékony, ha Sok, kevéssé korrelált forrás Források dinamikus hozzáadása és törlése Information Manifold, InfoMaster, Emerac, Havasu 25

Lokális mediált nézetek átalakítása Adott nézetek egy halmaza V1,,Vn, és egy Q lekérdezés. Megválaszolható-e a Q lekérdezés a V1,,Vn nézetek felhasználásával? A lekérdezéseket materializált nézeteken futtatjuk végül! Megközelítések Veder algoritmus (Bucket algorithm [Levy; 96]) Inverz szabályok algoritmusa [Duschka, 99] Hibrid algoritmusok SV-Bucket [2001], MiniCon [2001] 26

Lekérdezés átalakítás (LAV) Lekérdezés: Találjuk meg az összes évet, amikor Zhang Yimou filmet készített Select year from movie M Nem végrehajtható! where M.dir= yimou Q(y) :- movie(t,d,y,g),d= yimou Q(y) :- S1(T,D,Y,G), D=yimou (1) Q(y) :- S1(T,D,Y,G), D=yimou Q(y) :- S5(T,D,Y), D=yimou (2) Mediált/felhasználói séma: Filmek(cím, rendező, év, típus), Műsor(mozi, cím, idő). Create Source S1 AS select * from Filmek Create Source S3 AS select cím, rendező from Filmek Create Source S5 AS select cím, rendező, év from Filmek where év > 1960 AND genre= vígjáték A források materializált nézetek a mediált sémák felett. Melyik a legjobb terv? Valójában mit keresünk? - ekvivalenciát? - tartalmazást? Cél: Maximális tartalmazás, legegyszerűbb terv 27

Maximális tartalmazás Lekérdezési tervnek helyesnek és teljesnek kell lennie: Helyes akkor, ha az új tervet tartalmazza az eredeti lekérdezés (Például minden n-es válasz az eredeti lekérdezésben is megtalálható Teljesség? Eredeti adatbázis megközelítés teljességre törekszik Teljesség nem minden esetben biztosítható: cél a maximális tartalmazás 28

Tartalmazás (lekérdezések) LegyenQ 1 (.) :- B 1 (.) Q 2 (.) :- B 2 (.) Q 1 Q 2 ( tartalmaz ) ha a Q 1-re kapott válasz részhalmaza a Q 2 -re kapott válasznak minden adatbázis esetében: Igaz, ha B 1 (x) = B 2 (x) Ha adott egy Q lekérdezés, és egy Q 1, válasz lekérdezési terv, akkor: Q 1 helyes lekérdezési terv ha Q 1 t tartalmazza Q Q 1 teljes lekérdezési terv, ha Q-t tartalmazza Q 1 Q 1 egy maximálisan tartalmazó lekérdezési terv, ha nem létezik olyan Q 2 amelyik helyes és olyan, hogy Q 1, -t tartalmazza Q 2 29

Átalakítási algoritmusok Q(.) :- V1() & V2() Veder algoritmus S11 S12 S00 V1 S21 S22 S00 V2 Veder algoritmus Vedrek kombinációjából előállított terv Utána tartalmazási ellenőrzés S11() :- V1() S12 :- V1() S21() :- V2() S22 :- V2() S00() :- V1(), V2() Inverz szabályok Q(.) :- V1() & V2() Inverz szabályok Rész lekérdezések tervezés V1() :- S11() V1() :- S12() V1() :- S00() V2() :- S21() V2() :- S22() V2() :- S00()

Inverz szabályok módszere példa Mediált (saját) nézetek: Önlab(hallgató, tanszék), Tárgyfelvétel(hallgató, kurzus). V1 távoli adatforrás, amelyet nézetként definiálunk a mi mediált nézeteink felett: V1(tanszék, kurzus) :- Önlab(hallgató,tanszék), Tárgyfelvétel(hallgató, kurzus) Létrehozzunk egy inverz szabályt a nézet minden egyes konjunktjára: Önlab( f1(tanszék, Z K),tanszék) :- V1(tanszék, K) Tárgyfelvétel( f1(t, Z kurzus), kurzus) :- V1( T, kurzus) (Minden egyes ) Z ismeretlenhez, amely több kifejezésben is szerepel, hozzunk létre egy funkcionális kifejezést: pl. f1(tanszék, hallgató)

Inverz szabályok módszere példa Mediált (saját) nézetek: Önlab(hallgató, tanszék), Tárgyfelvétel(hallgató, kurzus). V1 távoli adatforrás, amelyet nézetként definiálunk a mi mediált nézeteink felett: V1(tanszék, kurzus) :- Önlab(hallgató,tanszék), Tárgyfelvétel(hallgató, kurzus) Létrehozzunk egy inverz szabályt a nézet minden egyes konjunktjára: Önlab( f1(tanszék, Z K),tanszék) :- V1(tanszék, K) Tárgyfelvétel( f1(t, Z kurzus), kurzus) :- V1( T, kurzus) Lekérdezés: q(tanszék) :- Önlab(H,tanszék), Tárgyfelvétel(H, Adatbázisok ) V1 tartalmazza a következő ketteseket: (TMIT, Adatbázsiok"),(MIT, Adatbázisok ),(MIT, Mesterséges intelligencia")

Inverz szabályok módszere példa Önlab( f1(tanszék, Z K),tanszék) :- V1(tanszék, K) Tárgyfelvétel( f1(t, Z kurzus), kurzus) :- V1( T, kurzus) Lekérdezés: q(tanszék) :- Önlab(H,tanszék), Tárgyfelvétel(H, Adatbázisok ) V1 tartalmazza a következő ketteseket: < (TMIT, Adatbázsiok"), (MIT, Adatbázisok ), (MIT, Mesterséges intelligencia") Eredmény: Önlab : < (f1(tmit, Adatbázisok"), TMIT), (f1(mit, Adatbázisok"), MIT), (f1(mit, Mesterséges intelligencia"), MIT) > Tárgyfelvétel : < (f1(tmit, Adatbázisok"), Adatbázisok"), (f1(mit, Adatbázisok"), Adatbázisok"), (f1(mit, Mesterséges intelligencia"), Mesterséges intelligencia") > Válasz: TMIT, MIT

Forrás elérés korlátok A források nem feltétlenül relációs adatbázisok Jogosultsági korlátok Korlátos elérési minták (Pl. telefonkönyv lekérdezése) Korlátos kiszolgáló erőforrás (Csak attribútumokon értelmezett szűrésen keresztül érhetőek el adatok.) Elérési korlátozások egy lehetséges modellezése, változók indexelése: - b: kötelezően megadandó keresési attribútum - f: szabadon elérhető attribútum 35

Elérési korlátok figyelembe vétele rekurzív lekérdezések Create Source S1 as select * from Hivatkozások adott cikkhez Create Source S2 as select cikk from ASU-Cikkek Create Source S3 as select cikk from DíjazottCikkek adott cikkhez Query: select * from DijazottCikkek S1 bf (p1,p2) :- Hivatkozások(p1,p2) S2(p) :- Asu-C(p) S3 b (p) :- DíjC(p) Rekurzív terv Q(p) :- DíjC(p) Díjc(p) : -ÖsszC(p), S3 b (p) Asu-C(p) :- S2(p) Hivatkozások(p1,p2) :- ÖsszC(p2), S1 bf (p1,p2) ÖsszC(p) :- S2(p) ÖsszC(p) :- ÖsszC(p1), S1(p1,p)

Veder algoritmus A Q lekérdezés minden részcélját lefedjük releváns nézetekkel, Készítünk egy listát (veder) azokból a nézetekből, amelyek adhatnak eredményt az adott részcélhoz, Megvizsgáljuk a vedrekben listázott nézetek kombinációját, Nem feltétlenül minden kombináció megfelelő, Megtartjuk a megfelelő nézetek kombinációit és minimalizáljuk a megoldást, Elhagyjuk a redundáns lekérdezéseket, A megoldás a megmaradó lekérdezések uniója

Veder algoritmus példa Mediált (saját) nézetek: reg(std,crs,qtr), course(crs,title), teaches(prof,crs,qtr) V1, V2, V3, V4 távoli adatforrások, amelyeket nézetként definiálunk a mi mediált nézeteink felett: V1(Std,Crs,Qtr,Title) :- reg(std,crs,qtr), course(crs,title), Crs 500, Qtr Aut98 V2(Std,Prof,Crs,Qtr) :- reg(std,crs,qtr), teaches(prof,crs,qtr) V3(Std,Crs) :- reg(std,crs,qtr), Qtr Aut94 V4(Prof,Crs,Title,Qtr) :- reg(std,crs,qtr), course(crs,title), teaches(prof,crs,qtr), Qtr Aut97 q(s,c,p) :- teaches(p,c,q), reg(s,c,q), course(c,t), C 300, Q Aut95 1. lépés: Minden részcélhoz összegyűjtjük a releváns nézeteket

Veder algoritmus példa V1(Std,Crs,Qtr,Title) :- reg(std,crs,qtr), course(crs,title), Crs 500, Qtr Aut98 V2(Std,Prof,Crs,Qtr) :- reg(std,crs,qtr), teaches(prof,crs,qtr) V3(Std,Crs) :- reg(std,crs,qtr), Qtr Aut94 V4(Prof,Crs,Title,Qtr) :- reg(std,crs,qtr), course(crs,title), teaches(prof,crs,qtr), Qtr Aut97 q(s,c,p) :- teaches(p,c,q), reg(s,c,q), course(c,t), C 300, Q Aut95 P Prof, C Crs, Q Qtr Megjegyzés: Itt az aritmetikai predikátumok nem okoznak problémát V2 V4 Buckets teaches reg course

Veder algoritmus példa V1(Std,Crs,Qtr,Title) :- reg(std,crs,qtr), course(crs,title), Crs 500, Qtr Aut98 V2(Std,Prof,Crs,Qtr) :- reg(std,crs,qtr), teaches(prof,crs,qtr) V3(Std,Crs) :- reg(std,crs,qtr), Qtr Aut94 V4(Prof,Crs,Title,Qtr) :- reg(std,crs,qtr), course(crs,title), teaches(prof,crs,qtr), Qtr Aut97 q(s,c,p) :- teaches(p,c,q), reg(s,c,q), course(c,t), C 300, Q Aut95 Buckets teaches reg course V2 V1 S Std, C Crs, Q Qtr V4 V2 Megjegyzés: V3 nem ad megoldást, az aritmetikai predikátumok nem kielégíthetőek V4 nem ad megoldást: S nem szerepel a V4 kimenetében

Veder algoritmus példa V1(Std,Crs,Qtr,Title) :- reg(std,crs,qtr), course(crs,title), Crs 500, Qtr Aut98 V2(Std,Prof,Crs,Qtr) :- reg(std,crs,qtr), teaches(prof,crs,qtr) V3(Std,Crs) :- reg(std,crs,qtr), Qtr Aut94 V4(Prof,Crs,Title,Qtr) :- reg(std,crs,qtr), course(crs,title), teaches(prof,crs,qtr), Qtr Aut97 q(s,c,p) :- teaches(p,c,q), reg(s,c,q), course(c,t), C Crs, T Title C 300, Q Aut95 V2 V4 Buckets teaches reg course V1 V2 V1 V4

Veder algoritmus példa 2. lépés: Nézetek összes kombinációját figyelembe kell venni, minden vederből egy elemet véve Aritmetikai predikátumok ellenőrzése a kombinációra Például két nézet lehet átfedő vagy inkonzisztens Eredmény átírás= a megmaradók uniója Lekérdezés átírás1: teaches reg course V2 V4 V1 V2 V1 V4 q1(s,c,p) :- V2(S,P,C,Q), V1(S,C,Q,T ), V1(S,C,Q,T) Nincs probléma az aritmetikai predikátumokkal(nincs a V2-ben) Minimális-e a megoldás

Veder algoritmus példa Átírás kibontása 1: q1 (S,C,P) :- r(s,c,q), t(p,c,q), r(s,c,q), c(c,t ), r(s,c,q ), c(c,t), C 500, Q Aut98, C 500, Q Aut98 Fekete r-ek leképezhetőek a zöld r-ekre: S S, S S, Q Q Fekete c leképezhető a zöld c-re: leképezés kibővíthető: T T Minimális kibontása az átírásnak1: q1m (S,C,P) :- t(p,c,q), r(s,c,q), c(c,t ), C 500, Q Aut98 Minimális átírás 1: q1m(s,c,p) :- V2(S,P,C,Q), V1(S,C,Q,T )

Veder algoritmus példa Lekérdezés átírás 2: teaches reg course V2 V4 V1 V2 V1 V4 q2(s,c,p) :- V2(S,P,C,Q), V1(S,C,Q,T ), V4(P,C,T,Q ) q2 (S,C,P) :- r(s,c,q), t(p,c,q), r(s,c,q), r(s,c,q), c(c,t ), C 500, Q Aut98, r(s,c,q ), c(c,t), t(p,c,q ), Q Aut97 A kombináció nem kielégíthető: Nézzük meg V1 és V4 kombinációját Lekérdezés átírás 3: teaches reg course V2 V4 V1 V2 V1 V4 q3(s,c,p) :- V2(S,P,C,Q), V2(S,P,C,Q), V4(P,C,T,Q )

Veder algoritmus példa Lekérdezés átírás kibontása 3: q3 (S,C,P) :- r(s,c,q), t(p,c,q), r(s,c,q), t(p,c,q), r(s,c,q ), c(c,t), t(p,c,q ), Q Aut97 A zöld részcélok lefedhetőek a feketékkel a következő megfeleltetésekkel: S S, S S, P P, P P, Q Q Minimális átírás3: q3m(s,c,p) :- V2(S,P,C,Q), V4(P,C,T,Q) Tehát két átírás maradt. Maximális tartalmazó átírás: q = q1m q3m

Veder algoritmus példa Lekérdezés: q(x) :- cites(x,y), cites(y,x), sametopic(x,y) Nézetek (adatforrások): V4(A) :- cites(a,b), cites(b,a) V5(C,D) :- sametopic(c,d) V6(F,H) :- cites(f,g), cites(g,h), sametopic(f,g) V4 Buckets cites cites sametopic V6 V4 V6 V5 V6 Megjegyzés: V4-et kétszer szerepeltetni a vedrekben?