Ga naar inhoud

Data Builder

De Archie Core Data Builder is een datamodelleringsinterface voor het definiëren van databasetabellen, veldtypen en relaties tussen tabellen.

Om de Data Builder te openen, klik je op Data Model (Datamodel) in de zijbalk, selecteer je de tabel waaraan je wilt werken en klik je vervolgens op het tabblad Schema.

alt text

Voor elke gedefinieerde tabel maakt de Archie Core GraphQL-engine automatisch GraphQL-schema-objecttypen en de bijbehorende query-, mutatie- en abonnementsvelden met resolvers aan.

Dit betekent dat alle Create, Read, Update en Delete (CRUD) acties, evenals realtime verbindingen (websockets), onmiddellijk beschikbaar zijn voor gebruik via het unieke API-eindpunt van de werkruimte.

Op de achtergrond voorziet Archie Core een speciale PostgreSQL-database-instantie voor je werkruimte. PostgreSQL is een geavanceerde open-source object-relationele database die bekend staat om zijn betrouwbaarheid en gegevensintegriteit. Het verwerkt efficiënt complexe query’s en ondersteunt ACID-compliance (Atomiciteit, Consistentie, Isolatie, Duurzaamheid) volledig.

Klik op de knop + Add Table (+ Tabel Toevoegen) om een nieuwe tabel aan te maken. De standaardnaam voor nieuwe tabellen is “untitled_table”. Alle tabellen vereisen unieke namen (de namen attribute, workspace en hun meervoudsvorm zijn gereserveerd en kunnen in geen enkele hoofdletter worden gebruikt).

Zodra een tabel is aangemaakt, worden de bijbehorende GraphQL-schematypen en query-, mutatie- en abonnementsresolvers automatisch gegenereerd.

alt text

Nadat een tabel is aangemaakt, kunnen velden en relaties worden gedefinieerd. Alle updates aan een tabel worden in realtime gepubliceerd, wat zorgt voor een naadloze ervaring tussen het definiëren van een datamodel en de hoge beschikbaarheid ervan.

Zodra een tabel wordt bijgewerkt, worden de bijbehorende GraphQL-schematypen en query-, mutatie- en abonnementsresolvers automatisch bijgewerkt.

Om ervoor te zorgen dat tabelgerelateerde fouten en vergissingen tot een minimum worden beperkt, beschermt Archie Core tegen veel schadelijke acties. Enkele hiervan zijn:

  • Een prompt die een Default Value (Standaardwaarde) vereist, verschijnt bij het wijzigen van een niet-verplicht veld naar verplicht.
  • Datum-, Nummer- en Tekstveldwaarden worden automatisch geconverteerd wanneer een bestaand veldtype wordt bijgewerkt.
  • Bij het wijzigen van een niet-uniek veld naar uniek, worden de huidige records gevalideerd op unieke waarden.

Om een tabel te verwijderen:

  1. Ga naar de tabelnaam en klik op ...
  2. Klik op Delete this Table (Verwijder deze Tabel).
  3. Er wordt een bevestigingsvenster geopend. Typ de tabelnaam en klik op Delete (Verwijderen).

Gevaar: Verwijderde tabellen kunnen niet worden hersteld en alle bestaande tabelrecords gaan verloren. Bovendien, als er tabellen zijn gerelateerd aan de tabel die wordt verwijderd - behoort tot (belongs to) en heeft veel (has many), ongeacht of ze als verplicht zijn opgegeven of niet - worden die relaties verbroken.

alt text

Archie Core ondersteunt het definiëren van drie soorten tabelrelaties die congruent zijn met wat te verwachten is van relationele databases:

TypeA naar BB naar A
een-op-eenRecords in tabel A kunnen have_one (een hebben) of belong_to (behoren tot) records in tabel B.Records in tabel B kunnen have_one (een hebben) of belong_to (behoren tot) records in tabel A.
een-op-veelHet record in tabel A kan have_many (veel hebben) records in tabel B.Records in tabel B kunnen have_one (een hebben) of belong_to (behoren tot) records in tabel A.

alt text

Het definiëren van een relatie tussen twee tabellen kan worden bereikt door een tabel op een andere te slepen en neer te zetten of door Table (Tabel) te selecteren als het Gegevenstype bij het aanmaken van een nieuw tabelveld.

Om heeft veel, heeft een en behoort tot relaties tussen tabellen te specificeren.

Configuraties

  • Name: Om te selecteren welke tabel moet worden gerelateerd.
  • Related Table: De naam van de relatie zoals deze op de bijbehorende tabel verschijnt.
  • Type: Of de relatie heeft een of heeft veel is.
  • Description: Een optioneel tekstvak waarin je informatie over het veld kunt schrijven.
  • Mandatory: Of de veldrelatie vereist is.

Er zijn drie tabeltypen: Aangepast (Custom), Weergave (View) en Gegevenstype (Data Type).

Aangepaste tabellen zijn de tabellen die in een werkruimte door een beheerder zijn gemaakt. Ze zijn volledig aanpasbaar.

Weergavetabellen zijn virtuele tabellen die velden uit meerdere tabellen samenvoegen in één weergave. Onder de motorkap zijn ze gebaseerd op de resultaatset van een SQL-instructie. In een werkruimte kunnen ze worden aangemaakt met behulp van de GraphQL-mutatie viewCreate in de API Explorer.

Typen stellen je in staat een statische, geordende set van elkaar uitsluitende waarden te definiëren. In tegenstelling tot standaard tekstvelden beperkt een Enum de gegevensinvoer tot een specifieke lijst van vooraf gedefinieerde constanten.

Veelvoorkomende voorbeelden zijn statusindicatoren (bijv. CONCEPT, GEPUBLICEERD, GEARCHIVEERD), gebruikersrollen of categorielabels.

Het gebruik van Enums in je databaseschema biedt verschillende belangrijke voordelen:

  • Gegevensintegriteit: Enums dwingen strikte datavalidatie af op databaseniveau. Omdat het veld alleen waarden uit de gedefinieerde lijst accepteert, worden fouten door typefouten of inconsistente naamgevingsconventies geëlimineerd (bijv. het voorkomen van een mix van “Hoog”, “hoog” en “Hoi” voor een prioriteitsveld).
  • Codeconsistentie: Ze bieden een enkele bron van waarheid voor toegestane waarden, waardoor de applicatielogica voorspelbaarder en gemakkelijker te onderhouden is.
  • Leesbaarheid: Enums maken gegevens zelfbeschrijvend. Een waarde als BETALING_MISLUKT is veel betekenisvoller voor ontwikkelaars en analisten dan een willekeurige numerieke code zoals foutcode: 3.
  • Prestaties: In PostgreSQL worden Enums onder de motorkap efficiënt opgeslagen, maar gepresenteerd als leesbare strings, wat een balans biedt tussen prestaties en menselijke leesbaarheid.