Relacyjne bazy danych – cechy i model relacyjny

Charakterystyka, zasady, porównanie z innymi typami baz danych · INF.03

Moduł Czym są relacyjne bazy danych?

Relacyjne bazy danych to systemy przechowywania danych w postaci tabel powiązanych kluczami. Model relacyjny oparty jest na teorii matematycznej i zasadach zaproponowanych przez Edgara F. Codda.

  • Poznasz podstawowe cechy modelu relacyjnego
  • Zrozumiesz pojęcia: tabela, krotka, atrybut, klucz główny, klucz obcy
  • Porównasz relacyjne bazy z innymi typami (hierarchiczne, sieciowe, NoSQL)
  • Przećwiczysz identyfikację relacji i struktur w praktycznych zadaniach

Model relacyjny Podstawowe pojęcia

  • Tabela (relacja) – podstawowa struktura przechowywania danych, składa się z wierszy i kolumn
  • Krotka (rekord, wiersz) – pojedynczy zestaw danych w tabeli
  • Atrybut (kolumna) – właściwość encji, np. imię, cena
  • Klucz główny (Primary Key, PK) – unikalny identyfikator rekordu
  • Klucz obcy (Foreign Key, FK) – atrybut powiązujący dwie tabele
  • Integralność referencyjna – zachowanie spójności relacji między tabelami

Cechy relacyjnych baz danych

  • Dane są zorganizowane w tabele (relacje)
  • Każda tabela ma unikalny klucz główny
  • Relacje między tabelami realizowane przez klucze obce
  • Wspierają język SQL do manipulacji danymi
  • Gwarantują właściwości ACID (Atomicity, Consistency, Isolation, Durability)
  • Normalizacja – eliminacja redundancji poprzez podział tabel

Typy baz danych Porównanie

  • Relacyjne (RDBMS) – MySQL, PostgreSQL, Oracle, MSSQL – struktura tabelaryczna, SQL
  • Hierarchiczne – struktury drzewiaste, np. stare systemy mainframe
  • Sieciowe – graf z węzłami i krawędziami, elastyczniejsze niż hierarchiczne
  • NoSQL – MongoDB, Redis, Cassandra – dokumentowe, klucz-wartość, kolumnowe, grafowe
  • Obiektowe – przechowywanie obiektów programistycznych bezpośrednio
Ćwiczenie 1 — Porównaj cechy relacyjnych i NoSQL
Relacyjne: strukturalne, SQL, normalizacja, ACID, klucze
NoSQL: elastyczne schematy, skalowalność pozioma, różne modele danych

Przykład Tabele i relacje

Tabela Uczniowie
| id | imie   | nazwisko | klasa_id |
|----|--------|----------|----------|
| 1  | Jan    | Kowalski | 3        |
| 2  | Anna   | Nowak    | 3        |
Tabela Klasy
| id | nazwa |
|----|-------|
| 3  | 3A    |

Relacja: Uczniowie.klasa_id (FK) → Klasy.id (PK)

Ćwiczenia praktyczne

Ćwiczenie 2 — Zidentyfikuj klucze i relacje

Masz tabele: Produkty (id, nazwa, cena, kategoria_id) oraz Kategorie (id, nazwa). Wskaż PK i FK.

Produkty: PK = id, FK = kategoria_id → Kategorie.id
Kategorie: PK = id
Ćwiczenie 3 — Określ typ bazy danych dla scenariusza

System e-commerce ze strukturalnymi danymi, raportowanie, transakcje. Jaką bazę wybierzesz?

Relacyjna (MySQL, PostgreSQL) – wsparcie dla transakcji ACID, SQL, normalizacja

Quiz Sprawdź wiedzę

Unikalny identyfikator rekordu
Powiązanie z inną tabelą
Speed (szybkość)
Durability (trwałość)
NoSQL
RDBMS

Checklista

Materiały: INF.03 — Model relacyjny · Autor: Tomasz Puchała © 2025