Модуль 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 — точно й безпечно.
id має тип SERIAL: база сама проставляє номер кожному новому товару (1, 2, 3…), тож вручну його не вводиш. По суті це число (INTEGER), яке присвоюється самостійно, детальніше про id в наступному уроці.
Подивись сам
У завданні — запит, що рахує вартість запасу кожного товару (price * stock). Він працює лише тому, що price і stock — числа, а не текст. Виконай і поглянь на результат (не змінюй сам запит, лише виконай його).
Новий стовпець ми назвали total_value (це робить слово AS — до нього повернемось згодом).
Підсумок
- Тип даних задає правила стовпця. Рахувати (
price * stock) можна лише над числами; гроші — уNUMERIC. - Тип = які значення дозволені + які операції можливі.