Мова: Українська
Вступ
Проєктування добре структурованої бази даних в ActivityInfo вимагає глибокого розуміння того, як точки даних пов'язані між собою. Одним з найважливіших архітектурних рішень, які ви приймете, буде вибір між формою та підформою.
Ці елементи визначають організацію ваших даних, досвід користувача під час введення даних та довгострокове управління зв'язками між наборами даних. Ця стаття пояснює основні визначення форм та підформ, висвітлює їхні ключові відмінності та надає рекомендації щодо того, коли використовувати кожну з них.
Що таке форма?
Форма — це фундаментальний будівельний блок вашої бази даних, що слугує структурою для збору та організації даних. Вона схожа на таблицю в електронній таблиці або сторінку в паперовій анкеті.
Уявіть форму як таблицю, де:
- Кожен запис — це рядок
- Кожне поле — це стовпець
Приклад: Форма під назвою «Реєстрація домогосподарств» може містити такі поля:
- Ідентифікатор домогосподарства
- Ім'я голови домогосподарства
- Місцезнаходження домогосподарства
- Розмір домогосподарства
Що таке підформа?
Підформа — це вторинна форма, вкладена в іншу форму (батьківську форму), що дозволяє збирати кілька пов'язаних наборів даних, асоційованих з одним батьківським записом.
Замість дублювання батьківських даних у кількох записах, підформи дозволяють структурувати дані більш ефективно.
Ключові характеристики підформ
- Не може існувати незалежно без батьківської форми
- Зберігає кілька пов'язаних записів для одного батьківського запису
- Підтримує зв'язок «один до багатьох»
- Автоматично пов'язується з батьківським записом
Приклад: У батьківській формі Реєстрація домогосподарств підформою може бути Члени домогосподарства.
Кожне домогосподарство (батьківський запис) може мати кілька членів домогосподарства (записи підформи) з такими полями:
- Ім'я члена домогосподарства
- Дата народження
- Стать
Ключові відмінності між формами та підформами
| Характеристика | Форма | Підформа |
|---|---|---|
| Незалежність | Автономна | Потребує батьківської форми |
| Призначення | Збір первинних даних | Збір дочірніх або вторинних даних |
| Зв'язок | Один запис на одне введення | Кілька записів на один батьківський запис |
| Структура | Верхній рівень | Вкладена у форму |
| Приклад | Домогосподарство | Члени домогосподарства |
Коли використовувати форму, а коли — підформу
Використовуйте форму, коли:
- Ви збираєте первинні дані
- Кожен запис є самостійним
- Ви створюєте основні дані
Приклади: Домогосподарства, Школи, Заклади охорони здоров'я, Проєкти
Використовуйте підформу, коли:
- Один запис містить кілька пов'язаних записів
- Існує чіткий зв'язок «батьківський-дочірній»
- Ви збираєте дані, що залежать від часу, або лонгітюдні дані
Приклади:
- Домогосподарство - Члени
- Тренінг - Учасники
Чому підформи кращі за кілька окремих форм
Уникайте створення окремих форм для пов'язаних даних з подальшим їх зв'язуванням; підформи є більш ефективними, оскільки вони зберігають пов'язані дані структурованими в межах єдиного, цілісного зв'язку.
Контекстуальне введення даних - Користувачі можуть переглядати та вводити пов'язані записи в одному місці. При відкритті батьківського запису всі пов'язані з ним записи підформи стають видимими. Це також усуває необхідність повторно вводити дані, які вже існують у батьківському записі.
Спрощений аналіз - ActivityInfo автоматично підтримує зв'язок між батьківськими та дочірніми записами. Це робить агрегацію простою, наприклад:
Загальна кількість бенефіціарів на домогосподарство
Кількість відвідувань клініки на одного пацієнта
Цілісність даних - Записи підформи не можуть існувати без батьківського запису. Це запобігає появі «осиротілих» записів або неузгоджених даних. Крім того, якщо батьківський запис видаляється, всі пов'язані з ним записи підформи також автоматично видаляються.
Глибина ієрархії - Підформи можуть містити додаткові підформи (вкладена структура). Це дозволяє зберігати структури простими для підтримки зручності використання, особливо під час мобільного збору даних.
Висновок
Розуміння різниці між формами та підформами є фундаментальним для створення ефективних баз даних в ActivityInfo.
- Використовуйте форми для незалежних, первинних даних
- Використовуйте підформи для пов'язаних, повторюваних або залежних від часу даних
Правильне застосування цього призводить до:
- Кращої якості даних
- Простішого аналізу
- Масштабованих систем
Добре спроєктовані форми покращують введення даних та звітність, а також полегшують довгострокове обслуговування в міру зростання розміру та складності вашої бази даних.