rozwiązanie zadań do zaliczenia
I0G1S4 // indeks 40430
MODEL RELACYJNY
MODEL OBIEKTOWY
Dane umiejscowione są w tabelach, a te z kolei
składają się z kolumn
Podstawową jednostką jest obiekt, który to
reprezentuje rzeczywisty obiekt
Typy predefiniowalne
Klasy – złożone typy danych
Klucze zewnętrzne
Wskaźniki
Niezależny od języka programowania
Tylko jeden język programowania
Mało naturalna reprezentacja danych
Łatwa reprezentacja obiektów rzeczywistych
Dobre mechanizmy kontroli dostępu do danych
Słaba kontrola dostępu
Dużo tabel w przypadku próby rozwiązania
większego problemu
Możliwość pokazania złożonych zależności
pomiędzy obiektami
Ograniczona podatność na zmiany
Łatwość edycji
Trudne operowanie na danych złożonych
Możliwość definiowania własnych typów, metod
Możliwość używania złożonych kryteriów
wyszukiwawczych
Słaba obsługa przeszukiwania danych
Bardziej popularny
Mniej popularny
Podsumowując model relacyjny lepiej sprawdza się w przypadku prostych danych, łatwych do umieszczenia
w tablicy oraz w przypadku kiedy trzeba będzie wyszukiwać z niej dane spełniające różnorodne warunki.
Natomiast model obiektowy lepiej sprawdzi się gdy dane mają złożoną lub zagnieżdżoną strukturę oraz w
przypadku kiedy dane tworzą hierarchie.
ALGEBRA RELACYJNA
RACHUNEK RELACYJNY
Zapytanie ma charakter proceduralny (operacyjny) Zapytanie
ma
charakter
nieproceduralny
(deklaratywny)
Rezultatem działania, jak również argumentami
tych operatorów są relacje
Formułujemy
wyrażenie,
które
określa
co
konkretnie ma być wyszukane.
Operatory można podzielić na dwie grupy: operacje
na zbiorach oraz operatory zaprojektowane dla
modelu relacyjnego
Oparty na logicznym rachunku predykatów (funkcji
zdaniowych). Na rachunek relacyjny składa się
alfabet oraz zbiór reguł tworzenia zapytań
Posiada operacje takie jak: selekcja, projekcja,
iloczyn kartezjański, różnica zbiorów, suma,
przeciążenie, złączenie, dzielenie, zmiana nazwy
pola
Posiada zmienne, stałe, opcje porównywania,
logiczne połączenia i kwantyfikatory
Sprowadzenie zapytania do postaci wyrażenia
algebry relacji pomaga w przekształceniach
prowadzących do optymalizacji zapytania
Sprowadzenie zapytania do wyrażenia rachunku
relacyjnego określa jego formalną semantykę.
Wykorzystywany w języku SQL (wariant rachunku
na krotkach) oraz jako podstawa interfejsu QBE
(wariant rachunku na dziedzinach)
Rachunek relacyjny jest alternatywą algebry relacyjnej. Są one równoważne, a więc każde wyszukiwanie
danych określone w algebrze można wyrazić w rachunku i odwrotnie. Zdecydowanie bliższe mi jest użycie
języka opartego na rachunku relacyjnym, ze względu na bardziej przejrzystą i zrozumiałą dla mnie budowę.
Nie bez znaczenia jest także fakt, że formułujemy wyrażenie, które określa co ma być wyszukiwane a nie jak
to wyszukać jak jest to w przypadku algebry relacyjnej. Ponadto w przypadku skomplikowanych problemów
zdecydowanie łatwiej stworzyć zapytanie w rachunku relacyjnym (np. dzięki kwantyfikatorom „istnieje…”
czy „dla każdego…”).