>_ IzzyLab

Практическое задание

PostgreSQL: таблица с ограничениями

средне

В базе shop создай таблицу products с колонками: id — целое, PRIMARY KEY; name — текст, NOT NULL; price — numeric.

Что потренируешь:
  • postgresql
  • create table
  • primary key
  • not null
  • типы данных

Разбор темы

Ограничения (constraints) в PostgreSQL объявляются прямо в CREATE TABLE рядом с колонкой: PRIMARY KEY даёт уникальность плюс запрет NULL и автоматически создаёт уникальный индекс, а NOT NULL лишь запрещает пустое значение без требования уникальности. Отдельное внимание к выбору типа для денег: точный десятичный тип (numeric/decimal) хранит суммы без ошибок округления, тогда как float/real — приближённое двоичное представление, из-за которого копейки «плывут». Мысленная модель: имена и порядок колонок берут из условия, а тип каждой колонки выбирают под её смысл. Структуру таблицы удобно смотреть командой \d в psql.

Что проверяется

  1. у products есть PRIMARY KEY
  2. колонка name объявлена NOT NULL

Как это выглядит