ZSBD-2st-1.2-w4.tresc-1.1-Slajd5

Z Studia Informatyczne
Wersja z dnia 16:22, 11 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Ograniczenia relacyjnego modelu danych

Ograniczenia relacyjnego modelu danych


Reprezentacja przedstawionego fragmentu rzeczywistości za pomocą relacyjnego modelu danych nie jest ani prosta, ani naturalna.

W przykładzie występują złożone struktury danych, a jedyną strukturą dostępną w relacyjnym modelu danych jest krotka, czyli płaska lista prostych wartości. Relacyjny model danych nie umożliwia zagnieżdżania konstruktorów typów danych. W związku z tym, relacyjna reprezentacja przykładu będzie rozproszonym zbiorem niepowiązanych i jednowymiarowych struktur danych. Przedstawiony na slajdzie schemat relacyjnej bazy danych nie potrafi odzwierciedlić hierarchicznych zależności między danymi. Metodyki poprawnego projektowania schematów relacyjnych baz danych wykluczają również składowanie w bazie danych złożonych wartości atrybutów w sposób transparentny dla modelu danych. Ograniczenie to jest zdefiniowane jako tak zwana pierwsza postać normalna.

Potrzeba jednoznacznej identyfikacji pojedynczych danych przechowywanych w bazie danych wymaga rozszerzania schematów relacji o sztuczne klucze podstawowe. Dotyczy to przypadków, gdy zdefiniowane atrybuty nie gwarantują unikalności wartości poszczególnych danych. Ponieważ klasy Figura, Koło, Wielokąt, Odcinek nie posiadają atrybutów jednoznacznie identyfikujących ich wystąpienia transformacja tych klas do schematu relacyjnej bazy danych wymaga dodania sztucznych kluczy podstawowych do reprezentujących je relacji.

Relacyjny model danych pozwala na korzystanie jedynie z ograniczonego zbioru prostych predefiniowanych typów danych. Niestandardowa semantyka przetwarzania danych w rozwiązaniach relacyjnych musi być w całości zaimplementowana poza systemem bazy danych, w aplikacjach bazy danych.

Relacyjny model danych nie obejmuje pojęcia związków między danymi. Związki między danymi nie mogą, więc być składowane w bazie danych. Zależności klucz obcy – klucz podstawowy służą jedynie do weryfikacji poprawności danych i nie mogą być wykorzystane do nawigacji między danymi. Związki między danymi są kreowane dynamicznie przez operacje połączenia. Systemy relacyjne realizując operacje połączenia dopiero „w locie” ustalają powiązania między danymi.

Kolejnym ograniczeniem modelu relacyjnego jest brak możliwości modelowania hierarchicznych zależności między kolekcjami danych, między którymi zachodzi relacja podzbioru. Integracja danych reprezentujących różne podzbiory Figur będzie wymagać wykonywania operacji połączenia lub sumy.

Podsumowując relacyjna implementacja bardziej złożonej rzeczywistości wymaga przeniesienia części jej semantyki do aplikacji bazy danych. Taka semantyka jest trudniej utrzymywana, bo informacji o niej nie ma w bazie danych, lecz trzeba ją utrzymywać w źródłowym kodzie aplikacji. Ponadto, odpowiedzialność za wydajne przetwarzanie semantycznych danych, musi być w tym wypadku przeniesiona z systemu zarządzania bazą danych na programistów tworzących aplikacje. W związku z tym będą to rozwiązania mniej skalowalne.


<< Poprzedni slajd | Spis treści | Następny slajd >>