Spring til hovedindhold
HPO Software Trin-for-trin guides til 4D-databaser og low-code app-udvikling — fra din første tabel til en færdig business app.

Nogle links på dette websted er affiliate-links: Hvis du køber gennem dem, kan vi modtage en kommission uden ekstra omkostninger for dig. Dette påvirker aldrig vores anbefalinger. Se vores affiliate-oplysning for detaljer. Affiliate-oplysning.

Grundlæggende om 4th Dimension Learning

Hvorfor datafelter er grundlaget for en 4D-applikation

I 4D er Strukturen planen for hele din applikation. Før du bygger en enkelt formular eller skriver en linje 4D-kode, definerer du de tabeller, der indeholder dine data, og de felter, der findes inde i disse tabeller. Alt nedstrøms — formularer, værdilister, forespørgsler, relationer, rapporter — er bygget oven på denne struktur. Få felterne rigtigt, og resten af applikationen falder på plads. Få dem forkert, og du vil bruge år på at arbejde udenom beslutninger, du ikke nemt kan fortryde.

Det sidste punkt er det absolut vigtigste at forstå om 4D’s datafeltmodel: når et datafelt er oprettet, kan det ikke slettes. Dette er ikke en fejl eller en forglemmelse. Det afspejler en bevidst designfilosofi i 4D (oprindeligt udviklet af Laurent Ribardière og markedsført i årtier af 4D Inc., tidligere ACI), der prioriterer strukturel stabilitet og dataintegritet over hyppige ændringer i skemaet. Feltet optager en permanent plads i tabellens interne struktur, og 4D reserverer denne plads i hele databasens levetid.

Det har reelle konsekvenser for, hvordan du arbejder, og det præger de praktiske råd i denne artikel.

Key Takeaways

  • Et 4D-datafelt kan ikke slettes, når det først er oprettet — det kan kun omdøbes, genbruges eller skjules.
  • Ved at klikke på datafeltområdet (firkanterne under et tabelnavn) åbnes Feltegenskaber; ved at klikke på tabelnavnet åbnes Tabelegenskaber i stedet.
  • Tekst-felter kan indeholde op til 32.000 tegn; Alpha-felter er længdebegrænsede (standard 20, maksimalt 80) og er den eneste type, der kan bruges som relationsnøgler.
  • Felter, du opretter ud over de synlige rækker, eksisterer stadig — du skal blot strække tabellen eller bruge op/ned-pilene for at se dem.
  • Beregnede felter såsom Alder er ikke defineret i Strukturen; beregningen tilføjes, når du bygger eller redigerer en formular.
  • Ved at lade strukturvinduet være åbent (i stedet for at lukke det) undgår du at blive skubbet ind i brugertilstand, før du er klar.

Oprettelse af dit første datafelt

Vi kommer nu til den interessante del: at oprette datafelter. Interessant, men med den irriterende egenskab, der er nævnt ovenfor — et felt kan ikke slettes, når det først er oprettet. Så hvad gør du, hvis du laver en fejl? Du har tre praktiske muligheder:

  • Omdøb det. Hvis du oprettede “Frist Name” ved et uheld, skal du omdøbe det til “First Name” og gå videre.
  • Genbrug det senere. Et felt, du ikke har brug for i dag, kan tjene et formål i morgen. Mange erfarne 4D-udviklere beholder en lille reserve af ekstra felter netop af denne grund.
  • Skjul det. Uden data i feltet vil det ikke påvirke programmets størrelse eller drift væsentligt. Et tomt felt koster dig næsten ingenting under kørsel.

For at oprette det første datafelt skal du dobbeltklikke på tabellen Customers i datafeltområdet, som vist med pilen i figur 8. Det er vigtigt, hvor du klikker. Hvis du klikker i området for tabelnavnet, får du vinduet Tabelegenskaber igen. Hvis du klikker i firkanterne (datafeltområdet) under tabelnavnet, åbnes vinduet Feltegenskaber i stedet.

Denne skelnen mellem klikmål snyder næsten alle nybegyndere. Tabelnavnet er en kontrol til indstillinger på tabelniveau; gitteret af firkanter under det er feltlisten. Lær at sigte efter firkanterne.

Relateret: — En regneark-simpel grænseflade, der sidder oven på en rigtig relationel database, med automatiseringer, visninger og delbare grænseflader..

Valg af den rigtige datatype

Med vinduet Feltegenskaber åbent (figur 9), indtast “First Name” som Feltnavn og vælg Tekst som datatype. Tekstfelter kan indeholde op til 32.000 tegn — rigeligt til navne, noter, beskrivelser og det meste frit indhold.

Når du er færdig, skal du klikke på Anvend, og tabellen vil vise det første datafelt (figur 10).

