1 / 27

Dane semistrukturalne

Dane semistrukturalne. Remigiusz Siudziński na podstawie: S.Abiteboul, P.Buneman, D,Suciu “Dane w sieci www”. Agenda. Kultura i architektura baz danych i Sieci Podstawy składni Typy podstawowe Reprezentacja baz relacyjnych i obiektowych Specyfikacja składni OEM, ODMG, ACeDB

vian
Download Presentation

Dane semistrukturalne

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dane semistrukturalne Remigiusz Siudziński na podstawie: S.Abiteboul, P.Buneman, D,Suciu “Dane w sieci www”

  2. Agenda • Kultura i architektura baz danych i Sieci • Podstawy składni • Typy podstawowe • Reprezentacja baz relacyjnych i obiektowych • Specyfikacja składni • OEM, ODMG, ACeDB • Terminologia dla grafów • Bibliografia

  3. Wstęp, czyli motywator • Rozwój Sieci • Sieć jako źródło skomplikowanej informacji • Czytelność a strukturyzacja • Problemy: • pobieranie • weryfikowanie • zarządzanie zmianami • efektywne wykonywanie zapytań • Rozwiązania: • hurtownie danych i systemy mediacyjne • Punkty widzenia dokumentu i bazy danych

  4. Kultura baz danych • Relacje • Zależności • Języki zapytań • Mechanizmy kontroli spójności • Abstrakcyjny model na służbie użytkownika • Fizyczna reprezentacja ku lepszej wydajności

  5. Kultura Sieci • Prosty uniwersalny standard wymiany informacji • plik identyfikowany i udostępniany przez URL • Uniform Resource Locator • możliwość powtórnego użycia link’u • HTML (Hypertext Markup Language) • formatowanie • hiperłącza

  6. Architektura baz danych a architektura aplikacji sieciowej • Architektura klient - serwer • zapytanie -> przesłanie -> obliczenie -> odpowiedź • Podejście wielopowłokowe • źródła danych, czyli serwery • warstwa kliencka • wiele warstw pośrednich middleware • transformacje • integracje • wzbogacanie • przykłady • data warehouse • mediator system, czyli tłumaczenie zapytań

  7. Trzy poziomy abstrakcji w reprezentacji danych • Poziom fizyczny • jak dane są przechowywane • urządzenia fizyczne • sposoby indeksowania • Poziom logiczny • model • poprawność kwerend • dostęp do danych • Poziom zewnętrzny • widoki • interfejsy • Sieć - brak rozróżnienia w podejściu hipertekstowym

  8. Cechy i zbliżenie obu podejść Sieć • ogólnoświatowy zasięg • standardy wymiany dokumntów • format prezentacji - HTML • dobre interfejsy użytkownika • nowy format XML do wymiany danych semistrukturalnych Bazy danych • reprezentacja i język zapytań wspierające dostęp do dużych ilości strukturalnych informacji • modele danych • integralność i spójność • nowy model danych semistrukturalnych (rozluźnienie struktur)

  9. Niejednorodność danych • Ujednolicanie heterogenicznych struktur • różnice na poziomie myślowym • róznice na poziomie logicznym • Przykłady kompromisów na poziomie logicznym • XML • NetCDF - wielowymiarowe tablice i relacyjne bazy • ASN.1 - mediacja między warstwami sieci, dane bibliograficzne i genetyczne • ACeBD - dane genetyczne prostego zwierzaka, bliskość modelu semistrukturalnego • Systemy bazodanowe a zapis w pliku tekstowym

  10. Podstawy składni - przedstawienie graficzne osoba osoba nazwa osoba telefon email email nazwa telefon wzrost rs@onet.pl “Remigiusz” nazwa “x@qwe.rty” 234888999 email “Ausustyn” 177 507482677 telefon “kn@wp.pl” 234777878 imię nazwisko “Klaudiusz” “Nowak”

  11. Podstawy składni • W Lisp’ie wygląda to tak... { osoba: { nazwa: “Remigiusz”, telefon: 507482677, email: “x@qwe.rty”, email: “rs@onet.pl”}, osoba: {nazwa: {imię: “Klaudiusz”, nazwisko: “Nowak”}, telefon: 234777878, email: “kn@wp.pl” } osoba: {nazwa: “Ausustyn”, telefon: 234888999, wzrost: 177} } • pary nazwa - wartość • powtarzanie nazw • rózne typy dla tych samych nazw • brakujące dane • samoopisywanie • serializacja

  12. Typy podstawowe • Liczby • Ciągi znaków • Nazwy • Rozpoznawanie na podstawie składni • Inne typy wyznaczone przez ustaloną notację • data: “11 maja 1999” • czas: “11:11:11” • gif: “:MITE&.#.....”

  13. Reprezentacja baz relacyjnych • Schemat relacji • R1 (k1,k2,k3), R2 (k3,k4) • Typy kolumn • Instancje relacji jako wiersze tabel nazwa kolumny relacja R1: k1 k2 k3 a b c d e f R2: k3 k4 x y

  14. Reprezentacja baz relacyjnych {R1: {row: {k1: a, k2: b, k3: c}, row: {k1: d, k2: e, k3: f} }, R2: {row: {k3: x, k4: y} } } R2 R1 row row row k1 k2 k3 k1 k2 k3 k3 k4 a b c d e f x y

  15. Reprezentacja bazy obiektowej osoba osoba osoba dziecko matka &o2 &o3 &o1 dziecko imię wiek kraj wiek imię imię pokrewieństwo “Janek” 13 “Maria” 44 “Jola” “Polska” matka siostra

  16. Reprezentacja bazy obiektowej {osoba: &o1 {imię: “Maria”, wiek: 44, dziecko: &o2, dziecko: &o3 }, osoba: &o2 {imię: “Janek”, wiek: 13, pokrewieństwo: {matka: &o1, siostra: &o3} }, osoba: &o3 {imię: “Jola”, kraj: “Polska”, matka: &o1 } }

  17. Reprezentacja bazy obiektowej &o1 Oidy = identyfikatory obiektu a nazwa &o2 wartość 33

  18. Dane semistrukturalne - specyfikacja składni • Ssd-wyrażenia: <ssd-wyrażenie> ::= <wartość> | oid<wartość> | oid <wartość> ::= typ prosty | <typ złożony> <typ złożony> ::= {nazwa: <ssd-wyrażenie>,...,nazwa: <ssd-wurażenie>} • definicja oida: • oid <wartość> • {l1: e1,..., lk: oid <wartość>,..., en: ln} • ... • użycie oida • wystąpienie w innej formie, np. ojciec: {imię: “Jan”, syn: oid} • poprawność • każdy oid zdefiniowany dokładnie raz • użycie poprzedzone definicją

  19. OEM - model wymiany obiektów • Wymiana danych między aplikacjami • Cztery elementy • nazwa • oid • typ (prosty lub złożony) • wartość (... lub zbiór identyfikatorów obiektów) • Interpretacja graficzna - graf • nazwy przypisane wierzchołkom

  20. ODMG - obiektowy model danych class Stan {extent stany} { attribute string kod-stanu; attribute string nazwa-stanu; attribute Miasto stolica; relationship set<Miasto> miasta-w-stanie inverse Miasto::stan-dla-miasta; } class Miasto {extent miasta} { attribute string kod-miasta; attribute string nazwa-miasta; relationship Stan stan-dla-miasta inverse Stan::miasta-w-stanie; }

  21. ODMG - obiektowy model danych • Schemat • ODL - Object Definition language • atrybuty • pokrewieństwo • Wbudowane typy • rekordy, zbiory, listy, tablice • Powiązanie deklaracji obiektów z bazą danych • zasięg klas • nazwy globalne • Języki związane z bazą danych • konstrukcja/destrukcja • ODMG/C++, ODMG/Jva

  22. ODMG - reprezentacja danych {stany: {stan: &s1 {kod-stanu: “ID”, nazwa-stanu: “Idaho” stolica: &m1, miasta-w-stanie: {Miasto: &m1, Miasto &m3,...} }, stan: &s2 {kod-stanu: “NE”, nazwa-stanu: “Nevada”, stolica: &m2, miasta-w-stanie: {Miasto: &m2,...} } }, miasta: {miasto: &m1 {kod-miasta: “BOI”, nazwa-miasta: “Boise”,stan-dla-miasta: &s1}, miasto: &m2 {kod-miasta: “CCN”, nazwa-miasta: “Carson”,stan-dla-miasta: &s2}, miasto: &m3 {kod-miasta: “MOC”, nazwa-miasta: “Moscow”,stan-dla-miasta: &s1} } }

  23. ACeDB - schemat i dane • Schemat ?Ksiazka tytul UNIQUE Text autorzy Text rozdzialy Int UNIQUE Text jezyk UNIQUE angielski francuski inny data UNIQUE miesiac Int rok Int • Dane &ksiazka1 tytul “Dane w sieci www” autorzy “Abiteboul” “Buneman” “Suciu” rozdzialy 1 “Wprowadzenie” 2 “Skladnia dla danych” jezyk angielski • UWAGA: nazwy traktowane są równorzędnie z typami podstawowymi

  24. ACeDB - drzewo • Schemat to drzewo z nieskończoną liczbą krawędzi • Dane to skończone poddrzewo drzewa schematu tytuł autor rozdział język data ... “Dane w sieci www” “Abiteboul” 1 “Suciu” 2 4 ... “Buneman” ... 3 ... ... “Wprowadzenie”

  25. ACeDB - reprezentacja pokrewieństwa ?Stan kod-stanu UNIQUE Text nazwa-stanu UNIQUE Text stolica UNIQUE ?Miasto miasta-w-stanie ?masto XREF stan-dla-miasta ?Miasto kod-miasta UNIQUE Text nazwa-miasta UNIQUE Text stan-dla-miasta ?Stan XREF miasta-w-stanie &id kod-stanu “ID” nazwa-stanu “Idaho” stolica &boi miasta-w-stanie &boi &moc ... &boi kod-miasta “BOI” nazwa-miasta “Boise” stan-dla-miasta &id

  26. Terminologia dla ssd (grafów) • Graf (N,E), wierzchołki i krawędzie • graf skierowany • każdej krawędzi odpowiada jej początek i koniec • ścieżka • korzeń • wierzchołek, od którego istnieje ścieżka do każdego innego • cykl • ścieżka zaczynająca się i kończąca w tym samym wierzchołku • graf acykliczny • drzewo • jak zdefiniować? • Liście • DAG • etykiety • w jakim modelu są przypisane wierzchołkom?

  27. Bibliografia • OEM • J.Hammer,... “Information translation, mediation and Mosaic-based browsing in the Tsimmis system” (‘95) • S.Chawathe,... ”The Timmis project: Integration of heterogenous information sources” (‘94) • modele semistrukturalne • S.Abiteboul “Querying semistructured data” (‘97) • P.Buneman “Semistructured data” (‘97) • NetCDF • R.Rew,... “The unidata netCDF: Software for scientific data access” (‘90) • ASN.1 • ISO 8824 “Specification of abstraction syntax notation one (ASN.1) (‘87) • ACeDB • J.Thierry-Mieg,... “Syntactic definitions for the ACeDB data base manager” (‘92)

More Related