Dedukcyjna baza danych

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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

Budowa[edytuj | edytuj kod]

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

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

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

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

Zobacz też[edytuj | edytuj kod]