Vælg nu det næste datafeltområde i vinduet Structure for Sample Database og gentag:

Hvis du handler: — En lavkode-appbygger, der tilsluttes den bredere Zoho-suite og priser pr. bruger i stedet for pr. app..

  • Opret et Tekst-felt kaldet “Last Name”.
  • Opret et felt kaldet “Address”, men gør Address til et felt af typen Alpha.

Sondringen mellem Tekst og Alpha betyder mere, end det først ser ud til.

Alpha-felter kan indeholde det maksimale antal tegn, der er angivet som feltlængde. Standard er 20 og maksimum er 80 tegn. Hvis du indstiller 20 som den maksimale længde, vil programmet simpelthen ikke lade dig skrive mere — feltet håndhæver sin egen grænse ved indtastning. Dette gør Alpha ideel til korte værdier med et fast formål: koder, forkortelser, statusflag og — afgørende — relationsnøgler.

Alpha-felter er de eneste felter, der kan bruges til relationsnøgler. Hvis du planlægger at linke to tabeller sammen (f.eks. Customers til Orders), skal linkningsfeltet på mindst den ene side være Alpha. Dette er en strukturel begrænsning, ikke en præference, og det er en af grundene til at tænke sig grundigt om, før man tildeler typer.

En hurtig måde at beslutte sig på:

Use caseAnbefalet typeHvorfor
Navne, noter, beskrivelserTekstOp til 32.000 tegn, ingen fast grænse
Korte koder, statusflag, ID’er brugt som nøglerAlphaLængdehåndhævet, kan bruges som relationsnøgle
Datoer, beløb, mængderNumeriske/datotyperMuliggør beregninger og sortering
Værdier beregnet fra andre felter (f.eks. Alder)Defineret på formularen, ikke i StrukturenHolder Strukturen ren

At se alle dine felter i strukturvinduet

Bemærk i figur 11 til venstre, at der kun vises tre datafelter i tabellen Kunder. Du er ved at oprette et fjerde, der hedder “By”, men for at se det skal du enten trække tabellen længere eller bruge op- og ned-pilene øverst i tabellen for at afsløre yderligere felter.

To praktiske bemærkninger her:

Relateret: — En kodefri databasebygger rettet mod portaler, mapper og interne værktøjer - med faste priser i stedet for gebyrer pr. bruger..

  • Hvis du bare fortsætter med at oprette felter, vil de blive føjet til tabellen — men ikke ses. Dataene er der; visningen er simpelthen ikke høj nok.
  • Hvis du stopper og derefter går tilbage til at oprette datafelter, skal du strække tabellen til det punkt, hvor der er en tom datafeltrække, og klikke på den for at fortsætte. Du kan ikke tilføje til en liste, du ikke kan se.
  • Pilene vises kun, når der er flere felter, end der vises, så deres tilstedeværelse er i sig selv et nyttigt signal om, at du har skjulte rækker.

Når du strækker tabellen længere, er det nogle gange svært — du skal tage fat i kanten helt rigtigt. Med lidt øvelse bliver det nemt (figur 12).

En note om beregnede felter som Alder

Datafeltet “Alder” vil senere blive beregnet baseret på datafelterne Dato og Fødselsdato. Indtil videre er det blot et dataindtastningsfelt. At gøre det til en beregning skal gøres, når du opretter eller redigerer en formular.

Dette er et subtilt, men vigtigt arkitektonisk punkt. I 4D definerer strukturen hvilke data der findes; formularen definerer hvordan de præsenteres og beregnes. Et felt som Alder er en afledt værdi — den ændres hver dag, så det ville være forkert at gemme den som statiske data. Ved at vedhæfte beregningen på formularniveau sikrer du, at Alder altid er aktuel, når posten vises.

Vores valg: — Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil..

Hvis du kommer fra en baggrund i værktøjer som Microsoft Access eller FileMaker, kan denne adskillelse føles usædvanlig. I 4D betaler disciplinen med at holde afledte værdier ude af strukturen sig i renere data og færre forældede felter. For en bredere kontekst om, hvordan databaseskemaer adskiller lagrede og afledte data, se Wikipedia-artiklen om databasenormalisering, som forklarer, hvorfor lagring af redundante beregnede værdier generelt frarådes.

Færdiggørelse og undgåelse af standardformular-fælden

Når du er færdig med at oprette datafelterne, skal du lukke vinduet Feltegenskaber ved at klikke på knappen Færdig.

Nu en advarsel: Hvis der ikke er oprettet nogen formularer, og du lukker vinduet Struktur for eksempeldatabase, vil du blive spurgt, om du vil oprette standardformularer (figur 14). Hvis du vælger “Nej”, lukkes vinduet, og du vil blive ført til Bruger-tilstand. Da vi ikke er klar til at være i brugertilstand endnu, skal du bare lade vinduet Struktur for eksempeldatabase være åbent indtil videre.

