Перейти к основному содержимому
Sanjana Sen
Analytics Engineer at dbt Labs
View All Authors

Что такое первичный ключ и зачем мы их тестируем?

· 5 мин. чтения
Sanjana Sen
Analytics Engineer at dbt Labs
Jason Ganz
Director of Community, Developer Experience & AI at dbt Labs
David Krevitt
Marketing at dbt Labs

Мы все это делали: расширяли данные во время объединения, создавая дублирующиеся записи (иногда дублирующиеся в нескольких экземплярах).

Тот случай, когда исторические данные о доходах удвоились в понедельник? Классический пример расширения.

Можно ли было этого избежать? Да, очень просто: определив уникальность гранулярность для таблица с помощью первичного ключа и обеспечив её с помощью теста dbt.

Итак, давайте углубимся в тему: что такое первичные ключи, какие облачные аналитические хранилища их поддерживают и как вы можете тестировать их в вашем хранилище для обеспечения уникальности.

Генерация суррогатных ключей в различных хранилищах данных

· 7 мин. чтения
Sanjana Sen
Analytics Engineer at dbt Labs
Jason Ganz
Director of Community, Developer Experience & AI at dbt Labs
David Krevitt
Marketing at dbt Labs

Почему первичные ключи важны​

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

  • Они гарантируют, что в вашей таблице нет дублирующихся строк
  • Они помогают устанавливать связи с другими таблицами
  • Они позволяют быстро определить гранулярность таблицы (например, таблица customers с PK customer_id имеет одну строку на каждого клиента)
  • Вы можете тестировать их в dbt, чтобы убедиться, что ваши данные полные и уникальные