Relacyjny model danych to unikalne podejście do zarządzania parametrami przy użyciu struktury i języka zgodnie z logiką predykatów pojedynczego rzędu. Po raz pierwszy został opisany w 1969 roku przez angielskiego naukowca Codda. W tym projekcie wszystkie parametry są prezentowane jako krotki pogrupowane w określone relacje.
Cel relacyjnego modelu danych…
…jest zapewnienie deklaratywnej metody określania modeli i zapytań.
Użytkownicy bezpośrednio zauważają, jakie informacje zawiera baza danych i jakiej teorii chcą od niej. A także pozwól, aby oprogramowanie do zarządzania bazą danych zadbało o opisanie struktur do jej przechowywania. Ważna jest również procedura wyszukiwania informacji w odpowiedzi na wnioski.
Większość baz danych RDB korzysta z definicji danych SQL i języka wyszukiwania. Systemy te realizują coś, co można uznać za inżynierskie przybliżenie do:model relacyjny.
Tabela w schemacie bazy danych SQL odpowiada zmiennej predykatu. Kluczowe ograniczenia i zapytania SQL pasują do predykatów.
Jednak takie bazy danych odbiegają od modelu relacyjnego w wielu szczegółach, a Codd stanowczo sprzeciwia się zmianom, które naruszają pierwotne zasady.
Przegląd
Główną ideą relacyjnego modelu danych jest opis całej bazy danych jako zestawu predykatów dla końcowego składnika zmiennych, opisującego ograniczenia dotyczące możliwych wartości i ich kombinacji. Treść w dowolnym momencie jest ostatecznym (logicznym) modelem. To znaczy zestaw relacji, po jednej na zmienną predykatu, tak aby wszystkie składniki były spełnione. To jest relacyjny model danych.
Alternatywne
Inne modele to systemy hierarchiczne i sieciowe. Niektóre z nich, wykorzystujące starsze architektury, są nadal popularne w centrach danych o dużej pojemności. Lub w przypadkach, gdy istniejące systemy są tak złożone i abstrakcyjne, że przejście na nie przy użyciu modelu relacyjnego byłoby zbyt kosztowne. Warto też wspomnieć o nowych bazach danych zorientowanych obiektowo.
Wdrożenie
Podjęto kilka prób uzyskania prawdziwej materializacji RMD, pierwotnie zdefiniowanej przez Codda i wyjaśnionej przez innychnaukowcy.
Relacyjny model reprezentacji danych był głównym tego typu modelem, który został opisany za pomocą formalnych terminów matematycznych. Bazy hierarchiczne i sieciowe istniały przed systemami relacyjnymi, ale ich specyfikacje były stosunkowo nieformalne. Po zdefiniowaniu RMD podjęto wiele prób porównania i kontrastowania różnych modeli – co doprowadziło do bardziej rygorystycznych opisów wczesnych systemów. Chociaż proceduralny charakter interfejsów manipulacji danymi dla hierarchicznych i sieciowych baz danych ograniczył możliwości formalizacji.
Tematy
Podstawowym założeniem koncepcji relacyjnego modelu danych jest to, że wszystkie są reprezentowane jako matematyczne „p” – typowe relacje, „Cn” – relacja parami, która jest podzbiorem iloczynu kartezjańskiego kilku domeny. W modelu matematycznym wnioskowanie o takich danych odbywa się w dwuwartościowej logice predykatów, co oznacza, że dla każdego zdania możliwe są dwie oceny: prawda lub fałsz (i nie ma trzeciej wartości, np. nieznana lub nieodpowiednia)., z których każdy jest często kojarzony z pojęciem 0). Dane są przetwarzane za pomocą rachunku różniczkowego lub algebry, które są równoważne pod względem siły wyrazu.
Typy modeli danych, relacyjny model danych
RMD pozwala programiście stworzyć spójny, logiczny widok informacji. Wszystko to osiąga się poprzez uwzględnienie podanych ograniczeń w projekcie bazy danych, zwanym powszechnie schematem logicznym. Teoria polega na opracowaniu procesunormalizacja modelu, dzięki której projekt o określonych pożądanych właściwościach można wybrać z zestawu logicznie równoważnych alternatyw. W planach dostępu oraz innych implementacjach i operacjach szczegóły są obsługiwane przez silnik DBMS i nie są odzwierciedlane w modelu logicznym. Jest to sprzeczne z powszechną praktyką, w której dostrajanie wydajności często wymaga zmian w funkcji logicznej.
Podstawowy relacyjny model danych stanowi element budulcowy - jest to domena lub typ informacji, zwykle zredukowany do minimum. Krotka to uporządkowany zestaw wartości atrybutów. A one z kolei są wzajemną parą nazw i typów. Może to być wartość skalarna lub bardziej złożona.
Relacja składa się z nagłówka i treści
Pierwszy to zestaw atrybutów.
Ciało (z n-tą relacją) jest zbiorem krotek.
Nagłówek styczności jest również tematem każdej struktury.
Relacyjny model danych jest zdefiniowany jako zbiór n-krotek. Zarówno w matematyce, jak i w MRD, zbiór jest nieuporządkowanym zbiorem unikalnych, niezduplikowanych elementów, chociaż niektóre DBMS nakładają sekwencję na swoje dane. W matematyce krotka ma porządek i pozwala na duplikację. EF Codd pierwotnie utworzył krotki, używając tej matematycznej definicji.
Później jednym z wielkich pomysłów E. F. Codda było to, że używanie nazw atrybutów zamiast porządkowania byłoby znacznie wygodniejsze (ogólnieprzypadku) w języku komputerowym opartym na relacjach. To stwierdzenie jest nadal przydatne do dziś. Chociaż koncepcja uległa zmianie, nazwa „krotka” nie została zmieniona. Bezpośrednią i ważną konsekwencją tego rozróżnienia jest to, że w modelu relacyjnym iloczyn kartezjański staje się przemienny.
Tabela jest powszechną wizualną reprezentacją relacji. Krotka jest podobna do koncepcji ciągu.
Relvar to nazwana zmienna pewnego konkretnego typu stycznej, do której zawsze przypisana jest jakaś relacja tego typu, chociaż spojrzenie może zawierać puste krotki.
Podstawy relacyjnego modelu danych: wszystkie informacje są reprezentowane przez wartości informacji w relacjach. Zgodnie z tą zasadą bazą relacyjną jest zbiór zmiennych relacyjnych, a wynik każdego zapytania jest reprezentowany jako styczność.
Spójność relacyjnej bazy danych nie jest wymuszana przez reguły wbudowane w aplikacje, które z niej korzystają, ale raczej przez ograniczenia zadeklarowane jako część schematu logicznego i wymuszane przez DBMS dla wszystkich aplikacji. Ograniczenia wyrażane są w użyciu relacyjnych operatorów porównania, z których tylko jeden jest podzbiorem (⊆), teoretycznie wystarczającym. W praktyce oczekuje się, że dostępnych będzie kilka przydatnych skrótów, z których najważniejsze są klucze kandydujące i ograniczenia źródła zewnętrznego. Na tym właśnie polega relacyjny model danych.
Interpretacja
Aby w pełni docenić RMD, konieczne jest zrozumienie zamierzonej interpretacjijako relacja.
Ciało dotyku jest czasami nazywane jego przedłużeniem. Dzieje się tak, ponieważ powinno być interpretowane jako reprezentujące wzrost jakiegoś predykatu. Jest to zestaw prawdziwych zdań, które można utworzyć, zastępując każdą wolną zmienną nazwą.
Istnieje zależność jeden do jednego między obiektowo-relacyjnymi modelami danych. Każda krotka ciała relacji dostarcza wartości atrybutów, aby utworzyć wystąpienie predykatu, zastępując każdą z jego wolnych zmiennych. Wynikiem jest stwierdzenie, które jest uważane za prawdziwe ze względu na występowanie krotki w treści relacji. I odwrotnie, każdy proces, którego tytuł pasuje do nazwy relacji, ale nie pojawia się w treści, jest uważany za fałszywy.
To założenie znane jest jako hipoteza zamkniętego świata. Jest często naruszany w praktycznych bazach danych, gdzie brak krotki może oznaczać, że prawdziwość odpowiedniego zdania jest nieznana. Na przykład brak pewnych terminów („Jan”, „hiszpański”) w Tabeli Umiejętności Językowych niekoniecznie musi być dowodem, że chłopiec o imieniu Jan nie mówi po hiszpańsku.
Zastosowanie do baz danych, teoria normalizacji
Temat informacji używany w typowym relacyjnym RDM może być zbiorem liczb całkowitych, zbiorem ciągów znaków składających się na daty lub dwoma wartościami boolowskimi prawda i fałsz i tak dalej. Odpowiednimi nazwami podmiotów dla tych figur mogą być ciągi o nazwach „Indeks”, „Wykonaj niezbędną pracę”,„Czas”, „Boolean” i tak dalej.
Jednakże ważne jest, aby zrozumieć, że teoria relacji nie określa, które typy powinny być obsługiwane. I rzeczywiście jest prawdą, obecnie oczekuje się, że prowizje będą dostępne dla encji niestandardowych oprócz tych wbudowanych, dostarczanych przez system.
Atrybut
Jest to termin używany w teorii na określenie tak zwanej kolumny. Podobnie tabela jest powszechnie używana zamiast teoretycznego terminu tangencja (choć w żadnym wypadku nie jest to synonim relacji w SQL). Struktura danych tabeli jest określona jako lista definicji kolumn, każda z unikalną nazwą kolumny i dozwolonym typem wartości.
Wartość atrybutu to wpis w określonej lokalizacji, na przykład Jan Kowalski i 35.
Krótka jest zasadniczo taka sama jak wiersz, z wyjątkiem tego, że w SQL RDBMS, gdzie znaczenia kolumn w wierszu są uporządkowane, krotki nie są rozdzielane. Zamiast tego każda wartość definicji jest identyfikowana wyłącznie przez swoją nazwę, a nie przez jej pozycję porządkową w krotce. Nazwą atrybutu może być Imię lub Wiek.
Postawa
Jest to tabela definicji struktury wraz z wyglądem danych w tej strukturze. Definicja to nagłówek, a zawarte w nim dane to treść, zbiór wierszy. Zmienna relacji jest zwykle nazywana tabelą główną. Tytuł wartości przypisanej do niego wza każdym razem pasuje do określonej w danej komórce, a jej treść pasuje do tej, do której została ostatnio przypisana, wywołując jakąś instrukcję aktualizacji (zwykle INSERT, UPDATE lub DELETE).
Sformułowanie teorii mnogości
Podstawowe pojęcia w relacyjnym modelu relacji to nazwy i nazwy atrybutów. Muszą być reprezentowane jako ciągi, takie jak „Osoba” i „Imię” i zwykle będą musiały używać zmiennych, aby je rozciągnąć. Inną podstawową koncepcją jest zestaw wartości atomowych, który zawiera niezbędne i ważne znaczenia, takie jak liczby i ciągi znaków.