DataGuide w półstrukturalnych bazach danych



Podobne dokumenty
Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Przegląd języków zapytań

Grafowy model bazy danych na przykładzie GOOD

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Programowanie obiektowe

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Neo4J. Warsztat z grafowej bazy danych Neo4J. Warsztaty: do zdobycia 20 pkt.

Spis treści. Przedmowa

*Grafomania z. Neo4j. Praktyczne wprowadzenie do grafowej bazy danych.

Transformacja wiedzy w budowie i eksploatacji maszyn

Wykład XII. optymalizacja w relacyjnych bazach danych

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

RELACYJNE BAZY DANYCH

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Wykład I. Wprowadzenie do baz danych

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Obiektowe bazy danych

Digraf. 13 maja 2017

Indukowane Reguły Decyzyjne I. Wykład 3

W. Krysicki, L.Włodarski, Analiza matematyczna w zadaniach cz. 1 i cz. 2. Pomocnicze symbole. Spójniki logiczne: Symbole kwantyfikatorów:

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM, regulski@metal.agh.edu.pl

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Spacery losowe generowanie realizacji procesu losowego

Optymalizacja w relacyjnych bazach danych - wybór wydajnej strategii obliczania wyrażenia relacyjnego.

Model semistrukturalny

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Oracle PL/SQL. Paweł Rajba.

Wstęp do relacyjnych baz danych. Jan Bartoszek

Scenariusz lekcji. scharakteryzować elementy bazy danych; opisać sposób zaprojektowania bazy danych;

Wprowadzenie do baz danych

Logika Temporalna i Automaty Czasowe

Temat : SBQL 1 obiektowy język zapytań.

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

PRZEWODNIK PO PRZEDMIOCIE

Elementy modelowania matematycznego

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Spis tre±ci. 1 Wst p Zawarto± rozdziaªów Projekt LoXiM... 2

LINQ TO SQL w dużym skrócie jest to zintegrowany język zapytao pozwalający na mapowanie relacyjnych baz danych na model obiektowy.

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Minimalne drzewa rozpinające

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Teoretyczne podstawy informatyki

Graf. Definicja marca / 1

Monitoring procesów z wykorzystaniem systemu ADONIS

Semantyczne Wiki na przykładzie Semantic MediaWiki

Matematyka dyskretna - 7.Drzewa

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych

Semantyczne Wiki! na przykładzie! Semantic MediaWiki!

PRZEWODNIK PO PRZEDMIOCIE

Schemat programowania dynamicznego (ang. dynamic programming)

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Zapytania i wstawianie etykiet z bazy danych do rysunku

Projektowanie baz danych

Przekształcenia liniowe

Nauczanie na odległość

Rozszerzenie funkcjonalności systemów wiki w oparciu o wtyczki i Prolog

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Bazy danych. dr inż. Andrzej Macioł

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Oracle11g: Wprowadzenie do SQL

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Czym jest baza danych?

Funkcja wykładnicza kilka dopowiedzeń

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Programowanie obiektowe

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Definicja obiektowego modelu danych: struktura i zachowanie

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Technologia informacyjna

Specjalizacja magisterska Bazy danych

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

SBQL. język zapytań dla obiektowych baz danych. Kamil Adamczyk. Uniwersytet Warszawski 20.IV.2009

Wyrażenia regularne.

Algorytmiczna teoria grafów

Schematy logiczne dla hurtowni danych

Optymalizacja poleceń SQL Wprowadzenie

PHP: bazy danych, SQL, AJAX i JSON

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Implementacja schematów i statycznej kontroli typów w systemie JLoXiM

Teoretyczne podstawy informatyki

3 Abstrakcyjne kompleksy symplicjalne.

Bazy danych Algebra relacji Wykład dla studentów matematyki

Transkrypt:

DataGuide p. 1/1 DataGuide w półstrukturalnych bazach danych Marcin Jakubek

DataGuide p. 2/1 Plan prezentacji Schemat a dane Kilka słów o Lore DataGuide Silny" DataGuide DataGuide a interakcja z użytkownikiem DG i optymalizacja zapytań Podsumowanie

DataGuide p. 3/1 Schemat a dane Model ze struktura (np. relacyjny)

DataGuide p. 3/1 Schemat a dane Model pół"-strukturalny

