Как стать автором
Обновить

Комментарии 14

ограничение уникальности

Это терминология PostgreSQL или автора? Вроде всегда было "Уникальный ключ"

Вот и у меня такой же вопрос появился. PostgreSQL не юзаю, в MS SQL такие ключи называются уникальными.

называются они Constraints. И бывают Unique, Foreign Key, Primary Key, Not Null, Check, Default.

в разных источниках используют разные термины, я опиралась на документацию, а там "ограничение уникальности", поэтому в статье решила использовать его PostgreSQL : Документация: 14: 5.4. Ограничения : Компания Postgres Professional

Но думаю, можно использовать и "уникальный ключ", главное, чтобы у всех было одинаковое понимание)

Согласно теории баз данных, каждая таблица должна иметь первичный ключ.

ну уж нет. Это только если нам нужна 2НФ

В реальности полно таблиц без всякого признака PK

Субъективно, что ещё важно по отличиям Primary и Unique: 1. Unique допускают значение null, но только одно для каждого столбца. 2. Primary может быть автоинкрементном

про автоинкремент не надо, это уже сильно зависит от конкретной субд. Где-то сиквенсы с дефолтом - и там на любой столбец вешай, хоть вообще без конктрейнта, а где-то только PK. Это уже не относится к теории

Null можно добавлять сколько угодно в уникальный столбец, оно просто не учитывается.

это тоже зависит от реализации, в mssql субд например, по умолчанию unique constraint разрешает один NULL и не дает вставить два !! Опять же в postgres 15 добавлен параметр NULLS NOT DISTINCT для unique constraint который задает такое же поведение - один NULL можно вставить, два - нет

Да, стажер иногда может загнать в тупик своим вопросом). Табличка полезная - такие мини-вопросы можно задавать на собесах.

Понравилась подача.
Здесь и теория, и конкретные примеры в PostgreSQL, автор объяснила особенности использования каждого типа ключевых ограничений.

Такой материал будет полезен для начинающих.

Спасибо, за отличную работу)

Отличная статья! И не только для аналитиков

Было интересно почитать, отлично подаете материал, думаю не только аналитик тут может найти для себя что то познавательное)

Спасибо, для новичка, прям зашло:)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации