Data Analyst Professional · Модуль 3 · Урок 8 із 51
Реляційні дані: як читати схему до першого запиту
SQL починається не з SELECT, а з розуміння моделі. Перш ніж рахувати показник, аналітик визначає grain таблиці, первинний ключ, значення зовнішніх ключів, типи полів і те, які бізнес-події представляють рядки.
Реляційна модель у практичних термінах
Набір рядків одного визначеного grain: клієнти, замовлення або позиції замовлення.
Один атрибут із визначеним типом і семантикою: дата, ID, сума, статус.
Поле або комбінація полів, що однозначно ідентифікує рядок.
Посилання на ключ іншої таблиці; він описує зв’язок, але не гарантує потрібний grain запиту.
Спочатку grain
Назва orders ще не доводить, що один рядок — одне замовлення. Таблиця може містити версії статусу, платежі або позиції. Перевірте опис, ключ і фактичні дублікати.
| Таблиця | Ймовірний grain | Кандидат на ключ | Ризик |
|---|---|---|---|
| customers | один клієнт | customer_id | merge профілів або історія версій |
| orders | одне замовлення | order_id | повторний запис після зміни статусу |
| order_items | одна позиція замовлення | order_id + line_id | помилково рахувати рядки як замовлення |
| payments | одна спроба платежу | payment_id | кілька спроб на одне замовлення |
Data type — частина контракту
Як читати metadata
-- PostgreSQL: колонки й типи однієї таблиці
SELECT
column_name,
data_type,
is_nullable
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'orders'
ORDER BY ordinal_position;Metadata — лише початок. Далі потрібні data dictionary, owner, частота оновлення, timezone, allowed statuses, правила soft delete та історії.
П’ять запитань до таблиці
- Що саме представляє один рядок?
- Який ключ має бути унікальним і чи є він фактично унікальним?
- Які поля nullable і що означає NULL?
- Яка дата є датою події, а яка — технічною датою завантаження?
- Чи зберігає таблиця поточний стан, історію або snapshot?
Не починайте з production-таблиці навмання
Працюйте в read-only середовищі або контрольованій навчальній базі. Не виконуйте DDL/DML-команди й не використовуйте облікові дані з правами запису для навчального аналізу.
Практика: паспорт схеми
- Візьміть 3–4 пов’язані таблиці навчального набору.
- Для кожної запишіть grain, primary key, foreign keys, dates і measures.
- Перевірте expected key через count rows і count distinct key.
- Зафіксуйте nullable fields, allowed statuses і timezone.
- Намалюйте зв’язки та позначте one-to-many до написання JOIN.
Офіційні довідки
Готовність до тесту
Ви можете пояснити grain, відрізнити primary key від foreign key, назвати ризики order_items і визначити, які metadata ще потрібні до аналізу.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.