DB
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ą
Powiązanie z inną tabelą
Speed (szybkość)
Durability (trwałość)
Durability (trwałość)
NoSQL
RDBMS
RDBMS
Checklista
Materiały: INF.03 — Model relacyjny · Autor: Tomasz Puchała © 2025