rozwiązanie zadań do zaliczenia I0G1S4 // indeks 40430
MODEL RELACYJNYMODEL 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 predefiniowalneKlasy – złożone typy danych Klucze zewnętrzneWskaźniki Niezależny od języka programowaniaTylko jeden język programowania Mało naturalna reprezentacja danychŁatwa reprezentacja obiektów rzeczywistych Dobre mechanizmy kontroli dostępu do danychSł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żonychMożliwość definiowania własnych typów, metod Możliwość używania złożonych kryteriów wyszukiwawczych Słaba obsługa przeszukiwania danych Bardziej popularnyMniej 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 RELACYJNARACHUNEK 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…).