Andrzej Purczyński

Relacyjne bazy danych

Elementy podstawowe

Za relacyjne bazy danych będą uważane bazy danych przedstawione w postaci relacji.

Jednym z pierwszych twórców relacyjnych baz danych był E. F. Codd. W roku 1970 zastosował pojęcie relacji do projektowania systemów baz danych. Do najważniejszych zalet relacyjnych baz danych należą:

Pojęcia podstawowe:

Dziedzina jest zbiorem pewnych wartości, np. zbiór liczb całkowitych.

Relacja jest podzbiorem iloczynu kartezjańskiego dziedzin/zbiorów A1, A2, ..., An, co oznacza się A1 × A2 × ... × An. Iloczyn ten zawiera krotki a1, a2, ..., an, takie że a1 A1, a2 A2, ..., an An (gdzie np.: a A, oznacza, że krotka a zawiera się w dziedzinie/zbiorze A).

Przykład 1

        Jeśli A1 = {x, y, z}, A2 = {a, b},
        to A1 × A2 = {(x, a), (x, b), (y, a), (y, b), (z, a), (z, b)}
        i dla tego iloczynu można napisać np. relację:

R1 = {(x, a), (x, b)}

Analogicznie do iloczynu kartezjańskiego elementy relacji nazywa się krotkami. Relację R1 można przedstawić jako tablicę złożoną z dwóch krotek:
x a
x b
- krotka relacji R1
- krotka relacji R1

Każdy wiersz tablicy relacji można interpretować jako krotkę relacji. Kolumnom tablicy można nadać nazwy, które są atrybutami relacji. Zbiór atrybutów nazywamy schematem relacji.

Do modelowania danych wykorzystuje się diagram encji - związków, nazywany inaczej obiektowo - związkowym (ER ang. Entity - Relationship).

Stosowanie metody diagramów ER nazywa się analizą "z góry w dół", albo "od ogółu do szczegółu".

Diagram ER przekształca się w schemat relacji, a model konceptualny danych w model implementacyjny.

Algorytm tworzenia schematu relacji:

  1. Dla każdej encji na diagramie tworzy się relacje.
  2. Jeśli na diagramie ER są związki 1:1 , to encje w takim związku można zamienić na jedną relację.
  3. Identyfikujący atrybut relacji staje się kluczem głównym. Pozostałe atrybuty dopisuje się do schematu relacji.
  4. Dla każdego związku 1:M do relacji po stronie M(wiele) wstawia się klucz główny z relacji występującej po stronie 1. Będzie on kluczem obcym.
  5. O tym czy klucz obcy może być wyzerowany (null) decyduje się na podstawie tego czy związek jest opcjonalny (w notacji ER opcjonalności nie zaznacza się na diagramie).