System zarządzania bazą danych (DBMS)

czyli kto pilnuje porządku w cyfrowym świecie danych

Wyobraź sobie, że masz ogromną bibliotekę – tysiące książek, czytelników, kart wypożyczeń.
Ale nie ma bibliotekarza. Każdy może coś dodać, wyjąć, zmienić, zgubić.
Po tygodniu nikt już nie wie, kto ma jaką książkę.

I właśnie dlatego istnieje DBMSDatabase Management System – czyli system zarządzania bazą danych.
To program, który pełni rolę bibliotekarza: porządkuje, pilnuje zasad, chroni dane przed bałaganem i błędami.


Co robi system zarządzania bazą danych

System DBMS to warstwa pośrednia między użytkownikiem (lub aplikacją), a samymi danymi na dysku.

Jego główne zadania:

  1. Przechowywanie danych – zapisuje dane w strukturach (tabelach, plikach, rekordach).
  2. Dostęp do danych – pozwala na wstawianie, wyszukiwanie, usuwanie i modyfikowanie danych.
  3. Bezpieczeństwo – kontroluje, kto może co zrobić z danymi (np. tylko odczyt lub pełny dostęp).
  4. Integralność – pilnuje, żeby dane miały sens i nie przeczyły sobie nawzajem.
  5. Wielodostępność – wielu użytkowników może korzystać z bazy w tym samym czasie.
  6. Kopie zapasowe i odtwarzanie – umożliwia przywrócenie danych po awarii.
  7. Optymalizacja – dba, żeby zapytania działały jak najszybciej (indeksy, buforowanie, plan wykonania).

Jak wygląda to w praktyce

Schemat działania jest prosty:

Użytkownik / Aplikacja
         ↓
       DBMS
         ↓
   Pliki danych na dysku

Użytkownik nie dotyka samych plików z danymi — kontaktuje się z DBMS-em przez język zapytań (np. SQL).
DBMS „tłumaczy” polecenia użytkownika na operacje na danych.


Rodzaje systemów DBMS

Wyróżniamy kilka głównych grup systemów zarządzania bazami danych:

Typ DBMSOpisPrzykładyZastosowanie
Relacyjne (RDBMS)Dane w tabelach połączonych relacjami. Najpopularniejszy typ.MySQL, PostgreSQL, Oracle, SQL Server, MariaDBSklepy, banki, szkoły, aplikacje webowe
Obiektowe (OODBMS)Dane zapisane jako obiekty (z polami i metodami).db4o, ObjectDBAplikacje obiektowe, gry, CAD
HierarchiczneDane zorganizowane w strukturę drzewa.IBM IMS, Windows RegistrySystemy operacyjne, bankowość
SiecioweDane połączone w sieci powiązań (graf).IDMS, TurboIMAGESystemy starszego typu
Nierelacyjne (NoSQL)Dane w dokumentach JSON, klucz–wartość, kolumnach lub grafach.MongoDB, Cassandra, Redis, Neo4jSocial media, aplikacje mobilne, Big Data

Najpopularniejsze systemy DBMS, które warto znać

MySQL / MariaDB

  • darmowy, popularny, używany w XAMPP (na egzaminie INF.03 właśnie z nim pracujesz),
  • obsługuje język SQL,
  • idealny do nauki i mniejszych projektów.

Przykład logowania:

mysql -u root -p

W XAMPP możesz to zrobić przez terminal lub przez phpMyAdmin (graficzny panel przeglądarkowy).


PostgreSQL

  • bardziej rozbudowany niż MySQL,
  • lepiej radzi sobie z dużymi bazami i dokładnymi obliczeniami,
  • często wybierany przez firmy IT.

Ma bardzo wysoką zgodność z językiem SQL i wspiera transakcje, procedury, funkcje, indeksy przestrzenne.


Oracle Database

  • komercyjny system używany w korporacjach,
  • bardzo wydajny i bezpieczny, ale trudniejszy w administracji,
  • wykorzystywany np. w bankach i urzędach.

