Relacyjne bazy danych SQL – wstęp do tworzenia relacji

Relacyjne bazy danych SQL – wstęp do tworzenia relacji

Wybór rodzajów baz danych SQL jest naprawdę szeroki. Poszukując idealnych rozwiązań do swojej firmy, lub rozważając zajęcie się administracją bazodanową, z pewnością natkniesz się na relacyjne bazy danych. Niniejszy artykuł porusza wszystkie najważniejsze kwestie związane z tym właśnie modelem przechowywania i zarządzania informacjami. Dowiesz się, na czym tak naprawdę polegają relacje baz danych.

10 przydatnych zapytań SQL dla Administratora Baz Danych

Relacyjne bazy danych SQL – co to takiego?

Definicja relacyjnych baz jest dość szeroka, a dotyczy wszystkich systemów zarządzania informacjami, które opierają się o tak zwane relacje. Te z kolei pojawiają się, gdy mowa o charakterystyce wzajemnych odniesień pomiędzy dwoma elementami danych w bazie. 

Relacje baz danych pozwalają administratorom i użytkownikom na tworzenie specjalistycznych połączeń między poszczególnymi zestawami informacji. Po ustanowieniu tych specyficznych odniesień, znacznie łatwiej można zarządzać i korzystać z bazy.

Warto dodać, że wiele relacyjnych baz korzysta z języka SQL (Standard Query Language). Używa się go do wykonywania zapytań oraz organizacji danych w bazie.

Najpopularniejsze implementacje tego modelu bazodanowego to:

Model relacyjny i nierelacyjny – różnice

Jak sama nazwa modelu relacyjnego wskazuje, uporządkowanie informacji odbywa się tu w oparciu o relacje baz danych. W związku z tym, cała struktura i sposób jej organizacji muszą być niezwykle uporządkowane. Struktura fizyczna tego modelu sprawia, że budowanie indeksów oraz tworzenie zapytań to procesy bardziej płynne, a także bezpieczne.

Z kolei nierelacyjne modele bazodanowe, czyli NoSQL, nie opierają się na strukturyzacji obiektów. To zaś pozwala na przechowywanie dużych ilości informacji z jednoczesnym zachowaniem elastyczności, skalowalności i wydajności.

Jak relacyjna baza danych pozwala przechowywać dane?

Organizacja opisywanego modelu danych wykorzystuje ściśle ustaloną strukturyzację poszczególnych elementów. Kiedy tworzymy tego typu bazy, tak naprawdę budujemy tabele. Te z kolei składają się z wierszy (zwanych również rekordami) oraz kolumn (zwanych również atrybutami). Poszczególne kolumny reprezentują zwykle kategorie danych, zaś wiersze odpowiadają indywidualnym instancjom. Taki format przechowywania informacji pozwala na przykład lepiej organizować dane klientów i ich zamówień w sklepie internetowym.

Warto również zaznaczyć, że tabele są pomiędzy sobą połączone relacjami, a w tym celu wykorzystują specjalne klucze. Każdy wiersz w tabeli można zidentyfikować za pomocą klucza głównego. Kiedy doda się go do innej tabeli, wówczas uzyskamy klucz obcy. Relacje baz danych to właściwie relacje pomiędzy tymi elementami, gdyż u ich podstaw leży prawidłowe funkcjonowanie całego systemu.

Relacje baz danych – jak je zdefiniować na przykładzie praktycznym

Wyobraźmy sobie, że wprowadzamy w życie bazę danych w modelu relacyjnym, która posłuży nam do lepszej organizacji magazynu. Będzie on przechowywał różnego rodzaju towary, które produkują odmienni producenci. Z magazynu towary podejmuje wielu różnorodnych hurtowników. Dodatkowo, każdy producent współpracuje ze swoim indywidualnym handlowcem.

Pora uprościć informacje na temat naszego magazynu, które przedstawiliśmy powyżej. Do tego celu posłużą nam encje, czyli rodzaje obiektów bazodanowych. Z naszego przykładu „wyciągnąć” należy następujące encje:

  • Magazyn
  • Towar
  • Producent
  • Hurtownik
  • Handlowiec

W programowaniu obiektowym odpowiednikiem poszczególnych encji są klasy obiektów. Nasz przykład pokazuje, że tych klas będzie w sumie pięć. Warto jednak dodać, że samo pojęcie encji nie pojawia się w przypadku modeli bazodanowych, lecz używa się go w trakcie projektowania bazy.

