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)
CHAR
INT
TEXT
VARCHAR

Checklista

Materiały: INF.03 — Typy danych · Autor: Tomasz Puchała © 2025