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

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

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

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

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

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

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

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

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

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

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

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