Hopp til hovedinnhold
HPO Software Trinnvise guider for 4D-databaser og low-code-apper — fra din første tabell til en ferdig bedriftsapplikasjon.

Noen av lenkene på dette nettstedet er affiliate-lenker: hvis du handler via disse, kan vi tjene en kommisjon uten at det koster deg noe ekstra. Dette påvirker aldri våre anbefalinger. Se vår affiliate-erklæring for detaljer. Ansvarsfraskrivelse for affiliate.

Grunnleggende om 4th Dimension Learning

Hvorfor datafelter er grunnlaget for en 4D-applikasjon

I 4D er Strukturen blåkopien av hele applikasjonen din. Før du bygger et eneste skjema eller skriver en linje med 4D-kode, definerer du tabellene som holder dataene dine og feltene som lever inne i disse tabellene. Alt nedstrøms — skjemaer, verdilister, spørringer, relasjoner, rapporter — bygges på toppen av denne strukturen. Få feltene riktig, og resten av applikasjonen faller på plass. Få dem feil, og du vil bruke år på å jobbe rundt beslutninger du ikke enkelt kan angre.

Det siste punktet er det viktigste å forstå om 4Ds datafeltmodell: Når et datafelt er opprettet, kan det ikke slettes. Dette er ikke en feil eller en forglemmelse. Det gjenspeiler en bevisst designfilosofi i 4D (opprinnelig utviklet av Laurent Ribardière og markedsført i flere tiår av 4D Inc., tidligere ACI) som prioriterer strukturell stabilitet og dataintegritet over hyppige endringer i skjemaet. Feltet opptar en permanent plass i tabellens interne struktur, og 4D reserverer denne plassen for databasens levetid.

Dette har reelle konsekvenser for hvordan du jobber, og det former de praktiske rådene i denne artikkelen.

Viktige poeng

  • Et 4D-datafelt, når det er opprettet, kan ikke slettes — bare omdøpes, brukes til noe annet eller skjules.
  • Ved å klikke på datafeltområdet (rutene under et tabellnavn) åpnes Feltegenskaper; klikker du på tabellnavnet, åpnes Tabellegenskaper i stedet.
  • Tekst-felt holder opptil 32 000 tegn; Alfa-felt er lengdebegrensede (standard 20, maksimum 80) og er den eneste typen som kan brukes som relasjonsnøkler.
  • Felt du oppretter utover de synlige radene eksisterer fortsatt — du trenger bare å strekke tabellen eller bruke opp/ned-pilene for å se dem.
  • Beregnede felt som Alder er ikke definert i Strukturen; beregningen legges til når du bygger eller redigerer et skjema.
  • Ved å la strukturvinduet være åpent (i stedet for å lukke det), unngår du å bli skjøvet inn i brukermodus før du er klar.

Opprette ditt første datafelt

Vi kommer nå til den interessante delen: å opprette datafelt. Interessant, men med den irriterende egenskapen nevnt ovenfor — et felt kan ikke slettes når det er opprettet. Så hva gjør du hvis du gjør en feil? Du har tre praktiske alternativer:

  • Gi det et nytt navn. Hvis du opprettet “Frist Name” ved et uhell, gi det navnet “First Name” og gå videre.
  • Bruk det til noe annet senere. Et felt du ikke trenger i dag, kan tjene et formål i morgen. Mange erfarne 4D-utviklere beholder en liten reserve av ekstra felt nettopp av denne grunn.
  • Skjul det. Uten data i feltet vil det ikke påvirke programmets størrelse eller drift i vesentlig grad. Et tomt felt koster deg nesten ingenting under kjøring.

For å opprette det første datafeltet, dobbeltklikker du på Customers-tabellen i datafeltområdet, som angitt med pilen i Figur 8. Hvor du klikker er viktig. Hvis du klikker i tabellnavnområdet, får du opp vinduet Tabellegenskaper igjen. Klikker du i rutene (datafeltområdet) under tabellnavnet, åpnes i stedet vinduet Feltegenskaper.

Dette skillet i klikkmål forvirrer nesten alle nykommere. Tabellnavnet er en kontroll for innstillinger på tabellnivå; rutenettet av ruter nedenfor er feltlisten. Lær deg å sikte på rutene.

Relatert: — Et regneark-enkelt grensesnitt som sitter på toppen av en ekte relasjonsdatabase, med automatiseringer, visninger og delbare grensesnitt..

Velge riktig datatype

Med vinduet Feltegenskaper åpent (Figur 9), skriver du inn “First Name” for Feltnavn og velger Tekst for datatype. Tekstfelt kan holde opptil 32 000 tegn — sjenerøst nok for navn, notater, beskrivelser og det meste av fritekst.

Når du er ferdig, klikker du på Bruk, og tabellen vil vise det første datafeltet (Figur 10).

