Datamodell
En datamodell beskriver tabellene, feltene og relasjonene virksomheten din trenger. Opprett en i Definitions når du vil avklare strukturen før du legger inn poster, eller kontrollere at eksisterende tabeller følger planen. Deretter kan du opprette de manglende tabellene fra modellen og legge inn eller importere postene.
Planlegg tabellene dine
I Agreement beskriver du hver type post og feltene den trenger. Products trenger for eksempel SKU, navn, kategori og pris. Categories trenger en kategoriidentifikator og et navn.
Velg en primærnøkkel: feltet, eller kombinasjonen av felt, som identifiserer hver post entydig. En produkt-SKU kan identifisere ett produkt. En ordrelinje kan trenge både en ordreidentifikator og et linjenummer.
Legg til en fremmednøkkel når en tabell viser til en annen. Products er den underordnede tabellen; Categories er den overordnede. Når du kobler Products.category_id til Categories.category_id, må kategorien til hvert produkt vise til en eksisterende kategori.
Bruk Table til å vedlikeholde postene. Bruk Row Review når noen skal gjennomgå og godkjenne en fullstendig post med tilhørende informasjon.
Opprett en datamodell
Du kan la modellen være uten koblinger mens dere diskuterer strukturen. Unbound betyr at du har beskrevet tabellen eller feltet uten å koble det til en tabell som lagrer poster.
- Åpne menyen med tre prikker ved siden av Definitions og velg New data model.
- Skriv Data model name og velg Create model.
- Velg Add table. Fyll ut Name og Meaning, og velg Save agreement. La Dataset binding stå som Unbound — agreed intent only hvis du vil opprette tabellen senere.
- Velg Add field i denne tabellen. Fyll ut Name, Meaning og Logical type, og velg Save agreement. Gjenta for de øvrige feltene.
- Velg Edit table og deretter Add key component. Velg feltet som identifiserer en post. Legg til flere komponenter når hele nøkkelen trenger flere felt; bruk pilene til å sette dem i riktig rekkefølge.
- Velg Save agreement. Legg til de andre tabellene og nøklene deres før du kobler dem sammen.
Koble sammen to tabeller
Hvis den overordnede nøkkelen har to felt, velger du begge de tilsvarende underordnede feltene. En referanse til én ordrelinje trenger for eksempel både order_id og line_number.
Slå på Required for hvert underordnet referansefelt når alle poster må ha en overordnet post. En valgfri referanse kan stå tom. For en nøkkel med flere felt gjør en manglende komponentverdi (null) at referansen ikke kontrolleres, så krev en verdi i hver komponent når hele relasjonen er obligatorisk.
- Åpne Agreement og velg Add foreign key.
- Skriv Name, for eksempel Product category. Bruk Meaning til å forklare relasjonen.
- Velg Child table og deretter Parent table. Du kan velge en overordnet tabell fra en annen datamodell hvis du har tilgang til den.
- Velg Parent key. Bruk tabellens Primary Key eller en definert Unique-nøkkel.
- Under Complete foreign-key mapping velger du et underordnet felt for hvert overordnet felt som vises. Bruk samsvarende typer og hvert underordnet felt én gang.
- Velg Save agreement og åpne deretter Diagram for å undersøke koblingen.
Opprett tabellene
Eksisterende tilkoblede tabeller, kolonner og poster beholdes. Kjør handlingen igjen for å fullføre manglende deler av en delvis oppbygd modell. Hvis du får en feil om type, nøkkel eller tilgang, retter du det angitte problemet og prøver igjen.
- Åpne Implementation.
- Velg målet under New Tables in. Det starter med Organizer; velg en mappe for å samle de nye tabellene.
- Velg Implement data model. Datavju oppretter manglende tabeller og felt og bruker de avtalte nøklene og reglene.
- Les resultatet og velg deretter Check implementation.
- Åpne de opprettede tabellene for å legge inn eller importere poster. Legg til overordnede poster, som Categories, før underordnede poster som viser til dem.
Koble til tabeller du allerede har
Velg den faktiske tabellen og kolonnene selv om navnene allerede stemmer. Hvis du lar et felt stå uten kobling og implementerer modellen, oppretter Datavju en ny kolonne for det.
- I Agreement velger du Edit table for tabellbeskrivelsen.
- Sett Dataset binding til den eksisterende tabellen og velg Save agreement.
- Rediger hvert felt. Under Column binding velger du kolonnen som lagrer verdiene, og lagrer deretter.
- Åpne Implementation og velg Check implementation for å se forskjeller.
Innstillinger i Agreement
Bruk disse valgene til å beskrive hver tabell, hvert felt og hver regel før du bruker dem på poster.
Navn og redigering
Gi oppføringene kjente navn og lagre hver endring før du lukker redigeringen.
- Name - Hva du velger: Påkrevd; starter tomt for en ny oppføring. Bruk navnet folk bruker på denne informasjonen. Eksempel: Products eller Product category.
- Meaning - Hva du velger: Valgfritt; starter tomt. Forklar hva én post eller ett felt betyr. Eksempel: Ett produkt som kan bestilles, identifisert med SKU.
- Place in tree - Hva du velger: Starter på den valgte plasseringen. Flytt beskrivelsen til et annet sted i Definitions. Tabellkoblingen beholdes. Eksempel: Samle produktrelaterte beskrivelser.
- Save agreement - Hva du velger: Lagrer oppføringen du redigerer. Rett eventuelle feil som vises, og lagre igjen. Eksempel: Lagre et prisfelt etter at du har valgt Number.
- Close - Hva du velger: Lukker redigeringen. Lagre først for å beholde endringene. Eksempel: Lukk feltredigeringen etter lagring.
- Reload saved entry - Hva du velger: Vises etter at noen andre har endret oppføringen. Laster den lagrede versjonen deres. Eksempel: Se gjennom en kollegas siste nøkkelendring før du redigerer igjen.
Tabell- og feltinnstillinger
Koble til eksisterende data ved behov og velg type og nøkkel for hvert felt.
Velg Money for et beløp med valuta, Duration for en varighet, Date for en kalenderdag, DateTime for lokal dato og klokkeslett og DateTime TZ for et bestemt tidspunkt. Velg den faktiske typen selv om en tekstverdi ser lik ut.
- Dataset binding - Standard og resultat: En ny tabellbeskrivelse starter uten kobling. Velg en eksisterende lagret Table for å koble den til. Eksempel: Koble beskrivelsen Products til tabellen Products.
- Add key component - Standard og resultat: En ny tabell starter uten primærnøkkel. Legg til hvert identifiserende felt i rekkefølge. Eksempel: Bruk sku eller order_id etterfulgt av line_number.
- Nøkkelpiler / Remove - Standard og resultat: Endre rekkefølgen på felt i den definerte nøkkelen eller fjern felt. Eksempel: Rett rekkefølgen på en ordrelinjenøkkel.
- Logical type - Standard og resultat: Nye felt starter som String, som inneholder tekst. Velg typen verdiene trenger. Eksempel: Behold 0007 som String; velg Number for antall.
- Insert default - Standard og resultat: String-felt starter med None. Velg Random UUID for å generere en identifikator når feltet ikke er oppgitt i en ny post. Verdier du oppgir, beholdes. Eksempel: Gi hver forespørsel en generert identifikator.
- Required - Standard og resultat: Av for et nytt, vanlig felt. Slå det på for å kreve en verdi; primærnøkkelfelt krever allerede verdier. Eksempel: Krev et produktnavn. Tom tekst, tallet 0 og false regnes hver for seg som en verdi.
- Column binding - Standard og resultat: Starter uten kobling. Når tabellen er koblet til, velger du den eksisterende kolonnen for dette feltet. Eksempel: Koble price til den lagrede price-kolonnen.
Legg til regler for poster
I Edit table starter Constraint type med Unique. Velg en type, velg New constraint, fyll ut feltene, og velg deretter Add constraint og Save agreement. Bruk Cancel constraint for å forkaste en ny regel eller Remove constraint for å fjerne en regel fra listen. Implementer modellen for å bruke de lagrede reglene på poster.
For rombestillingsregelen legger du til ett Column-element med room og Equals. Legg til et nytt Date / time range-element med start og end. Regelen avviser to bestillinger når begge sammenligningene stemmer: de bruker samme rom, og tidene overlapper. En bestilling som slutter klokken 11:00 og en annen som starter klokken 11:00, kan ligge rett etter hverandre.
Primary- og Unique-nøkler støtter typene som tilbys. Duration og Password er utilgjengelige fordi sammenligningene av de lagrede verdiene ikke kan identifisere poster pålitelig i disse nøklene.
- Unique - Hva du velger: Velg alle kolonnene som skal være unike sammen. Utvalget starter tomt. Eksempel: Hindre at to kundeposter bruker samme e-postadresse.
- Check - Hva du velger: Legg til typetilpassede sammenligninger og kombiner dem med And eller Or. Betingelsen starter tom. Eksempel: Krev at quantity er større enn tallet 0.
- Exclude - Hva du velger: Bruk Add element for hver sammenligning. Velg Column med Equals eller Not equal, eller Date / time range med Start column og End column. Eksempel: Hindre overlappende bestillinger for samme rom. Datointervaller inkluderer starten og utelater slutten.
Undersøk modellen og kontroller tabellene
Velg Diagram for å se tabellene og koblingene mellom dem. PK 1, PK 2 og så videre viser nøkkelrekkefølgen; FK markerer et felt som brukes i en fremmednøkkel. Velg en kobling for å se hele feltkoblingen under diagrammet. Velg et tabellnavn eller Open foreign key for å undersøke det.
Bruk Zoom in, Zoom out, 100% og Fit to view for å navigere. Rull når et forstørret diagram strekker seg utenfor skjermen.
I Implementation velger du Check implementation. Les Match, Mismatch, Not bound, Unavailable, Unsupported eller Not assessed ved siden av hvert krav. En vellykket kontroll viser Declared requirements matched. Kontroller igjen etter at du har endret tabeller: resultatet som vises, gjelder tidspunktet du sist kontrollerte.
Bruk et avvik til å avgjøre hvor du skal rette. Endre Agreement når planen var feil, eller endre tabellen når feltene eller reglene var feil. Ekstra kolonner er tillatt; undersøk selve postene separat for å kontrollere at de er fullstendige og riktige.

