Relacyjna baza danych to opisany i zorganizowany zbiór tabel połączonych relacjami – związkami między sobą. Ten sposób przechowywania informacji pozwala na uniknięcie redundancji (powtarzania się danych) oraz przeprowadzanie analiz na podstawie wielu tabel. Każda tabela składa się z rekordów (tak nazywamy pojedyncze wiersze). Poszczególne rekordy składają się z pól (komórek), przechowujących jedną daną.
Aby istniała możliwość utworzenia z tabel relacyjnego modelu danych, przynajmniej w jednej z nich musi występować klucz główny (zwany też podstawowym) – kolumna służąca do identyfikacji poszczególnych rekordów tabeli. Wartości w kluczu podstawowym muszą być unikalne, aby istniała możliwość przypisania jednego wiersza tabeli do jednej wartości klucza. Zazwyczaj funkcję takiego klucza spełnia numer porządkowy:
W powyższym przykładzie jest to tzw. klucz jednopolowy – identyfikacja rekordu odbywa się przy pomocy jednego pola w wierszu. Istnieją także klucze złożone (wielopolowe) – w ich przypadku identyfikacja odbywa się przy pomocy więcej niż jednej kolumny. Unikalne jest zestawienie komórek tworzących klucz w wierszu. Niestety w PowerPivot nie mamy możliwości zastosowania klucza złożonego. Możemy obejść tą kwestię tworząc kolumnę z unikalnymi wartościami na podstawie komórek które mogą tworzyć klucz złożony, np. poprzez proste połączenie występujących tam znaków (o tworzeniu kolumn przeczytasz tutaj):
W powyższej tabeli możemy zauważyć, że ani kolumna nr producenta, ani typ produktu nie zawiera unikalnych wartości, jednakże zestawienie wartości w tych dwóch komórkach jest unikalne dla każdego wiersza. Na tej podstawie tworzymy trzecią kolumnę która może spełniać warunek klucza podstawowego. Relację ustanawiamy pomiędzy dwoma tabelami na podstawie wartości klucza podstawowego w jednej tabeli i kolumny w drugiej tabeli zawierającej wartości klucza podstawowego z tabeli pierwszej. Wyróżniamy trzy rodzaje relacji:
– jeden do jednego – w tego typu relacji jednemu rekordowi z tabeli A odpowiada tylko jeden wiersz z tabeli B. Rodzaj ten występuje stosunkowo rzadko, ponieważ wszystkie informacje przechowywane w ten sposób można zamieścić w jednej tabeli.
– jeden do wielu – jednemu rekordowi z tabeli A odpowiada wiele rekordów z tabeli B. Jest to najpowszechniejszy typ relacji.
– wiele do wielu – rekord w tabeli A może mieć wiele dopasowanych wiele wierszy z tabeli B oraz odwrotnie – rekord z tabeli B może mieć dopasowanych wiele wierszy z tabeli A. Taki typ jest możliwy do zdefiniowania tylko poprzez dodanie do modelu trzeciej tabeli (zwanej tabelą łącza), w której będą znajdowały się wartości kluczy podstawowych tabel A oraz B
Możliwość tworzenia relacji pomiędzy tabelami (a tym samym relacyjnej bazy danych) istnieje w programie Microsoft Excel już od dawna. W tym celu należy kliknąć DANE > Relacje > Nowy a następnie ustawić odpowiednie tabele i kolumny w polach Tabela, Pokrewna tabela, Kolumna (obiekt obcy) oraz Pokrewna kolumna (obiekt podstawowy):
Dzięki dodatkowi PowerPivot możemy stworzyć relacje w sposób nieco prostszy, intuicyjny i bardzo poglądowy. W pierwszej kolejności należy dodać tabele do modelu danych – jeżeli znajdują się one w arkuszach Excela, wystarczy kliknąć wewnątrz nich kursorem zaznaczając dowolną komórkę a następnie wybrać POWERPIVOT > Dodaj do modelu danych:
O innych sposobach dołączania tabel do modelu danych przeczytasz w tym artykule.
Otworzy się okno dodatku PowerPivot, które będzie wyglądać będzie podobnie do tego:
Jeżeli zamiast widoku podobnego do powyższego widzimy tabelę, oznacza to że mamy włączony widok danych zamiast widoku diagramu. Zmieniamy to w zakładce Narzędzia główne > Widok > Widok diagramu: Do modelu dodajemy także drugą tabelę. Relację tworzymy w bardzo prosty sposób – po prostu klikamy na nazwę kolumny znajdującej się w polu tabeli, po czym przeciągamy ją na nazwę kolumny w drugiej tabeli. Wybieramy oczywiście kolumny w oparciu o które możemy utworzyć relację. Przy tej czynności nie ma znaczenia kierunek przeciągania (taki sam efekt otrzyma się przeciągając nazwę kolumny z tabeli A do B, jak i z B do A):
Taki sposób tworzenia relacji jest szczególnie przydatny podczas tworzenia skomplikowanych modeli danych, takich jak poniższy:
Widok diagramu jest dużo bardziej poglądowy niż tabelaryczne zestawienie wszystkich relacji w Excelu:
Swój pierwszy prosty model danych można stworzyć przy pomocy naszego pliku. Wystarczy go pobrać i utworzyć relację pomiędzy tabelami Kody pocztowe oraz województwa na podstawie kolumn (odpowiednio) woj. oraz województwo. Tworzenie takiego modelu jest podstawową umiejętnością, która pozwoli zagłębić się nam w ciekawy i bardzo praktyczny świat analizy danych oraz raportowania ad-hoc.
Plik z przykładowymi danymi: Relacyjna baza danych
Bardzo pomocny artykuł – fajnie, ze tak to klarownie rozpisaliście. Zachęcam jeszcze do zajrzenia do nas na porówanie excela z accesem w kontekście bazy dla małej firmy. http://thedatadivers.com/baza-danych-excel-access/