Домашнее задание - Понятия SQL. Синтаксис операторов, типы данных

Выполняйте только если преподаватель назначил это задание. Срок сдачи сообщит преподаватель.

Задание 1. Типы для схемы

Для таблицы «платёж» предложите типы для идентификатора, даты создания, суммы с точностью до копейки, статуса, комментария и необязательного срока хранения. Запишите фрагмент CREATE TABLE. Укажите целевую СУБД, если пользуетесь UUID, JSONB или иным расширением. Обоснуйте NUMERIC/DECIMAL и объясните, почему FLOAT не является равнозначной заменой денежному типу.

CREATE TABLE платёж (
  -- заполните сами: поля и типы
);

Задание 2. Составление выражений

  1. Запишите точное выражение для суммы 12,35 и 7,65, приведя литералы к NUMERIC.
  2. Создайте текстовый код заказа из строкового префикса и целого номера. Укажите используемый оператор/функцию для целевой СУБД.
  3. Сравните дату события с явно заданным значением DATE и выберите тип столбца.
  4. Запишите интервал в 30 дней и объясните отличие INTERVAL от INTEGER 30.
  5. Для PostgreSQL запишите пример массива двух приближённых координат и JSONB-значение метаданных.

Задание 3. Проверка приведения типов

Для каждого выражения укажите: целевой тип, возможный результат, условие ошибки или потери информации. Перепишите небезопасные места с явным приведением.

CAST('42' AS INTEGER)
CAST('42x' AS INTEGER)
CAST('999999999999999999999' AS SMALLINT)
CAST('2026-10-01' AS DATE)
CAST('01/10/2026' AS DATE)
CAST(12.349 AS NUMERIC(5,2))

Отдельно поясните, почему формат строки даты может зависеть от СУБД/настроек, а уменьшение масштаба числа может округлять значение.

Задание 4. Синтаксис и классификация

Классифицируйте CREATE TABLE, INSERT, SELECT, GRANT и COMMIT. Подчеркните в собственном SELECT ключевые слова, источник, условие и сортировку. В 3–5 предложениях поясните, что в вашей работе относится к стандартному SQL, а что требует выбранного диалекта.

Форма сдачи

Представьте фрагменты SQL и краткие пояснения к решениям. Проверьте скобки, кавычки и окончания операторов. Используйте только вымышленные значения; не включайте персональные данные. Если преподаватель не назначал резервную работу, выполнять и отправлять её не требуется.