Het schema van de rapportagedatabase begrijpen
Bèta. De reporting database bevindt zich momenteel in bèta; het schema en de hier beschreven conventies kunnen nog wijzigen.
Waar uw gegevens staan
Alle gegevens van uw werkruimte staan in één schema genaamd company_<your-workspace-id>. Elke tabel daarin correspondeert met een concept dat u al kent van Azumuta.
De belangrijkste tabellen
De exacte set tabellen hangt af van wat u heeft geactiveerd. De meest voorkomende zijn:
| Tabel | Wat het bevat |
|---|---|
workinstruction, workinstruction_version |
Uw werkinstructies en hun gepubliceerde versies. |
instruction_step |
De individuele stappen binnen een versie van een werkinstructie. |
instruction_visit, instruction_total_visit |
Elke keer dat een operator een stap doorloopt, plus totalen per stap. |
recording, recording_status |
Uitvoeringssessies (een operator die een instructie uitvoert) en hun statusgeschiedenis. |
issue |
Continuous-improvement issues / tickets, met handige vooraf berekende tellingen. |
issue_task, issue_comment, issue_attachment, issue_signature, issue_checklist |
De items gekoppeld aan een issue. |
issue_transition |
De geschiedenis van het verplaatsen van een issue tussen kolommen op het bord. |
product_order, product_order_item, product_order_item_spot |
Productieorders en hun items. |
users, user_group, user_group_member |
Personen en groepen in uw werkruimte. |
Conventies die overal gelden
Als u deze paar regels kent, wordt het hele schema voorspelbaar:
- Primaire sleutels. Elke tabel heeft een tekstuele primaire sleutel (bijvoorbeeld
recording_id,issue_id) die overeenkomt met de id van het record in Azumuta. U kunt deze gebruiken om gerelateerde tabellen te koppelen. - Soft deletes. Rijen worden nooit stilzwijgend verwijderd. Wanneer iets in Azumuta wordt verwijderd, krijgt de rij een
deleted_at-timestamp. Werk alleen met actuele data doorwhere deleted_at is nullaan uw queries toe te voegen. - Tijdstempels. Elke tabel bevat
created_atenmodified_at(endeleted_at). Alle tijdstempels worden opgeslagen in UTC. - Duur in milliseconden. Velden zoals
actual_durationofrework_timeworden opgeslagen als hele milliseconden. Deel door 1000 voor seconden. - Flexibele velden gebruiken JSON. Gegevens die in vorm variëren (zoals
parametersof een instructieanswer) worden opgeslagen alsjsonb, die u kunt bevragen met de JSON-operators van PostgreSQL. - Vooraf berekende waarden. Om extra joins te besparen bevatten sommige tabellen kant-en-klare tellingen en metrics — bijvoorbeeld
issue.comment_count,issue.open_task_count, ofrecording.rework_time.
De ingebouwde gegevenswoordenlijst
Aan elke tabel en elke kolom is een leesbare beschrijving gekoppeld. De meeste SQL-clients en BI-tools tonen deze automatisch. Bijvoorbeeld in psql:
\\d+ \"company_<your-workspace-id>\".issue
U kunt ze ook uitlezen met een query:
select column_name, col_description(
('company_<your-workspace-id>.issue')::regclass,
ordinal_position
) as description
from information_schema.columns
where table_schema = 'company_<your-workspace-id>'
and table_name = 'issue'
order by ordinal_position;
Dit betekent dat u zelden hoeft te raden wat een kolom betekent — het schema documenteert zichzelf.
Klaar om queries uit te voeren? Zie Voorbeeld-analyticsqueries.