Velg nå det neste datafeltområdet i vinduet Struktur for Sample Database og gjenta:

Hvis du handler: — En som kobles til den bredere Zoho-pakken og priser per bruker i stedet for per app..

  • Opprett et Tekst-felt kalt “Last Name”.
  • Opprett et felt kalt “Address”, men gjør Address til et felt av typen Alfa.

Skillet mellom Tekst og Alfa betyr mer enn det først kan virke.

Alfafelt kan holde det maksimale antallet tegn som er angitt som feltlengde. Standard er 20 og maksimum er 80 tegn. Hvis du angir 20 som maksimal lengde, vil programmet ganske enkelt ikke la deg skrive mer — feltet håndhever sin egen grense ved inntasting. Dette gjør Alfa ideelt for korte verdier med fast formål: koder, forkortelser, statusflagg og — kritisk — relasjonsnøkler.

Alfafelt er de eneste feltene som kan brukes som relasjonsnøkler. Hvis du planlegger å koble to tabeller sammen (for eksempel Customers til Orders), må koblingsfeltet på minst én side være Alfa. Dette er en strukturell begrensning, ikke en preferanse, og det er en av grunnene til at man bør tenke seg nøye om før man tildeler typer.

En rask måte å bestemme seg på:

BrukstilfelleAnbefalt typeHvorfor
Navn, notater, beskrivelserTekstOpptil 32 000 tegn, ingen fast grense
Kortkoder, statusflagg, ID-er brukt som nøklerAlfaLengdehåndhevet, kan brukes som relasjonsnøkkel
Datoer, beløp, mengderNumeriske/DatotyperMuliggjør beregninger og sortering
Verdier beregnet fra andre felt (f.eks. Alder)Definert på skjemaet, ikke i StrukturenHolder Strukturen ren

Se alle feltene dine i strukturvinduet

Legg merke til i figur 11 til venstre at kun tre datafelt vises i Kunder-tabellen. Du er i ferd med å lage et fjerde kalt “By”, men for å se det må du enten dra tabellen lenger eller bruke opp- og nedpilene øverst i tabellen for å vise flere felt.

To praktiske merknader her:

Relatert: — En databasebygger uten kode rettet mot portaler, kataloger og interne verktøy – med fastpris i stedet for avgifter per bruker..

  • Hvis du bare fortsetter å lage felt, vil de bli lagt til i tabellen – men ikke være synlige. Dataene er der; visningen er rett og slett ikke høy nok.
  • Hvis du stopper og deretter går tilbake til å lage datafelt, må du strekke tabellen til det punktet der det er en tom datafeltrad og klikke på den for å fortsette. Du kan ikke legge til i en liste du ikke kan se.
  • Pilene vises kun når det er flere felt enn det som vises, så deres tilstedeværelse er i seg selv et nyttig signal om at du har skjulte rader.

Når du strekker tabellen lenger, er det noen ganger vanskelig – du må ta tak i kanten helt nøyaktig. Med litt trening blir det enkelt (Figur 12).

En merknad om beregnede felt som Alder

Datafeltet “Alder” vil senere bli beregnet basert på datafeltene Dato og Fødselsdato. Foreløpig er det bare et felt for datainntasting. Å gjøre det til en beregning må gjøres når du oppretter eller redigerer et skjema.

Dette er et subtilt, men viktig arkitektonisk poeng. I 4D definerer strukturen hvilke data som finnes; skjemaet definerer hvordan det presenteres og beregnes. Et felt som Alder er en avledet verdi – den endres hver dag, så å lagre den som statiske data ville vært feil. Ved å legge til beregningen på skjemanivå, sikrer du at Alder alltid er oppdatert når posten vises.

Vårt valg: — Den langvarige relasjonsdatabaseplattformen for team som trenger tilpassede apper på skrivebord, nett og mobil fra én enkelt fil..

Hvis du kommer fra en bakgrunn med verktøy som Microsoft Access eller FileMaker, kan dette skillet føles uvanlig. I 4D lønner disiplinen med å holde avledede verdier utenfor strukturen seg i form av renere data og færre utdaterte felt. For en bredere kontekst om hvordan databaseskjemaer skiller mellom lagrede og avledede data, se Wikipedia-artikkelen om databasenormalisering, som forklarer hvorfor lagring av redundante beregnede verdier generelt frarådes.

Fullføre og unngå standardskjemafellen

Når du er ferdig med å opprette datafeltene, lukker du vinduet Feltegenskaper ved å klikke på Ferdig-knappen.

Nå en advarsel: Hvis ingen skjemaer er opprettet og du lukker vinduet Structure for Sample Database, vil du bli spurt om du vil opprette standardskjemaer (Figur 14). Hvis du velger “Nei”, lukkes vinduet og du blir tatt til Bruker-modus. Siden vi ikke er klare for brukermodus ennå, la vinduet Structure for Sample Database være åpent inntil videre.