Diagrammet viser hvilke felt som kobler sammen de to tabellene.

Check implementation sammenligner den avtalte strukturen med de tilkoblede tabellene.
Konverter eksisterende felt
Bruk Agreement → Convert existing fields… når eksisterende felt skal bli en fullstendig referanse til en annen tabell. Velg relasjonen og hvert nøkkelfelt, kontroller forhåndsvisningen og velg Convert references. Eksisterende beskrivelser og poster beholdes; konverteringen kobler alle feltene til den valgte overordnede nøkkelen. Gjennomgå på nytt hvis en kilde endres.
Bruk Implementation → Convert declared fields… når eksisterende beløps-/valutafelt eller verdi-/enhetsfelt skal bli Money eller Duration. Velg feltet du skal beholde og de tilhørende feltene, eller den faste valutaen og beløpsenhetene som tilbys i gjennomgangen. Kontroller verdiene som vises, og de berørte tabellene og sidene før du gjennomfører.
Hvis beregninger bruker de gamle feltene, gjennomgår du hver av dem. Keep recipe beholder den eksisterende beregningen; Edit recipe åpner beregningsredigeringen. For eksempel kan en beregning som delte beløp i øre eller cent på 100, trenge endring etter konvertering til Money. Fullfør alle påkrevde valg før du gjennomfører. Velg Cancel for å beholde eksisterende data, eller gjennomgå på nytt hvis dataene endres.
Overfør eller nullstill en modell
For å kopiere modellen til et annet arbeidsområde legger du tabellene i en mappe. I mappens dialog for Model-vedlegg velger du avtalen under Definitions og tar med alle tilkoblede tabeller. Etter import åpner du den kopierte modellen og velger Check implementation for å kontrollere de kopierte tabellene.
Slett tilkoblede tabeller med Reset
Datamodellavtalen beholdes slik at du kan bygge den opp igjen. Les eventuelle meldinger om avhengigheter eller delvise resultater før du gjør noe mer.
Tabeller som avtalen viser til i andre datamodeller, beholdes. Hvis elementer utenfor avtalen bruker de tilkoblede tabellene, eller en tilkoblet tabell er utilgjengelig eller ufullstendig, avviser Reset handlingen før tabellene endres.
- Åpne Agreement og kontroller hver tilkoblede tabell.
- Åpne Implementation → Reset implementation…
- Velg Implementation Folder som inneholder de tilkoblede tabellene.
- Advarsel: Reset bound tables sletter hver tabell som er koblet til denne datamodellavtalen, og alle radene i disse tabellene, inkludert eksisterende tabeller du koblet til senere. Velg Reset bound tables bare når du vil slette alle disse tabellene og radene.
Eksempler
For produkteksemplet oppretter du Categories med String category_id som primærnøkkel og String name. Opprett Products med String sku som primærnøkkel, String name, String category_id og Number price.
Plasser produkter i kategorier
Legg til Product category, koble Products.category_id til Categories.category_id og implementer deretter modellen.
Legg inn Categories først: category_id=lighting, name=Lighting. Produktet nedenfor viser til denne kategorien.
Diagrammet kobler Products til Categories, og Check implementation rapporterer hele relasjonen. Bruk en eksisterende kategoriidentifikator når du legger til hvert produkt.
- LAMP-01 - name: Desk lamp. category_id: lighting. price: 25.
Identifiser en ordrelinje
Legg til order_id og line_number som den ordnede primærnøkkelen til Order lines. De to postene nedenfor identifiserer forskjellige linjer i samme ordre.
For å vise til én bestemt linje fra en annen tabell tar du med begge feltene i fremmednøkkelkoblingen. For å vise til hele ordren kobler du i stedet til tabellen Orders.
- A101 - line_number: 1. sku: LAMP-01.
- A101 - line_number: 2. sku: CHAIR-02.
Finn en typeforskjell
Den eksisterende tabellen lagrer launch_date som String med teksten 2026-11-10. Definer feltet som Date og koble det til denne kolonnen. Check implementation rapporterer Mismatch for typen. Les kolonnen som Date med Change type, undersøk eventuelle verdier som ikke kan tolkes, og kontroller deretter modellen igjen.
Begrensninger og vanlige feil
Kontroller de fullstendige nøklene og de tilkoblede tabellene før du implementerer eller nullstiller.
- Legg inn eller importer poster etter at du har opprettet tabellene. Når du beskriver en tabell og implementerer feltene, klargjør du strukturen.
- Velg en lagret Table for Dataset binding. Bruk en View når du trenger et beregnet resultat til visning eller analyse.
- Velg de tiltenkte tabellene og kolonnene, særlig når flere har samme navn.
- Ta med hver komponent i en nøkkel og fremmednøkkel. Bruk pilene for å beholde riktig rekkefølge.
- Relasjoner mellom forskjellige tabeller kan danne en løkke; selvreferanser støttes foreløpig ikke. Hold relasjonene som tas med i Row Review, fri for løkker.
- Kjør Check implementation igjen etter endringer i lagringen, og undersøk datakvaliteten separat.
- Avklar referansene som vises, før du sletter en Definition. De faktiske tabellpostene beholdes når du fjerner beskrivelsen.
Relaterte artikler
- Table - legg inn poster og administrer nøkler og regler.
- Datasett - forstå rader, kolonner og beregnede resultater.
- Row Review - gjennomgå og godkjenn fullstendige poster.
- Definitions - organiser felles forretningsbetydning.