Atrybuty

Jednym z kluczowych pojęć w przypadku budowania relacji są atrybuty wspomnianych wyżej encji, a więc ich specyficzne właściwości. Przykładowo, każdy producent może mieć nazwę firmy, adres firmy czy numer telefonu. Każda taka informacja to właśnie atrybut. Posiadają one zwykle swoje typy, zupełnie tak, jak w przypadku języków programowania.

Krotka

Wspomniane wcześniej wiersze często dotyczą zbiorów atrybutów, a ich inna nazwa to krotki. W modelu relacyjnym odpowiadają one instancji obiektu w programowaniu obiektowym. Jeśli weźmiemy pod uwagę tabelę towarów, mogą to być na przykład ich nazwy, stany magazynowe czy ceny jednostkowe.

Relacja

W przypadku omawianego modelu, można się spotkać z dwojakim rozumowaniem pojęcia relacji. Oprócz opisanych wcześniej zależności pomiędzy informacjami w bazie, relacja może odnosić się także do zbioru krotek. Wówczas mamy do czynienia ze składowymi tabel, z których wszystkie dotyczą jednej encji, np. towarów. Warto dodać, że w ramach jednego zestawu relacji krotki nie mogą się powtarzać. Każda z nich powinna być zatem unikatowa.

Klucz główny

Jak już wcześniej pisaliśmy, klucz główny tworzy się poprzez zbiór atrybutów w tabeli. Stanowi on niepowtarzalny identyfikator dla poszczególnych wierszy. Przy pomocy kluczy podstawowych bazy są w stanie optymalizować dostęp do informacji. Jeżeli usystematyzuje się wiersze według wartości liczbowych, wtedy łatwiej jest pobierać informacje dzięki identyfikacji liczbowej (np. „1”), niż przez wskazywanie nazwy (np. towaru).

Klucz obcy

Kiedy łączymy różne tabele pomiędzy sobą, wtedy z pomocą przychodzi nam klucz obcy. Polega on na stworzeniu dodatkowej kolumny (tudzież kolumn) w tabeli, gdzie umieszczone są dodatkowe informacje. Gdyby stworzyć osobną kolumnę dla producentów, można z nią powiązać relacją tabelę z towarami danego producenta.


Jeżeli szukasz praktycznego kursu z PostgreSQL, sprawdź Kurs Praktyczna Administracja PostgreSQL! Praktyczne podejście, gotowe skrypty SQL i wiele więcej. Ponad 540 zadowolonych studentów.


Typy relacji pomiędzy danymi w bazie

Jeżeli chodzi o typy relacji bazy danych, możemy wyróżnić trzy rodzaje zależności, jakich zwykle używa się w modelu relacyjnym. Relacje te umownie nazwać można:

  • Jeden-do-jednego
  • Jeden-do-wielu
  • Wiele-do-wielu

Typ relacji jeden-do-jednego ma zastosowanie, gdy jeden obiekt łączymy wyłącznie z jednym obiektem innej tabeli. W przypadku naszego magazynu może to być relacja pomiędzy producentem a handlowcem, co należy przedstawić przy pomocy dodatkowej kolumny w tabeli.

Z kolei model relacji jeden-do-wielu przydaje się w sytuacji, kiedy połączymy jeden obiekt z wieloma mu odpowiadającymi. Najlepszym przykładem może być producent, który odpowiedzialny jest za wiele produktów. Również w tym przypadku wystarczy utworzyć osobną kolumnę, by zbudować tę relację.

Ostatni format to relacja wiele-do-wielu, gdzie tworzymy zależności pomiędzy kilkoma obiektami obu tabel jednocześnie. Przykład? Hurtownicy, którzy zaopatrują się w towary u wielu producentów na raz. W tym przypadku jedna kolumna nie wystarczy, gdyż relację taką rozpisać należy w zupełnie nowej drugiej tabeli.

Rodzaje relacji pomiędzy tabelami baz danych – podsumowanie

Powyższy artykuł pokrótce nakreślił rodzaje relacji, jakie spotkać można w bazach PostgreSQL czy Oracle. Zebrana tutaj wiedza pozwoli Ci zrozumieć, jak typy danych można połączyć ze sobą nie tylko w jednej tabeli, ale także pomiędzy dwiema. Jeśli chcesz wiedzieć więcej, zapraszamy do zapoznania się z programami szkolenia z relacyjnych baz danych. Poznaj oprogramowanie baz i przygotuj się do pracy w ich administracji!