SQLite

  • lekki system działający bez serwera,
  • cała baza zapisana w jednym pliku,
  • używany w aplikacjach mobilnych (Android, iOS), przeglądarkach, grach.

Przykład:

Gdy w aplikacji na telefonie zapisujesz notatkę — trafia ona do bazy SQLite.


MongoDB (NoSQL)

  • dane zapisane w formacie JSON,
  • nie wymaga tabel ani relacji,
  • bardzo elastyczny i szybki przy dużych ilościach danych.

Przykład dokumentu w MongoDB:

{
  "imie": "Jan",
  "nazwisko": "Kowalski",
  "email": "jan.kowalski@example.com",
  "zamowienia": [
      {"produkt": "Gitara", "ilosc": 1},
      {"produkt": "Struny", "ilosc": 2}
  ]
}

Taka struktura jest bardziej „naturalna” dla danych o różnym kształcie, np. w aplikacjach społecznościowych.


Porównanie relacyjnych i nierelacyjnych DBMS

CechaRelacyjne (SQL)Nierelacyjne (NoSQL)
Struktura danychTabele z kolumnami i wierszamiDokumenty, grafy, kolumny
JęzykSQL (standardowy)Różne (np. Mongo Query Language)
SpójnośćBardzo wysoka (ACID)Często częściowa (BASE)
ElastycznośćSztywna strukturaBardzo elastyczna
ZastosowanieFinanse, szkoły, sklepy, systemy ERPSocial media, aplikacje mobilne, Big Data
PrzykładyMySQL, Oracle, PostgreSQLMongoDB, Redis, Cassandra

Jak DBMS komunikuje się z SQL

DBMS „rozumie” język SQL.
Ty nie musisz znać jego wnętrza – wystarczy, że wydajesz polecenia, np.:

SELECT imie, nazwisko FROM Klienci WHERE miasto = 'Warszawa';

System DBMS:

  1. analizuje składnię zapytania,
  2. sprawdza, czy użytkownik ma uprawnienia,
  3. szuka danych w pamięci,
  4. zwraca wynik w milisekundach.

To trochę jak kelner – nie musisz znać przepisu, wystarczy że wiesz, jak poprosić o danie.


Bez DBMS nie ma SQL

Język SQL sam w sobie nie przechowuje danych — to DBMS wykonuje całą pracę.
SQL to tylko sposób rozmowy z nim.

Kiedy piszesz:

CREATE TABLE Klienci (...);

to DBMS tworzy fizyczny plik w pamięci i wpisuje tam strukturę tabeli.
Kiedy piszesz:

DELETE FROM Klienci WHERE id=3;

to DBMS usuwa rekord, ale też aktualizuje indeksy i zapisuje zmianę w dzienniku transakcji.


Podsumowanie

System zarządzania bazą danych (DBMS):

  • jest pośrednikiem między człowiekiem a danymi,
  • dba o porządek, bezpieczeństwo i szybkość działania,
  • zapewnia spójność i dostępność danych,
  • umożliwia komunikację z bazą poprzez język SQL,
  • występuje w wielu wersjach (relacyjne, obiektowe, NoSQL).

Bez DBMS żadna baza danych nie mogłaby działać – to jej serce i mózg.


Zadania do przećwiczenia

  1. Zastanów się: jaka baza danych stoi za Twoim ulubionym portalem społecznościowym? Relacyjna czy NoSQL?
  2. Wyszukaj: trzy firmy lub aplikacje, które używają MySQL, PostgreSQL i MongoDB – porównaj, dlaczego wybrały właśnie te systemy.
  3. Praktyka: otwórz phpMyAdmin w XAMPP, stwórz nową bazę testowa i sprawdź, jakie operacje możesz wykonać z poziomu interfejsu.
  4. Dla chętnych: narysuj schemat komunikacji: użytkownik → DBMS → pliki danych.