Zasady tworzenia relacji (tabel)
1. Tabele odpowiadają najczęściej wydzielonym fragmentom świata rzeczywistego lub obiektom abstrakcyjnym
2. Atrybuty muszą być atomowe: oznacza to, że w jednej kolumnie nie mogą znajdoać się np.
imię i nazwisko, czy cały adres itp.
3. Jeśli dane powtarzają się często w wielu krotkach należy je rozdzielić i utworzyć np. dwie lub większą liczbę powiązanych relacji.
4. W przypadku gromadzenia informacji o zbiorze „wolnozmiennych” pojęć np. nazwy walut, jednostki miary itp. stosuje się oddzielnie relacje zwane potocznie „słownikowymi”.
W modelu relacyjnym wykorzystywana jest tzw. logika trójwartościowa.
Obok wartości PRAWD i FAŁSZ występują także wartośći puste – NULL
Wartość NULL określa, że w danym polu relacji nie jest zapisana wartość. Oznacza to, że dane mogą być nieznane lub nie istnieją.
Algebra relacyjna - operacje na relacjach
Algebrą relacyjną nazywany jest zbiór podstawowych operacji na modelu relacyjnym umożliwiający manipulowanie danymi jakie są zawarte w bazie danych. Sekwencja takich operacji tworzy tzw. wyrażenie algebry relacyjnej. Jego wynikiem jest relacja reprezentująca efekt wykonanych operacji. W tego typu wyrażeniach nie definiuje się pojęcia kolejności operacji: jest ona bowiem dowolna.
Operacje stosowane w algebrze relacyjnej podzielone są na dwie grupy: wywodzące się z matematycznej teorii zbiorów (suma, różnica, część wspólna, iloczyn kartezjański) oraz opracowane specjalnie na potrzeby relacyjnego modelu bazy danych (selekcja, projekcja złączenia, funkcje agregujące).
Podstawowe operacje na relacjach
Podstawowymi operatorami modelu relacyjnego są:
•
selekcja (wybór): zwraca krotki, które spełniają określony warunek,
•
projekcja (rzut): zwraca podzbiór atrybutów oryginalnego zestawu krotek,
•
złączenie:zwraca zestaw krotek z kilku tabel na podstawie równości jednego lub kilku atrybutów.
Selekcja: podstawowym celem operacji selekcji jest wyznaczenie podzbioru krotek relacji spełniającego warunek selekcji. Ogólny zapis operacji selekcji: σ<warunek selekcji> (R)
np. σPENSJA=3000(PRACOWNIK)
Wynik operacji selekcji jest poziomym podziałem relacji wejściowej, na część widoczną (wynik) i
Operacja selekcji jest przemienna:
σ<warunek selekcji>(σ<warunek selekcji2> (R))=σ<warunek selekcji2>(σ<warunek selekcji> (R)) Projekcja: podstawowym celem operacji projekcji jest wybór wyznaczonych atrybutów (kolumn) do prezentacji oraz odrzucenie pozostałych. Ogólny zapis operacji projekcji: π<lista atrybutów>(R)
np. πNAZWISKO, IMIĘ, PENSJA(PRACOWNIK)
Operacja projekcji usuwa wszystkie powtórzenia krotek, gdyż wyjściowa relacja musi być prawidłowa pod względem głównym założeń modelu relacyjnego Operacja złączenia: stosowana jest do łączenia wstępujących w dwóch relacjach i powiązanych ze sobą krotek w jedną krotkę. W przypadku baz relacyjnych jest to jedna z najważniejszych operacji, gdyż pozwala odtwarzać związki między relacjami. Ogólna postać operacji złączenia: R<warunek złączenia>S
np. DZIAŁPESELKIEROWNIKA=PESELPRACOWNIK
RODZAJE ZŁĄCZEŃ
NAZWISKO TELEFON
B
100
C
200
D
300
PRACIID
NAZWISKO
1
A
2
B
3
C
ZEWNĘTRZNE LEWOSTRONNE
PRACID
NAZWISKO
TELEFON
1
A
NULL
2
B
100
3
C
200
PRACID
NAZIWSKO
TELEFON
2
B
100
3
C
200
NULL
D
300
ZEWNETRZNE PEŁNE
PRACID
NAZWISKO
TELEFON
1
A
NULL
2
B
100
3
C
200
NULL
D
300
Zapis zapytań w algebrze relacyjnej.
Relacje będące wynikiem różnych operacji relacyjnych nie mają przydzielonych nazw. Z tego względu można i jest to pomocne nadawać im własne nazwy.
Przykłady:
PRAC_DZIAŁU_5 ← σNRDZ=5(PRACOWNIK)
WYNIK ← πIMIĘ, NAZWISKO, PENSJA(PRAC_DZIAŁU_5)
[…]
TRANSAKCJA
Przez transakcję rozumie się grupę operacji na bazie, która od strony logicznej stanowi całość i wykonywana jest razem. W przypadku, gdy transakcja nie modyfikuje bazy danych – jedynie pobiera dane – nosi nazwę tylko do odczytu.
Elementy składowe transakcji:
•
odczyt i/lub zapis danych,
•
zakończenie transakcji z zatwierdzeniem,
•
wycofanie transakcji (zakończenie bez zatwierdzenia).
PODSTAWOWY CEL PRZETWARZANIA TRANSAKCYJNEGO
Rzeczywistość musi być zapisana w określonej formiee w bazie. Zmiany rzeczywistości muszą powodować zmiany w stanie bazy. Baza danych jest spójna wówczas, gdy jej stan odpowiada stanowi świata rzeczywistego.
≡
Baza danych
Zmiana swiata
Zmiana w bazie
Świat rzeczywisty
≡
Baza danych