Dette er en almindelig tidlig anstødssten. Nye udviklere lukker strukturvinduet, afviser standardformularer og befinder sig pludselig i et runtime-miljø uden noget at køre. Løsningen er enkel — genåbn strukturen — men lektionen er værd at internalisere: I 4D er Struktur (designtid) og Bruger (kørselstid) tilstande forskellige miljøer, og du bevæger dig bevidst mellem dem.

Hvis du er nysgerrig efter, hvordan 4D passer ind i det bredere landskab af platforme til hurtig applikationsudvikling, er Wikipedia-oversigten over lavkode-udviklingsplatforme en nyttig reference til at forstå den kategori, som 4D hjalp med at pionere.

Bedste praksis for tidlig strukturering af felter

Fordi felter er permanente, sparer lidt planlægning på forhånd en masse besvær senere. Overvej disse vaner:

  • Navngiv felter konsekvent. Beslut dig for en konvention (f.eks. “Fornavn”, “Efternavn”, “Fødselsdato”) og anvend den overalt. Konsistens gør formularer og kode langt lettere at opbygge.
  • Reserver Alpha-felter til nøgler. Hvis et felt nogensinde skal indgå i en relation, skal det være Alpha fra starten. Det er ikke muligt at konvertere det senere.
  • Hold afledte værdier ude af strukturen. Alder, totaler og lignende beregnede værdier hører hjemme på formularer eller i metoder, ikke som lagrede felter.
  • Efterlad et par ekstra felter. Da du ikke kan slette, giver ubrugte pladser dig rum til at tilpasse dig uden at rode i dit synlige skema.
  • Dokumentér undervejs. En kort bemærkning om hvert felts formål vil spare dit fremtidige selv — og enhver holdkammerat — for betydeligt gætteri.

For autoritativ vejledning om relationelle databasedesignprincipper, der understøtter disse beslutninger, tilbyder PostgreSQL-dokumentationen en fremragende, leverandørneutral reference til datatyper og skemadesign, selvom 4D’s implementering adskiller sig i sine specifikationer.

Ofte stillede spørgsmål

Kan jeg slette et datafelt i 4D, efter jeg har oprettet det?

Nej. Når et datafelt er oprettet i 4D-strukturen, kan det ikke slettes. Dine muligheder er at omdøbe det, genanvende det til et andet formål senere eller blot skjule det. Et tomt felt uden data påvirker ikke programmets størrelse eller drift væsentligt, så det er normalt harmløst at lade et ubrugt felt være.

Hvad er forskellen mellem et tekstfelt og et alfafelt?

Tekstfelter kan indeholde op til 32.000 tegn og har ingen fast længdegrænse. Alfafelter er længdebegrænsede — standarden er 20 tegn og maksimum er 80 — og programmet håndhæver denne grænse ved dataindtastning. Afgørende er, at alfafelter er den eneste felttype, der kan bruges som relationsnøgler.

Hvorfor kan jeg ikke se det nye datafelt, jeg lige har oprettet?

Hvis du fortsætter med at oprette felter ud over de synlige rækker i tabellen, bliver de tilføjet, men vises ikke. For at se dem skal du enten gøre tabellen længere ved at trække i den eller bruge op- og ned-pilene øverst i tabellen. Pilene vises kun, når der er flere felter, end tabellen kan vise.

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

Beregnefelter såsom Alder defineres ikke i strukturen. I stedet tilknyttes beregningen, når du opretter eller redigerer en formular. Alder-feltet oprettes først som et almindeligt dataindtastningsfelt, og beregningen baseret på Dato og Fødselsdato tilføjes senere på formularniveau.

Hvad sker der, hvis jeg lukker strukturvinduet, før jeg opretter formularer?

Hvis du lukker vinduet Structure for Sample Database uden at have oprettet formularer, spørger 4D, om du vil oprette standardformularer. Hvis du svarer “Nej”, lukkes vinduet, og du bliver ført til brugertilstand. Da du ikke er klar til at køre applikationen endnu, er det bedst at lade strukturvinduet stå åbent, indtil dine formularer er bygget.

Hvorfor åbner et klik på tabellen nogle gange det forkerte vindue?

Det, hvor du klikker, bestemmer hvilket vindue der vises. Klikker du på området med tabelnavnet, åbnes vinduet Table Properties, mens et klik på firkanterne i datafeltområdet under tabelnavnet åbner vinduet Field Properties. Sigt efter gitteret af firkanter, når du vil tilføje eller redigere felter.


Prøv FileMaker gratis i 45 dage

Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil.