I. Podstawowe pojęcia
-
Baza danych (Database):
Zorganizowany zbiór danych przechowywanych w systemie komputerowym, zazwyczaj zarządzany przez system zarządzania bazą danych (DBMS).
-
DBMS / SZBD (Database Management System / System Zarządzania Bazą Danych):
Oprogramowanie służące do tworzenia, zarządzania i obsługi baz danych (np. PostgreSQL, MySQL, Oracle, MongoDB).
-
Model danych:
Abstrakcyjny sposób opisu struktury danych. Najpopularniejsze to model relacyjny (tabele) i dokumentowy (np. JSON).
-
CRUD:
Akronim od czterech podstawowych operacji na danych:
Create (tworzenie),
Read (odczyt),
Update (aktualizacja),
Delete (usuwanie).
II. Relacyjne Bazy Danych (RDBMS)
-
Tabela (Table):
Podstawowa struktura przechowywania danych w bazach relacyjnych, składająca się z wierszy i kolumn.
-
Wiersz / Rekord (Row / Record):
Pojedynczy wpis w tabeli zawierający dane dotyczące jednego obiektu (np. jeden klient).
-
Kolumna / Pole (Column / Field):
Określony atrybut w tabeli (np. „Nazwisko”, „Wiek”), który definiuje typ danych dla wszystkich rekordów w tej kolumnie.
-
Klucz główny (Primary Key - PK):
Unikalny identyfikator wiersza w tabeli. Musi być niepowtarzalny i nie może być pusty (NULL).
-
Klucz obcy (Foreign Key - FK):
Pole, które łączy jeden wiersz w tabeli z wierszem w innej tabeli. Służy do tworzenia relacji między tabelami.
-
Relacja (Relation):
Związek między tabelami.
- 1:1 (Jeden do jednego): Jeden rekord w tabeli A odpowiada jednemu w tabeli B.
- 1:N (Jeden do wielu): Jeden rekord w tabeli A odpowiada wielu rekordom w tabeli B (najczęstszy typ).
- N:M (Wiele do wielu): Wiele rekordów w tabeli A odpowiada wielu rekordom w tabeli B (wymaga tabeli łącznikowej).
-
Schemat (Schema):
Logiczna struktura bazy danych, definiująca tabele, widoki, indeksy i relacje między nimi.
III. Język SQL (Structured Query Language)
-
SQL:
Standardowy język służący do komunikacji z relacyjnymi bazami danych.
-
Zapytanie (Query):
Polecenie wysłane do bazy danych w celu pobrania lub modyfikacji informacji.
-
SELECT:
Podstawowa komenda służąca do pobierania danych z bazy.
-
JOIN (Złączenie):
Operacja pozwalająca na pobranie danych z kilku tabel jednocześnie na podstawie powiązanych kolumn.
- INNER JOIN: Zwraca tylko rekordy pasujące w obu tabelach.
- LEFT JOIN: Zwraca wszystkie rekordy z lewej tabeli i dopasowane z prawej (lub NULL, jeśli brak dopasowania).
-
Widok (View):
„Wirtualna tabela” stworzona na podstawie wyniku zapytania SQL. Nie przechowuje danych fizycznie, lecz ułatwia dostęp do złożonych zapytań.
IV. Transakcje i Bezpieczeństwo (ACID)
-
Transakcja:
Sekwencja operacji na bazie danych traktowana jako jedna całość. Albo wszystkie operacje się udają, albo żadna.
-
ACID:
Zbiór czterech właściwości gwarantujących poprawność transakcji:
- Atomicity (Atomowość): Wszystko albo nic (jeśli jedna część transakcji zawiedzie, cała jest wycofywana).
- Consistency (Spójność): Baza przechodzi z jednego poprawnego stanu w drugi.
- Isolation (Izolacja): Transakcje nie zakłócają się nawzajem.
- Durability (Trwałość): Po zatwierdzeniu transakcji dane są bezpieczne nawet w przypadku awarii zasilania.
-
Commit:
Zatwierdzenie transakcji (zapisanie zmian na stałe).
-
Rollback:
Wycofanie zmian wprowadzonych w trakcie transakcji (powrót do stanu sprzed transakcji).
V. Wydajność i Projektowanie
-
Indeks (Index):
Struktura danych poprawiająca szybkość operacji wyszukiwania w tabeli (działa jak indeks w książce), ale spowalniająca zapis (INSERT/UPDATE).
-
Normalizacja: SZCZEGÓŁY ➤
Proces organizowania danych w bazie w celu zminimalizowania redundancji (powtórzeń) i uniknięcia anomalii przy modyfikacji. I, II, III Postać Normalna (1NF, 2NF, 3NF) to stopnie zaawansowania tego procesu.
-
Denormalizacja:
Świadome wprowadzanie redundancji (powtórzeń danych) w celu przyspieszenia odczytu, kosztem wolniejszego zapisu i większego rozmiaru bazy.
VI. NoSQL i Nowoczesne Technologie
-
NoSQL (Not Only SQL):
Bazy danych, które nie używają tradycyjnego modelu tabelarycznego. Często stosowane w Big Data i aplikacjach czasu rzeczywistego.
-
Baza dokumentowa (Document Store):
Przechowuje dane w postaci dokumentów (np. JSON, BSON), np. MongoDB.
-
Klucz-wartość (Key-Value Store):
Najprostszy typ NoSQL, przechowuje pary klucz-wartość, np. Redis.
-
Sharding:
Metoda rozpraszania danych na wiele serwerów (horyzontalne skalowanie), aby obsłużyć duży ruch i ilość danych.
-
Replikacja (Replication):
Tworzenie kopii bazy danych na innym serwerze w celu zwiększenia bezpieczeństwa i dostępności danych.
-
ORM (Object-Relational Mapping):
Narzędzie programistyczne (np. Hibernate, Entity Framework), które pozwala operować na bazie danych za pomocą obiektów w kodzie (np. w Javie czy Pythonie), zamiast pisać czysty SQL.