Dedukcyjna baza danych

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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

Budowa[edytuj]

W skład dedukcyjnej bazy danych wchodzą dwie bazy (lub grupy baz):

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[edytuj]

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

Dane, które nie znajdują się w bazie ekstensjonalnej są tworzone na bieżą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 tworzone mogą zostać zmaterializowane w bazie ekstensjonalnej.

Dedukcyjna baza danych a system ekspertowy[edytuj]

Główną różnicą między dedukcyjną bazą danych a systemem ekspertowym jest to, że ten drugi na czas działania powinien (według 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ą). W samej idei działania nie ma istotnych różnic.

Zastosowanie[edytuj]

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

Zobacz też[edytuj]