DB
Typy danych stosowane w bazach danych
Określanie typów danych dla atrybutów w relacyjnych bazach danych · INF.03
Moduł Co to są typy danych w bazach?
Typy danych określają, jaki rodzaj informacji może być przechowywany w tabelach bazodanowych. Są to m.in. typy liczbowe, znakowe, daty i czasu, oraz typy specjalne dla dużych obiektów i danych binarnych.
- Zrozumiesz podstawowe kategorie typów danych.
- Dowiesz się, jak dobierać typy danych do konkretnych atrybutów.
- Poznasz różnice między typami w popularnych SZBD.
- Nauczysz się stosować typy danych w praktyce.
Typy liczbowe
- Typy całkowite: INT, SMALLINT, BIGINT – są używane dla liczb całkowitych, np. identyfikatorów, ilości.
- Typy zmiennoprzecinkowe: FLOAT, DOUBLE, DECIMAL – dla wartości dziesiętnych, np. cen, ilości z przecinkiem.
- DECIMAL jest szczególnie ważny przy danych finansowych ze względu na precyzję i brak błędów zaokrąglania.
Typy znakowe
- CHAR – stała długość łańcucha znaków, np. kody, identyfikatory stałej długości.
- VARCHAR – zmienna długość tekstu, np. imiona, opisy, adresy e-mail.
- TEXT – długie teksty, np. komentarze, artykuły.
- NCHAR, NVARCHAR – wersje UTF do obsługi znaków Unicode.
Daty i czasy
- DATE – przechowuje datę (rok, miesiąc, dzień).
- TIME – przechowuje czas (godzina, minuta, sekunda).
- DATETIME, TIMESTAMP – data i czas razem.
- Wielkość typów zależy od systemu – np. MySQL ma TIMESTAMP w 4 bajtach, DATETIME w 8 bajtach.
Typy specjalne i duże obiekty
- BLOB – dane binarne (obrazy, pliki).
- CLOB – duże tekstowe obiekty.
- JSON – do przechowywania danych semi-strukturalnych.
- UUID – unikalne identyfikatory.
Dobór typów do atrybutów
- Zawsze dobieraj najmniejszy typ mieszczący dane (np. SMALLINT zamiast INT, jeśli zakres jest odpowiedni).
- Wybieraj typ znakowy adekwatny do przewidywanej długości tekstu.
- Dla danych walutowych preferuj DECIMAL zamiast FLOAT.
- Używaj typów specjalnych, gdy dane mają niestandardową strukturę (JSON, UUID).
- Zwracaj uwagę na kompatybilność typów pomiędzy różnymi SZBD przy migracjach.
Ćwiczenia praktyczne
Ćwiczenie 1 — Dobierz typy dla pola „Cena produktu” i „Data sprzedaży”.
Cena produktu: DECIMAL(10,2) Data sprzedaży: DATE lub DATETIME w zależności od potrzeb precyzji czasu
Ćwiczenie 2 — Określ jakie typy danych będą najlepsze dla atrybutów: PESEL, opis produktu, liczba dostępnych sztuk.
PESEL: CHAR(11) Opis produktu: TEXT lub VARCHAR(255) Liczba dostępnych sztuk: INT lub SMALLINT
Quiz
DECIMAL (numeryczny dziesiętny)
FLOAT (zmiennoprzecinkowy)
FLOAT (zmiennoprzecinkowy)
CHAR
INT
INT
TEXT
VARCHAR
VARCHAR
Checklista
Materiały: INF.03 — Typy danych · Autor: Tomasz Puchała © 2025