Czym są relacyjne bazy danych? To szczególny rodzaj baz danych, w których można przechowywać powiązane ze sobą elementy danych w wygodnej formie tabeli (skrót RDBMS). W relacyjnej bazie danych wiersze tabeli to rekordy, które mają indywidualne identyfikatory, czyli klucze. Kolumny takiej tabeli zawierają w sobie atrybuty danych, a rekordy zawierają w sobie wartości atrybutów. W tym artykule dowiesz się, czym są relacyjne bazy danych i jak można je wykorzystać w Twojej organizacji.
- Historia relacyjnego modelu bazy danych
- Jak działa relacyjna baza danych?
- 8 podstawowych pojęć, które musisz znać, jeśli chcesz zarządzać bazą danych
- Jakie są korzyści wykorzystania RDBMS w firmie?
- Lista najpopularniejszych RDBMS na świecie
- Czy przyszłość relacyjnych baz danych rysuje się w jasnych kolorach?
Krótka historia modelu RDBMS
Model relacyjnej bazy danych powstał w latach 70. ubiegłego stulecia, ma więc już 52 lata! Podstawą RDBMS jest teoria relacyjna Franka Edgara Codda w 1970 r. Teoria ta opisywała podstawowe zależności pomiędzy danymi oraz wprowadziła główne założenia dotyczące modelu relacyjnego dla danych wraz z propozycją formalnych operatorów przeszukiwania. W latach 80. relacyjny model bazy danych stał się podstawą projektowania niemal każdej bazy danych.
Większość tworzonych obecnie baz danych korzysta z konkretnej wersji języka SQL, dzięki któremu można prowadzać zmiany zarówno w strukturze baz danych, jak i w samych danych umieszczonych w bazie. Polecenia w języku SQL pozwalają także na bardziej precyzyjne wyszukiwanie informacji w relacyjnych baz danych za pomocą kwerend (zapytań). Dzięki kwerendom możliwe są także operacje usuwania, wstawiania i aktualizacji danych.
Zasady działania relacyjnego modelu bazy danych
Zasady działania relacyjnego modelu bazy danych można podzielić na: klienta bazy danych oraz serwer bazy danych, czyli program, który zwraca poprawną odpowiedź na pytanie wysyłane przez klienta bazy danych, za pomocą kwerend w języku SQL. Po wysłaniu żądania na serwer klient dostaje w odpowiedzi przetworzone dane, które pozyskał z plików zachowanych na dysku serwera. Kilka konkretnych zasad związanych z bazami danych przedstawia się następująco:
- wszystkie wartości danych znajdujące się w rekordach tabeli to proste typy danych;
- wszystkie dane umieszczone w RDBMS mają formę tabel, określanych jako „relacje”;
- każda relacja może zawierać 0 lub x wierszy, określanych jako „encje”;
- każda relacja może zawierać 1 lub c kolumn, określanych jako „atrybuty”;
- wartości przedstawione w kolejnych krotkach mogą się od siebie różnić;
- jeśli w tabeli zostaną wprowadzone konkretne dane, można ze sobą porównywać wartości poszczególnych kolumn, a także pochodzące z odrębnych tabel. Gdy porównywane wartości są ze sobą zgodne, relacyjny model danych umożliwia scalanie wierszy o tej samej wartości;
- wiersze w relacyjnym modelu bazy danych nie muszą być ułożone w konkretnej kolejności;
- ponieważ nie istnieje możliwość szybkiej identyfikacji konkretnego wiersza tabeli na podstawie jego pozycji, przyjęto zasadę, że każda tabela w relacyjnej bazie danych powinna posiadać 1 lub x kolumn, które nie będą się powtarzały. Określa się je jako ”klucz główny”, czyli primary key. Dzięki niemu można zidentyfikować konkretny wiersz.
8 podstawowych pojęć związanych z RDBMS
Podstawowe pojęcia związane z relacyjną bazą danych to:
1. Klucz główny
Klucz główny, inaczej primary key, to zbiór atrybutów, czyli kolumn w konkretnej tabeli. Primary key jest niepowtarzalnym identyfikatorem dla każdego wiersza tej tabeli, który często przyjmuje postać liczbową. Klucze główne mogą składać się z więcej niż 1 kolumny, mówimy wtedy o kluczach złożonych. Klucze główne umożliwiają szybkie pobranie wartości z wierszy tabeli.
2. Klucz obcy
Klucze obce, czyli foreign keys, służą do pokazania zależności pomiędzy tabelami. Kluczem obcym jest po prostu dodatkowa kolumna, w której będzie widoczna ta zależność. W ramach relacyjnych baz danych można wyróżnić 3 zależności.
3. Zależność 1:1
Polega na tym, że każdemu wierszowi z tabeli A odpowiada dokładnie jeden wiersz z tabeli B. Taka relacja może też sugerować podział tabeli na dwie. Stosuje się ją wtedy, gdy zbiory dodatkowych atrybutów są określone jedynie dla bardzo wąskiego podzbioru wierszy.
4. Zależność 1:N
Zależność jeden do wielu polega na tym, że konkretny wiersz tabeli A może być powiązany relacyjnie z dowolną liczbą wierszy zbioru B. Jest to najczęściej spotykana zależność w relacyjnej bazie danych.
5. Zależność N:M
Zależność wiele do wielu to nic innego, jak dwie relacje 1:n. Aby przestawić tę zależność w relacyjnej bazie danych, trzeba oprócz dwóch tabel wprowadzić trzecią, która będzie łączyć każdą z relacji. Będzie to tzw. tabela łącznikowa.
6. Encja
Encja to nic innego jak wiersz tabeli w modelu relacyjnym. Są odpowiednikami klas w programowaniu obiektowym i mogą mieć różne właściwości, czly atrybuty. Encja sama w sobie nie wiąże się ściśle z RDBMS.
7. Atrybut
Atrybut to inaczej kolumna tabeli. Właściwości atrybutów określają rekordy (wiersze). Każdy atrybut zawiera ściśle określony typ danych np. liczby, daty etc. oraz unikalną nazwę. Zbiory atrybutów nazywane są krotkami. Zbiory atrybutów nie muszą być uporządkowane, a o ich kolejności decydujemy sami. Wartość każdego atrybutu powinna być niepodzielna (atomowa).
8. Relacja
Relacja to inaczej zbiory krotek, czyli tabela. W relacyjnej bazie danych krotki muszą być unikalne, choć język programowania SQL pozwala na duplikację wierszy w obrębie jednej tabeli. Każda z tabel przechowuje informacje o określonym typie danych, podobnie jak klasa w obiektowym języku programowania przechowuje informacje o określonym typie obiektów. Relacja jest podstawową strukturą projektowania niezależnych obiektów o ściśle określonym typie, które przechowuje się w bazie danych.
Zalety korzystania z relacyjnej bazy danych
Umieszczając konkretne informacje w tabeli relacyjnej bazy danych np. wykaz wynagrodzeń pracowników danej firmy, można w łatwy i prosty sposób nimi zarządzać i uniknąć chaosu. Używanie RDBMS w firmie pozwala częściowo zautomatyzować pewne procesy, co przełoży się na efektywniejszą i bardziej wydajną pracę. O zaletach korzystania z relacyjnej bazy danych informuje też ACID, czyli skrót najkorzystniejszych cech:
– Atomicity, czyli niepodzielność bazy danych. Wszystkie elementy bazy danych tworzą spójną całość. Zostają zatwierdzone wszystkie lub żaden element nie zostaje finalnie zatwierdzony;
– Consistency, czyli spójność bazy danych. Spójność określa przechowywanie elementów w bazie danych po zakończonej transakcji;
– Isolation, czyli izolacja bazy danych. Efekt pojedynczej transakcji jest niewidoczny do momentu jej zatwierdzenia;
–Durability, czyli wytrzymałość bazy danych. Po zakończeniu konkretnej transakcji nie można wprowadzić już żadnych zmian i dane pozostają zabezpieczone.
Lista najpopularniejszych RDBMS
Jakie są najpopularniejsze obecnie relacyjne bazy danych używane w branży IT? Najbardziej znaną relacyjną bazą danych jest baza danych Oracle Database, która oprócz RDBMS umożliwia także przechowywanie danych na serwerze strony internetowej, w graph RDBMS, pamięci głównej, dzienniku oraz PDF. Jakie są inne równie popularne bazy danych?
– MySQL to największa darmowa baza danych na świecie typu open-source;
– Altibase to skalowalny serwer o wysokiej wydajności, z którego korzystają wielkie firmy z listy Global 500;
– MongoDB to równie popularny typ serwera bazy danych NoSQL. Dzięki modułowej strukturze, którą można rozszerzać i aktualizować jest bardzo wydajny i łatwo skalowalny;
– Microsoft Access Database, czyli serwer zaprojektowany przez Microsoft. Umożliwia zarządzanie danymi tabel, wyszukiwaniami, formularzami oraz plikami, wtyczkami i modułami na serwerze Access Jet w pojedynczym zbiorze plików;
– SAP HANA to opracowana przez SAP SE relacyjna baza danych. Służy do przechowywania informacji o aplikacjach oraz innych materiałów źródłowych. To serwer, który może zarządzać informacjami SAP i semi SAP.
Jak wygląda przyszłość relacyjnej bazy danych?
52 lata po powstaniu pierwszej relacyjnej bazy danych mamy dostęp do nowoczesnych technologii, dzięki którym zarządzanie RDBMS stało się łatwe i bardziej wydajne. Z drugiej strony, są coraz bardziej skomplikowane, przez co wymagają odpowiednich umiejętności od programistów. Najnowocześniejsze rozwiązania automatyzujące administrację bazami danych opierają się na Machine Learning, dzięki czemu automatyczne bazy danych mogą niemal całkowicie wyeliminować konieczność pracy programisty. Co więcej, tworzenie automatycznej relacyjnej bazy danych jest proste i nieskomplikowane, dzięki czemu programista może ją stworzyć w momencie, w którym będzie jej potrzebował. Przyszłość pokaże, czy technologii RDBMS wykorzystującej AI uda się całkowicie zastąpić człowieka. Zanim to nastąpi, na rynku wciąż jest popyt na programistów SQL, którzy będą w stanie zaprojektować i administrować relacyjną bazą danych w organizacji.