Модуль 00 · урок 5

Типи даних: чому це важливо

Засновник хоче порахувати, на яку суму товарів лежить на складі: ціну помножити на кількість. Але чи спрацює множення? Це залежить від типу даних — і саме про типи цей урок.

Кожен стовпець має тип

Тип даних — це правила стовпця: що в ньому можна зберігати і що з ним можна робити. Ось типи в нашій products:

ТипЩо цеСтовпці
TEXTтекстname, category
INTEGERціле числоstock
SERIALціле число — авто-номер, зростає самеid
NUMERIC(10,2)дробове число: усього до 10 цифр, 2 після коми — для грошейprice
BOOLEANтак/ні (true/false)is_active
DATEдатаcreated_at

Чому це важливо

Тип визначає, що можна робити зі значенням:

  • числа можна додавати й множити: напр., price * stock дасть вартість запасу товару;
  • текст лише склеюється, не рахується;
  • дати вміють рахувати дні між собою.

Якби ціна зберігалась як текст, помножити її було б неможливо. Тому гроші завжди тримають у NUMERIC — точно й безпечно.

products id name category price stock is_active created_at INTEGER TEXT TEXT NUMERIC(10,2) INTEGER BOOLEAN DATE кожен стовпець має свій типeach column has its own type cada columna tiene su tipo

id має тип SERIAL: база сама проставляє номер кожному новому товару (1, 2, 3…), тож вручну його не вводиш. По суті це число (INTEGER), яке присвоюється самостійно, детальніше про id в наступному уроці.

Подивись сам

У завданні — запит, що рахує вартість запасу кожного товару (price * stock). Він працює лише тому, що price і stock — числа, а не текст. Виконай і поглянь на результат (не змінюй сам запит, лише виконай його).

Новий стовпець ми назвали total_value (це робить слово AS — до нього повернемось згодом).

Підсумок

  • Тип даних задає правила стовпця. Рахувати (price * stock) можна лише над числами; гроші — у NUMERIC.
  • Тип = які значення дозволені + які операції можливі.