DataGuide p. 3/1 Schemat a dane Po co nam schemat danych? dla użytkownika: informacja, co i gdzie jest w bazie, formułowanie zapytań dla SZBD: optymalizacja zapytań

DataGuide p. 3/1 Schemat a dane DataGuide - przewodnik po danych"

DataGuide p. 4/1 Lore - półstrukturalna BD Lore - Light Object REpository http://infolab.stanford.edu/lore/ Model danych OEM Język zapytań Lorel

DataGuide p. 4/1 Lore - półstrukturalna BD Model danych OEM - Object Exchange Model - to graf skierowany złożony z: obiektów (z oid): 1. atomowych 2. złożonych 3. nazwanego obiektu korzeniowego etykietowanych krawędzi

DataGuide p. 4/1 Lore - półstrukturalna BD Przykładowy egzemplarz bazy Lore:

DataGuide p. 4/1 Lore - półstrukturalna BD Przykładowy egzemplarz bazy Lore:

DataGuide p. 4/1 Lore - półstrukturalna BD Język zapytań Lorel - Lore language półstrukturalne" rozszerzenie Object Query Language zapytania ścieżkowe, np.: Select DBGroup.Member.Office where DBGroup.Member.Name = Smith" możliwa opcjonalność, np.: select DBGroup.Member.Project where DBGroup.Member.#.(Office Room) like %252 zmienne ścieżkowe, etykietowe, kwantyfikatory, agregacja...

DataGuide p. 5/1 DataGuide DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases (1997) Roy Goldman, Jennifer Widom

DataGuide p. 5/1 DataGuide Def. 1. Ścieżka etykiet (label path) dla obiektu o to skończony ciag etykiet l 1.l 2...l n takich, że z obiektu o możemy przejść ścieżkę n krawędzi (e 1...e n ), gdzie krawędź e i ma etykietę l i. np.: Office.Room dla obiektu 3 Member.Project.Member.Project dla obiektu 5.

DataGuide p. 5/1 DataGuide Def. 2. Ścieżka danych (data path) dla obiektu o to naprzemienny ciag etykiet i oid ów l 1.o 1.l 2.o 2...l n.o n taki, że z obiektu o możemy przejść ścieżkę n krawędzi (e 1...e n ) poprzez n obiektów (x 1...x n ) gdzie krawędź e i ma etykietę l i a obiekt x i oid o i. np.: Member.2.Name.7 dla obiektu 1 Office.14.Room.20 dla obiektu 4.

DataGuide p. 5/1 DataGuide Def. 3. Ścieżka danych d jest egzemplarzem ścieżki etykiet l jeśli ciag etykiet w d jest taki sam jak w l. np.: Member.2.Name.7 dla Member.Name Office.14.Room.20 dla Office.Room.

DataGuide p. 5/1 DataGuide Def. 4. W bazie s, zbiorem celów (target set) nazywamy zbiór t oid ów taki, że istnieje ścieżka etykiet l w s, dla której t = {o l 1.o 1...l n.o jest egzemplarzem ścieżki l}. Tzn. t jest zbiorem wszystkich obiektów, które moga być osiagnięte przez przechodzenie ścieżki l w bazie s. Oznaczenie: t = T s (l). Wówczas mówimy, że poprzez ścieżkę l osiagamy każdy element zbioru t oraz że każdy element t jest osiagalny ścieżka l. np.: {5, 6} jest zbiorem celów zarówno dla Member.Project i Project.Member.Project.

DataGuide p. 5/1 DataGuide Def. 5. DataGuide dla bazy źródłowej s to obiekt OEM d taki, że każda ścieżka etykiet w s ma dokładnie jeden egzemplarz (ścieżkę danych) w d oraz każda ścieżka etykiet w d jest ścieżka etykiet w s. Wniosek 1. Każdy zbiór celów w DataGuide jest singletonem.

DataGuide - przykład DataGuide p. 6/1

DataGuide - przykład DataGuide p. 6/1

Wielokrotne DataGuide DataGuide p. 7/1

DataGuide p. 7/1 Wielokrotne DataGuide Dlaczego większy" DataGuide jest lepszy"? 1. Łatwiejsza aktualizacja 2. Możliwość przechowywania adnotacji"

