Obiektowy i dedukcyjny model danych jako kierunki rozwoju baz danych

From Obrona

Contents

Dedukcyjna baza danych

Dedukcyjna baza danych - baza danych, która potrafi wydedukować nowe dane.

Budowa

Dedukcyjna baza danych składa się z dwóch baz (lub grup baz) składowych:

  • Baza ekstensjonalna, zwana bazą faktów, jest typową bazą danych (taką jak np. relacyjna baza danych lub obiektowa baza danych), przechowującą trwale fakty określonego typu.
  • Baza intensjonalna, zwana bazą reguł wnioskowania, jest również typową bazą danych, z tym że przechowuje nie fakty lecz aksjomaty (reguły wnioskowania i więzy integralności).

Zarówno dane jak i aksjomaty mogą być opisane w języku logiki zdań lub logiki predykatów I rzędu. Przykładem takiego języka jest Prolog lub Datalog (stworzony specjalnie dla dedukcyjnych baz danych).

Współcześnie bazy składowe realizowane są jako typowe aplikacje bazodanowe dowolnego typu, przy użyciu wybranego języka programowania.

Bazy składowe spaja ze sobą dedukcyjny system zarządzania bazą danych (SZBD). Jest to System Zarządzania Bazą Danych, który potrafi przeprowadzać dedukcję, dla której korzysta z zawartości baz składowych. System ten może być aplikacją lokalną lub rozproszoną. Możliwe jest też wykonanie go jako systemu wieloagentowego.

Zasada działania

Dane, które znajdują się w bazie ekstensjonalnej, są dostępne użytkownikowi bazy dedukcyjnej bazpośrednio. Wówczas dedukcyjny SZBD nie przeprowadza dedukcji.

Dane, które nie znajdują się w bazie ekstensjonalnej są generowane na bierząco w procesie wnioskowania. Wówczas dedukcyjny SZBD, wykonując algorytm wnioskowania (dedukcji), pobiera potrzebne do tego reguły wnioskowania z bazy intensjonalnej a fakty z bazy ekstensjonalnej)

Dane często generowane mogą zostać zmaterializowane w bazie ekstensjonalnej.

Dedukcyjna baza danych a system ekspertowy

Główną różnicą między dedukcyjną bazą danych a systemem ekspertowym jest to, że ten drugi na czas działania powinien (wg tradycyjnego podejścia) wszystkie potrzebne fakty i reguły wnioskowania posiadać w głównej bezpośrednio dostępnej pamięci. Tymczasem dedukcyjna baza danych jako źródło wiedzy wykorzystuje tradycyjne bazy danych (intensjonalną i ekstensjonalną). Co do samej idei działania nie ma istotnych różnic.

Zastosowanie

  • mechanizm funkcjonowania systemu ekspertowego
  • zmniejszenie ilości gromadzonych danych
  • testowanie hipotez
  • odkrywanie nowych relacji między danymi


Obiektowa baza danych

Obiektowa baza danych - to baza danych, która przechowuje obiekty w odróżnieniu od wierszy lub krotek przechowywanych w relacyjnej bazie danych. Ponieważ dane przechowywane są w postaci obiektów, mogą być odczytywane tylko przy pomocy metod udostępnianych przez te obiekty.

Obiekty przechowywane w takiej bazie danych są widoczne jako obiekty języka programowania.

W połączeniu z obiektowymi językami programowania, obiektowe bazy danych działają szybciej od baz relacyjnych, ponieważ nie ma potrzeby przemapowywania rekordów przechowywanych w tabelach na obiekty (ang. impedance mismatch).

Obiektowe bazy danych rozszerzają obiektowe języki programowania o funkcjonalność zarządzania wielowątkowością, obiektowy język zapytań, funkcje odzyskiwania danych.

Pochodzenie tekstu

Tekst pochodzi z polskiej Wikipedii lub opiera się na haśle z Wikipedii i udostępniony jest na licencji GFDL.

  • Co to GFDL? - artykuł na pl.wikipedia.org
  • GFDL - licencja GFDL w witrynie gnu.org

Zobacz też

  • Prezentacja mgr. inż. Olgi Siedleckiej z Instytutu Informatyki Teoretycznej i Stosowanej Politechniki Częstochowskiej: Dedukcyjne Bazy Danych [slajdy PDF, ~1MB] rzuca trochę światła na zagadnienie.
Personal tools