Перейти к основному содержимому
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, чтобы убедиться, что ваши данные полные и уникальные