DataGuide p. 7/1 Wielokrotne DataGuide Def. 6. W bazie s, dla danej ścieżki etykiet l, własność zbioru obiektów tworzacego zbiór celów ścieżki etykiet l w s nazywamy adnotacja (annotation) ścieżki l. Tzn. adnotacja ścieżki etykiet jest pewna charakterystyka zbioru osiagalnego w bazie przez tę ścieżkę. np.: przykładowe dane osiagalne przez ścieżkę statystyki ścieżek wychodzacych z obiektów w zbiorze celów ścieżki link do wszystkich obiektów w bazie osiagalnych przez ścieżkę

DataGuide p. 8/1 Strong DataGuide Kiedy adnotacje do zbiorów bazy moga być przechowywane w obiektach w DataGuide? Wtedy, gdy każdy zbiór ścieżek etykiet, które maja ten sam zbiór (singleton) celów w DataGuide, to zbiór ścieżek, które maja ten sam zbiór celów w bazie źródłowej.

DataGuide p. 8/1 Strong DataGuide Def. 7. Niech d będzie obiektem DataGuide dla bazy s. Dla ścieżki l w s, niech T s (l) będzie zbiorem celów l w s, a T d (l) zbiorem (singletonem) celów l w d. Niech L s (l) = {m T s (m) = T s (l)}, tzn. L s (l) jest zbiorem wszystkich ścieżek etykiet w s, które maja ten sam zbiór celów w s co l. Podobnie, niech L d (l) = {m T d (m) = T d (l)}, tzn. L d (l) jest zbiorem wszystkich ścieżek etykiet w d, które maja ten sam zbiór (singleton) celów w d co l. Jeśli dla każdej ścieżki etykiet l w s L s (l) = L d (l), to d nazywamy silnym (strong) DataGuide dla bazy s.

Strong DataGuide DataGuide p. 8/1

DataGuide p. 8/1 Strong DataGuide Tw. 1. Niech d będzie Strong DataGuide dla bazy s. Jeśli adnotacja p pewnej ścieżki etykiet jest przechowywana w obiekcie o osiagalnym przez l w d, to p opisuje zbiór celów w s każdej ścieżki etykiet (w s), która osiaga o w d. Tw. 2. Niech d będzie Strong DataGuide dla s. Każdy zbiór celów t w s jest z definicji zbiorem celów pewnej ścieżki etykiet l. Niech F będzie przyporzadkowaniem l T d (l) - czyli singletonu w d. Wówczas F wprowadza odpowiedniość 1 1 między zbiorami celów w bazie s a obiektami (singletonami) w DataGuide d.

DataGuide p. 8/1 Strong DataGuide Zalety Strong DataGuide: odpowiedniość 1-1 między zbiorami celów ścieżek w bazie a obiektami w DataGuide łatwa rozbudowa dla drzewiastych baz czas budowy liniowy od rozmiaru bazy Wady (dla baz z cyklami): nawet wykładniczy czas budowy Strong DataGuide może być nawet wykładniczo większy od bazy

DataGuide p. 9/1 DataGuide dla użytkownika DataGuide - zwięzłe, aktualne podsumowanie" struktury bazy do zastosowania w GUI:

DataGuide p. 9/1 DataGuide dla użytkownika oraz przy formułowaniu zapytań:

DataGuide p. 10/1 DataGuide dla SZDB W Strong DataGuide obiekty moga przechowywać linki do zbiorów celów osiagalnych w źródłowej bazie przez dane ścieżki etykiet:

DataGuide p. 10/1 DataGuide dla SZDB Przykład dla bazy Stanford DBGroup: Select DBGroup.Member.Publication.Troff Założenia.: 10 000 DBGroup.Member, średnio po 100 publikacji, 1 publikacja typu Troff Bez DataGuide - 1 000 000 obiektów do przejrzenia. Z DataGuide - 6 obiektów: korzeń DataGuide DBGroup Member Publication Troff link do obiektu w bazie

DataGuide p. 11/1 Podsumowanie DataGuide - schemat generowany z danych": daje poglad na strukturę danych (GUI, zapytania) szybki dostęp do obiektów osiagalnych przez dane ścieżki (optymalizacja) szybka weryfikacja istnienia ścieżki dla zacyklonych baz danych - nawet wykładnicza budowa względem rozmiarów źródłowej bazy

Dziękuję za uwagę! DataGuide p. 12/1