Dette er en vanlig tidlig snublestein. Nye utviklere lukker strukturvinduet, takker nei til standardskjemaer, og befinner seg plutselig i et kjøretidsmiljø uten noe å kjøre. Løsningen er enkel – åpne strukturen på nytt – men lærdommen er verdt å internalisere: i 4D er modusene Struktur (designtid) og Bruker (kjøretid) separate miljøer, og du beveger deg mellom dem bevisst.

Hvis du er nysgjerrig på hvordan 4D passer inn i det bredere landskapet av plattformer for rask applikasjonsutvikling, er Wikipedia-oversikten over utviklingsplattformer med lav kode en nyttig referanse for å forstå kategorien 4D var med på å bane vei for.

Beste praksis for strukturering av felt tidlig

Fordi felt er permanente, sparer litt planlegging på forhånd mye hodebry senere. Vurder disse vanene:

  • Navngi felt konsekvent. Bestem deg for en konvensjon (f.eks. “Fornavn”, “Etternavn”, “Fødselsdato”) og bruk den overalt. Konsistens gjør det langt enklere å bygge skjemaer og kode.
  • Reserver alfafelt for nøkler. Hvis et felt noen gang skal inngå i en relasjon, gjør det til et alfafelt fra starten av. Konvertering i ettertid er ikke mulig.
  • Hold avledede verdier utenfor strukturen. Alder, totaler og lignende beregnede verdier hører hjemme på skjemaer eller i metoder, ikke som lagrede felt.
  • La det være noen få reservefelt. Siden du ikke kan slette, gir det å ha ubrukte plasser tilgjengelig rom for tilpasninger uten å rote til det synlige skjemaet ditt.
  • Dokumenter underveis. Et kort notat om formålet med hvert felt vil spare ditt fremtidige jeg – og eventuelle teammedlemmer – for mye gjetting.

For autoritativ veiledning om prinsipper for relasjonsdatabasedesign som ligger til grunn for disse beslutningene, tilbyr PostgreSQL-dokumentasjonen en utmerket, leverandørnøytral referanse for datatyper og skjemadesign, selv om 4Ds implementering skiller seg ut i detaljene.

Vanlige spørsmål

Kan jeg slette et datafelt i 4D etter at det er opprettet?

Nei. Når et datafelt er opprettet i 4D-strukturen, kan det ikke slettes. Alternativene dine er å gi det nytt navn, bruke det til noe annet senere, eller ganske enkelt skjule det. Et tomt felt uten data påvirker ikke størrelsen eller driften av programmet nevneverdig, så det er vanligvis ufarlig å la et ubrukt felt stå.

Hva er forskjellen mellom et tekstfelt og et alfafelt?

Tekstfelt kan inneholde opptil 32 000 tegn og har ingen fast lengdegrense. Alfafelt er lengdebegrenset – standarden er 20 tegn og maksimum er 80 – og programmet håndhever denne grensen ved datainntasting. Det kritiske er at alfafelt er den eneste felttypen som kan brukes som relasjonsnøkler.

Hvorfor kan jeg ikke se det nye datafeltet jeg nettopp opprettet?

Hvis du fortsetter å opprette felt forbi de synlige radene i tabellen, blir de lagt til, men ikke vist. For å se dem, kan du enten dra tabellen lenger eller bruke opp- og nedpilene øverst i tabellen. Pilene vises kun når det er flere felt enn tabellen kan vise.

Hvordan får jeg et felt som Alder til å beregne automatisk?

Beregnede felt som Alder er ikke definert i strukturen. I stedet legges beregningen til når du oppretter eller redigerer et skjema. Alder-feltet opprettes først som et ordinært datafelt, og beregningen basert på Dato og Fødselsdato legges til senere på skjemanivå.

Hva skjer hvis jeg lukker strukturvinduet før jeg oppretter skjemaer?

Hvis du lukker vinduet Structure for Sample Database uten at skjemaer er opprettet, spør 4D om du vil opprette standardskjemaer. Hvis du svarer “Nei”, lukkes vinduet og du blir tatt til brukermodus. Siden du ikke er klar til å kjøre programmet ennå, er det best å la strukturvinduet være åpent til skjemaene dine er bygget.

Hvorfor åpnes noen ganger feil vindu når jeg klikker på tabellen?

Hvor du klikker avgjør hvilket vindu som vises. Ved å klikke på området for tabellnavnet åpnes vinduet Table Properties, mens et klikk på rutene i datafeltområdet under tabellnavnet åpner vinduet Field Properties. Sikt mot rutenettet når du vil legge til eller redigere felt.


Prøv FileMaker gratis i 45 dager

Den langvarige relasjonsdatabaseplattformen for team som trenger tilpassede apper på skrivebord, nett og mobil fra én enkelt fil.