BAZY DANYCH ;)
model relacyjny
model relacyjny
Model relacyjny to model baz danych oparty na postulatach relacyjności. Twórcą teorii relacyjnych baz danych jest nieżyjący już Edgar Frank Codd. Postulaty te zostały opublikowane po raz pierwszy w A Relational Model of Data for Large Shared Data Banks.

Dane w modelu relacyjnym są reprezentowane jako zbiór krotek, które w znormalizowanych bazach danych są unikatowe i nie gra roli ich kolejność. Dostęp do nich jest realizowany za pomocą algebry relacji - czyli dostęp do danych definiujemy poprzez operatory relacyjne takie jak: rzutowanie, selekcja, złączenie, suma, różnica, produkt kartezjański . Ograniczenie redundancji danych dokonuje się w procesie przejścia do kolejnych postaci normalnych. Zbiory danych powiązane są logicznie za pomocą encji. W ten sposób uniezależnia się widziany przez użytkownika obraz bazy danych od jej postaci fizycznej.

Model relacyjny składa się z trzech podstawowych elementów: struktury, integralności i manipulacji. Struktura (znana najczęściej w postaci tabeli) jest formą prezentacji relacji, która jest zdefiniowana w oparciu o typy (dziedziny). Typ jest nazwanym i skończonym zbiorem wartości, do którego mogą należeć wartości atrybutów (kolumn) w relacjach. Integralność to ograniczenie nakładane na bazę danych przez model relacyjny. Dwie podstawowe reguły integralności to integralność encji (wartość klucza głównego nie może być NULL) oraz integralność odwołań (nie mogą istnieć niedopasowane wartości klucza obcego). Na elementy manipulacyjne modelu składają się: zbiór operatorów relacyjnych zwany algebrą relacyjną oraz relacyjny operator przypisania, pozwalający na przypisanie relacji wyniku powstałego z wyrażenia relacyjnego opartego na algebrze relacyjnej.

Model relacyjny obsługuje różne typy kluczy. Każda relacja (tabela) posiada przynajmniej jeden klucz kandydujący. Klucz ten jest unikatowym identyfikatorem relacji i może być kombinacją atrybutów, często jednak obejmuje jeden atrybut (kolumnę). Klucz ma za zadanie jednoznacznie identyfikować każdą krotkę (wiersz). Klucz kandydujący jest zawsze kombinacją lub zbiorem atrybutów (kolumn) nawet, gdy zbiór składa się tylko z jednego atrybutu. Specjalnym rodzajem klucza kandydującego jest klucz główny. Jeśli relacja (tabela) posiada jeden klucz kandydujący to staje się on automatycznie kluczem głównym. Gdy kluczy kandydujących jest więcej należy określić, który z nich będzie kluczem głównym. Z punktu widzenia modelu relacyjnego to klucze kandydujące, a nie główne mają prawdziwe znaczenie. Klucz obcy jest zbiorem atrybutów jednej relacji (tabeli) i wskazuje wartości klucza kandydującego innej lub tej samej relacji (tabeli).

W modelu relacyjnym każda relacja (prezentowana w postaci np. tabeli) posiada nagłówek i zawartość. Nagłówek relacji to zbiór atrybutów, gdzie atrybut jest parą nazwa_atrybutu:nazwa_typu, zawartość natomiast jest zbiorem krotek (reprezentowanych najczęściej w postaci wiersza lecz ściślej określane jako zbiór wartości atrybutów). W związku z tym, że nagłówek jest zbiorem atrybutów nie jest ważna ich kolejność (dla porównania w standardzie SQL kolejność podawania nazw kolumn jest brana pod uwagę). Zgodnie z modelem relacyjnym każda krotka musi posiadać wartość odpowiedniego typu określanego przez atrybut z nagłówka relacji, dlatego też model relacyjny w swojej pierwotnej formie nie akceptował wartości typu NULL wykorzystywanych powszechnie w relacyjnych bazach danych - F. Codd wprowadził do modelu wartości NULL w 1979 roku. Przedstawienie relacji w postaci tabeli jest jedynie pewną reprezentacją graficzną, z punktu widzenia modelu relację można również przedstawić w postaci zbioru punktów w przestrzeni n-wymiarowej, gdzie punkt reprezentuje krotkę w relacji składającej się z n atrybutów. Liczba kolumn określa stopień relacji. Relacja 1-stopnia jest relacją unarną. Relacja 2-stopnia jest relacją binarną.

Na modelu relacyjnym oparta jest relacyjna baza danych (RDBMS ang. Relational Database Management Systems) - baza danych, w której dane są przedstawione w postaci relacyjnej. Relacja reprezentowana jest przez tablicę (tablica=relacja, stąd nazwa) a tablice są pewnym zbiorem rekordów o identycznej strukturze i wewnętrznie powiązanych za pomocą związków zachodzących pomiędzy danymi. Powoduje to ułatwienie zarządzania bazą danych w stosunku do tradycyjnego podejścia, gdzie dane są przechowywane w postaci strumienia. Takie podejście ułatwia wprowadzania zmian, zmniejszenie możliwość pomyłek, ale dzieje się to kosztem wydajności. Tradycyjną, nierelacyjną bazą danych jest BerkeleyDB.

Większość współczesnych relacyjnych baz danych korzysta z jakiejś wersji języka SQL pozwalającego wprowadzać zmiany w strukturze bazy danych, jak również zmiany danych w bazie i wybieranie informacji z bazy danych. Język ten opiera się na silniku bazy danych, który pozwala zadawać w języku SQL pewnego rodzaju pytania (kwerendy) i wyświetlać dane, które spełniają warunki zapytania. Zapytania SQL mogą także wykonywać operacje wstawiania danych, usuwania danych i ich aktualizacji. Język SQL zapewnia również zarządzanie bazą danych. Informacja o samej bazie przechowywana jest w postaci relacji (tabel) wewnątrz bazy danych.

Sukces relacyjnych baz danych leży w istnieniu formalnej matematycznej struktury zwanej rachunkiem relacyjnym, pozwalającym przeprowadzić automatyczne sprawdzanie pewnych konstrukcji. Gwarantuje to wykonalność pewnych operacji i spójność zbiorów danych.

Agnieszka Zerka ;)
napisz do mnie ;)