Celem laboratorium jest zapoznanie studentów z podstawami relacyjnych baz danych
Relacyjne bazy danych są naturalnym rozszerzeniem koncepcji tabeli. Relacyjne bazy danych zapobiegają konieczności powielania tych samych danych w wielu tabelach. Aktualizacja tak skonstruowanej bazy jest nieskuteczna i uciążliwa. Przykładem tabel, gdzie mielibyśmy do czynienia z nadmiarem danych są tabele przechowujące dane o sprzedażowe. W tabeli transakcje chcemy mieć dostęp do danych o kontrahencie, który brał w niej udział, jednak nie należy dodawać do tabeli transakcje kolumn dotyczących danych teleadresowych klienta. Takie podejście prowadzi do refundacji danych, co ma negatywny wpływ na proces ich aktualizacji.
Lepszym rozwiązaniem jest wydzielenie danych o klientach do osobnej tabeli i w tabeli transakcje odwoływać się do odpowiednich krotek tabeli klienci. Takie podejście sprawia, że tylko w jednym miejscu aktualizujemy dane adresowe kontrahentów. Przykład takiego podejścia pokazano na rys. 1
__ _J Transakcja * |
_) Klient | |
IDKlient INT O Nazwa VARCHAR(45) > Adres VARCHAR(45) O NIP INT | ||
O Data DATĘ IDTrans INT O Ilosc INT ♦ KIient_IDKlient INT |
3H-------H- | |
► | ||
Rysunek 1: Przykład relacji. (Rys. stworzony dzięki oprogramowaniu MySQL Workbanch)
Jak wskazano w [1], relacyjna baza danych opera się na kilku zasadach:
• wszystkie dane w relacyjne bazie danych są opart o dwuwymiarowe tabele
• po wprowadzeniu danych możliwe jest ich porównywanie (nawet gdy pochodzą z innych tabel) czy wiązanie
• wykonywanie wszystkich operacji oparte jest na logice.
By mówić o relacji, potrzebne są co najmniej dwie tabele, między którymi istnieje relacja (więź) (patrz rys. 1). Istnieje kilka rodzajów relacji:
• jeden-do-jednego - relacja ta występuje wtedy, gdy pojedynczemu rekordowi w jednej tabeli odpowiada pojedynczy rekord w drugiej tabeli. W rzeczywistych zastosowaniach relacji jeden-do-jeden jest bardzo rzadka.