JavaRush /Курси /SQL SELF /Вступ до типів даних у PostgreSQL

Вступ до типів даних у PostgreSQL

SQL SELF
Рівень 15 , Лекція 0
Відкрита

Це та сама лекція, з якої цілком можна було б почати наш курс. Але тоді твої перші задачі й лекції були б дуже нудними. Якщо б ти вирішив попрацювати один день будівельником, з чого б ти хотів почати: вивчити типи й форми цегли чи порулити баштовим краном 30 хвилин? Отож бо :)

Учень — це не посудина, яку треба наповнити, це факел, який треба запалити (і не спалити при цьому)! Я стараюсь не розповісти тобі все, що знаю, а зробити це так, щоб тобі було цікаво. І саме зараз саме час почати знайомитись із типами даних.

Тип даних у PostgreSQL — це вказівка того, яка саме інформація буде зберігатись у певному стовпці таблиці. Наприклад, числа, текст або дати. Це трохи схоже на те, як ти обираєш коробку для зберігання: маленька для дрібниць, велика для взуття, прозора для ниток, щоб одразу розуміти, що де лежить.

Приклад:

  • Якщо ти хочеш зберігати вік людини, тобі підійде числовий тип даних.
  • Якщо треба зберегти ім'я, тобі знадобляться текстові типи даних.
  • А щоб відмітити дату реєстрації, логічно використовувати тип даних дати.

Навіщо потрібні типи даних?

Типи даних допомагають:

  1. Обмежувати введену інформацію. Наприклад, ти не зможеш вставити текст, де очікується число.
  2. Структурувати дані. Чітко розуміючи, що в якому стовпці знаходиться, легше будувати запити й аналізувати інформацію.
  3. Економити ресурси. Використовуючи правильні типи, ти зменшуєш споживання пам'яті.
  4. Зберігати точність. Наприклад, фінансові розрахунки вимагають чисел із фіксованою комою.

Приклад для натхнення

Уяви собі таблицю для зберігання інформації про студентів:

id name age enrollment_date
1 Otto Mars 22 2023-01-15
2 Anna Song 19 2023-02-10

Тут id — це унікальний ідентифікатор (число), name — текст, age — число віку, а enrollment_date — дата зарахування студента. Всі ці дані мають різні типи даних, бо вони описують різні аспекти об'єкта.

Класифікація типів даних у PostgreSQL

PostgreSQL має неймовірну гнучкість у роботі з типами даних. Нижче наведена коротка класифікація.

Основні категорії типів даних:

  1. Числові типи

    • Для зберігання цілих чисел (наприклад, кількість, ідентифікатор) і чисел із дробовою частиною (наприклад, гроші).
    • Приклади: INTEGER, NUMERIC, FLOAT.
  2. Текстові типи

    • Для зберігання текстів і рядків (наприклад, імена, адреси).
    • Приклади: CHAR, VARCHAR, TEXT.
  3. Логічний тип

    • Для зберігання логічних значень TRUE (істина) або FALSE (брехня).
    • Приклад: BOOLEAN.
  4. Типи для роботи з датами та часом

    • Для зберігання дат, часу або їх комбінації.
    • Приклади: DATE, TIME, TIMESTAMP.
  5. Спеціальні типи

    • Унікальні ідентифікатори, JSON-об'єкти, масиви та багато іншого.
    • Приклади: UUID, JSONB, ARRAY.

Особливості типів даних у PostgreSQL

PostgreSQL підтримує величезну різноманітність вбудованих типів і дозволяє створювати кастомні (користувацькі) типи даних. Це робить роботу з цією СУБД особливо потужною для складних систем, де потрібні специфічні вимоги до даних.

Цікаво, що в PostgreSQL ти можеш навіть зберігати географічні дані або виконувати запити типу "Знайди кафе в радіусі 500 метрів від мене". Для таких задач використовуються спеціальні типи даних.

Що дає явне вказання типів даних?

Іноді здається, що було б зручно зробити всі колонки в таблиці текстовими — адже текст може зберігати все. Але це погана практика! Вказання відповідних типів даних дозволяє:

Спрощувати запити. Якщо PostgreSQL знає, що в колонці тільки числа, він швидше виконує підрахунки, наприклад SUM().

Уникати помилок. Уяви, що випадково зберіг "тридцять два" замість 32 у стовпці, де зберігаються віки. Ловити такі помилки буде дуже складно.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