RDBMS

System zarządzania relacyjną bazą danych, np. MySQL czy PostgreSQL. Odpowiada za przechowywanie, bezpieczeństwo i obsługę zapytań do danych.

RDBMS (Relational Database Management System), czyli system zarządzania relacyjną bazą danych, to oprogramowanie, które przechowuje dane w postaci tabel powiązanych ze sobą relacjami i pozwala nimi zarządzać przez język SQL. Najpopularniejsze przykłady to PostgreSQL, MySQL, MariaDB, SQLite, Oracle Database oraz Microsoft SQL Server. W skrócie: to warstwa, która zamiast pliku z chaosem daje Ci uporządkowane tabele, kolumny o określonych typach i gwarancje, że dane się nie posypią.

Jak to działa i do czego służy

Model relacyjny opiera się na tabelach (relacjach), w których wiersze to rekordy, a kolumny to atrybuty o zdefiniowanym typie (np. INTEGER, VARCHAR, DATE). Tabele łączysz kluczami: primary key jednoznacznie identyfikuje wiersz, a foreign key wskazuje na wiersz w innej tabeli. Dzięki temu zamiast duplikować dane (np. dane klienta w każdym zamówieniu), trzymasz je raz i odwołujesz się do nich relacją.

RDBMS robi jednak znacznie więcej niż samo przechowywanie. Odpowiada za bezpieczeństwo (uprawnienia, logowanie), współbieżny dostęp wielu użytkowników naraz, optymalizację zapytań (query planner dobiera, jak najszybciej wyciągnąć dane), indeksy oraz transakcje zgodne z ACID (Atomicity, Consistency, Isolation, Durability). To właśnie ACID sprawia, że przelew bankowy albo zdejmie pieniądze i je dopisze, albo nie zrobi nic — bez stanów pośrednich.

Przykład z praktyki

Załóżmy, że stawiasz PostgreSQL i tworzysz dwie powiązane tabele:

  • CREATE TABLE users (id SERIAL PRIMARY KEY, email TEXT UNIQUE);
  • CREATE TABLE orders (id SERIAL PRIMARY KEY, user_id INTEGER REFERENCES users(id), total NUMERIC);

Teraz jednym zapytaniem łączysz dane z obu tabel: SELECT u.email, o.total FROM users u JOIN orders o ON o.user_id = u.id;. To jest cała magia relacyjności — JOIN skleja informacje rozsiane po tabelach, a foreign key pilnuje, żeby nie powstało zamówienie przypisane do nieistniejącego użytkownika.

Częste błędy i mity

  • RDBMS to nie to samo co baza danych. Baza to zbiór danych, RDBMS to silnik, który nią zarządza. MySQL to RDBMS; Twoja konkretna baza sklep to baza.
  • SQL i RDBMS to nie synonimy. SQL to język zapytań, RDBMS to system, który go obsługuje.
  • „Relacyjne” nie pochodzi od relacji między tabelami w potocznym sensie, tylko od matematycznego pojęcia relacji (tabeli). Drobiazg, ale na rozmowie rekrutacyjnej robi różnicę.
  • Brak indeksów na kolumnach używanych w WHERE i JOIN potrafi zamienić szybkie zapytanie w wielosekundowe pełzanie po milionach wierszy.

Pojęcia powiązane

SQL, primary key, foreign key, transakcje ACID, indeksy, normalizacja, JOIN, NoSQL (alternatywa nierelacyjna, np. MongoDB), ORM.