Pull to refresh

Comments 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, автор объяснила особенности использования каждого типа ключевых ограничений.

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

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

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

Sign up to leave a comment.

Articles