JavaRush /Курси /SQL SELF /Основи створення таблиць: CREATE TABLE

Основи створення таблиць: CREATE TABLE

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

На перших лекціях ми заклали базові знання про реляційні бази даних і PostgreSQL, розібралися, як працювати з psql і pgAdmin, а ще навчилися створювати й керувати базами даних. Тепер час перейти до створення основного "будівельного матеріалу" реляційних баз даних – таблиць. Саме таблиці зберігають всю інформацію, яку потім можна фільтрувати, сортувати чи об'єднувати.

Створювати таблиці в PostgreSQL можна за допомогою команди CREATE TABLE. Команда описує структуру таблиці: її назву, стовпці та їх типи даних.

Загальна структура команди

Ось як виглядає базовий синтаксис:

CREATE TABLE таблиця (
    колонка1 тип_даних constraints,
    колонка2 тип_даних constraints,
    ...
);

Розбираємо по частинах:

  • таблиця – ім'я таблиці (наприклад, students).
  • колонка1 – ім'я стовпця (наприклад, id, name).
  • тип_даних – тип даних стовпця (наприклад, INTEGER, VARCHAR).
  • constraints – обмеження для даних (наприклад, NOT NULL, PRIMARY KEY).

Тепер створимо нашу першу таблицю.

Приклад створення таблиці

Сценарій: в навчальній базі даних треба зберігати дані про студентів. Для цього створимо таблицю students з полями:

  • id: унікальний ідентифікатор студента (автоматично збільшується);
  • name: ім'я студента (довжина рядка до 100 символів);
  • age: вік студента (додатнє ціле число).
CREATE TABLE students (
    id SERIAL PRIMARY KEY,  -- унікальний ID студента
    name VARCHAR(100),      -- ім'я
    age INTEGER             -- вік
);

Що тут відбувається:

  1. id SERIAL PRIMARY KEY: створюється стовпець id, який автоматично генерує унікальні числа (1, 2, 3...) для кожного рядка. Також він є первинним ключем таблиці.
  2. name VARCHAR(100): створюється текстовий стовпець, де VARCHAR(100) означає, що рядок може бути довжиною до 100 символів.
  3. age INTEGER: створюється числовий стовпець для зберігання віку.

Тепер, якщо виконати цей запит у psql чи pgAdmin, таблиця students буде створена.

Типи даних для стовпців

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

Тип даних Опис Приклад значень
INTEGER Цілі числа. Круто підходить для віку, кількості чогось, ідентифікаторів. 1, 42, 100
VARCHAR(n) Рядок довжиною до n символів. Ідеально для текстів з обмеженою довжиною. 'Alice', 'Bob'
TEXT Необмежені рядки. Використовується для довгих текстів (наприклад, опис продукту). 'Дуже довгий текст...'
DATE Дата без часу. Використовується для запису дат народження, подій. 2023-10-12
BOOLEAN Логічний тип: TRUE або FALSE. Використовується для прапорців (наприклад, виконано/ні). TRUE, FALSE

Вибір підходящого типу даних

  • Якщо зберігаєш числа – використовуй INTEGER.
  • Для рядків з відомим обмеженням довжини – краще вибрати VARCHAR(n).
  • Для тексту без обмежень – використовуй TEXT.
  • Дати й час зберігай у DATE або TIMESTAMP.

Приклад: створюємо таблицю courses

Уявімо, що в нашій базі даних теж треба зберігати інформацію про курси. У кожного курсу є:

  • id: унікальний ідентифікатор;
  • name: назва курсу (рядок до 100 символів);
  • description: опис курсу (довгий текст);
  • start_date: дата початку курсу.

SQL-код:

CREATE TABLE courses (
    id SERIAL PRIMARY KEY,      -- унікальний ID курсу
    name VARCHAR(100),          -- назва курсу
    description TEXT,           -- опис
    start_date DATE             -- дата старту
);

Практичне завдання

Тепер твоя черга створити таблицю! Ось завдання:

  1. Створи таблицю teachers з полями:
    • id: унікальний ідентифікатор.
    • name: ім'я вчителя (рядок до 50 символів).
    • subject: предмет, який він/вона викладає (рядок до 50 символів).
    • hire_date: дата прийому на роботу.

Приклад коду для виконання:

CREATE TABLE teachers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    subject VARCHAR(50),
    hire_date DATE
);

Після виконання використай команду \d teachers у psql, щоб переконатися, що таблиця створена.

Типові помилки при створенні таблиць

Коли починаєш працювати з таблицями, можуть виникати помилки. Ось кілька частих ситуацій:

Помилка в назві таблиці чи стовпця. У PostgreSQL імена не чутливі до регістру, але якщо ти використовуєш лапки " навколо назв, треба бути уважним. Наприклад, CREATE TABLE "MyTable" створює таблицю "MyTable", а mytable не розпізнається як її назва.

Неправильний тип даних. Якщо вказати неіснуючий тип даних, запит завершиться помилкою.

CREATE TABLE example (
    column1 STRANGE_TYPE
);

Цей запит не виконається, бо STRANGE_TYPE не існує.

Пропуск PRIMARY KEY. Якщо ти забув додати первинний ключ, то таблиця створиться, але ідентифікувати рядки буде складніше.

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