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 4th Dimension Learning

Velkommen til 4th Dimension Learning Basics Part II af Jeff Hopkins — 2. februar 2000 (opdateret 18. februar 2000). Webdesign af David Graham. Jeff Hopkins er 4D-partner, ekspert FileMaker Pro-udvikler, ejer af HPO SOFT og grundlægger af den non-profit organisation Association of Database Developers, Inc. Når han ikke udfylder nogle af ovenstående roller, arbejder han utrætteligt på at hjælpe andre på forskellige databasediskussionslister.

Key Takeaways

  • I 4D skal du bygge i en bestemt rækkefølge: Tabeller → Datafelter → Formularer → Beregninger/metoder. At springe trin over skaber omarbejde.
  • Du kan bygge en komplet, nyttig applikation med en enkelt flad fil uden at skrive en eneste metode — bortset fra én valgfri beregning (en “Objektmetode”).
  • I 4D’s designtilstand ændres menulinjen afhængigt af, hvilket vindue der er åbent. Hvis strukturmenuen forsvinder, skal du lukke alle åbne vinduer (ikke selve 4D-applikationen), og så vender den tilbage.
  • 4D og FileMaker Pro (FMP) deler en low-code filosofi, men 4D eksponerer mere struktur på forhånd — hvilket er grunden til, at oprettelsesrækkefølgen betyder mere.
  • Opret flere små testdatabaser i stedet for én stor, mens du lærer; 4Ds adfærd er nogle gange overraskende, og eksperimentering er den hurtigste måde at internalisere den på.
  • Når du mestrer det grundlæggende med flade filer her, bliver relaterede filer, metoder, beregninger, runtimes, kompilerede versioner og webhosting alle tilgængelige.

i. Introduktion

Som angivet i del I, vil 4D i det følgende dokument betyde 4th Dimension, og FMP vil betyde FileMaker Pro. Det følgende dokument blev oprettet på en Macintosh. Selvom der kan være små forskelle i nogle af skærmbillederne, når man bruger 4D til Windows, bør den samme procedure fungere på begge platforme.

Mange vil sige, at man skal være programmør for at lave 4D-programmer. Selvom det bestemt ikke skader, er der ligesom med FMP meget, man kan gøre uden nogensinde at komme ind i programmering eller scriptskrivning. Denne del vil tage læseren gennem udviklingen af en simpel flad fil med én tabel. Med undtagelse af én simpel beregning (kaldet en “Objektmetode”) vil der ikke være nogen metoder eller beregninger.

Grunden til, at jeg gør dette, er, at når du har mestret det følgende, kan du gå videre til de virkelig smarte ting — relaterede filer, metoder, beregninger, runtimes, kompilerede versioner og webhosting.

Jeg har fundet ud af, at det sværeste i starten er at holde styr på, hvor man er i 4D, fordi 4D ikke altid gør, hvad man forventer. Jeg anbefaler at oprette flere testdatabaser, som beskrevet i denne del, og eksperimentere med forskellige muligheder. I nogle tilfælde vil du blive positivt overrasket, men i andre kan du blive frustreret i starten.

Del II vil vise, hvordan man:

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

  • Opretter en ny database
  • Indstiller 4D-databaseegenskaber
  • Opretter tabeller
  • Opretter datafelter
  • Opretter formularer
  • Opretter en værdiliste (valgliste)
  • Indtaster prøvedata

Databaseoprettelsesrækkefølge

Det vil hjælpe den nye 4D-udvikler at forstå den korrekte rækkefølge for oprettelse af en 4D-database. Først skal der oprettes en Tabel. Derefter oprettes Datafelterne. Endelig oprettes Input- og outputformularer. Beregninger/metoder oprettes for datafelterne.

Bemærk: Der er mange andre detaljer, der skal på plads, men ovenstående er det grundlæggende i det, der dækkes i denne del.

Denne rækkefølge er ikke vilkårlig – den afspejler, hvordan 4D’s struktureditor er opbygget. En formular er et layout af en tabel, så tabellen skal eksistere, før formularen kan referere til den. Et datafelt hører til en tabel, så tabellen skal eksistere før feltet. En beregning eller metode refererer typisk til felter, så disse felter skal eksistere først. Hvis du prøver at arbejde i forkert rækkefølge, vil 4D enten stoppe dig eller tvinge dig til at gå tilbage.

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

En nyttig mental model: tænk på strukturen (tabeller og felter) som skelettet og formularerne som huden. Du kan ikke drapere hud over et skelet, der ikke er bygget endnu. Metoder og beregninger er musklerne, der får skelettet til at bevæge sig — og de kommer til sidst, fordi de er afhængige af at vide, hvordan skelettet ser ud.

Hvorfor rækkefølgen betyder noget i praksis

  • Tabeller først — en tabel er beholderen for en kategori af poster (kunder, fakturaer, produkter). Alt andet hænger på den.
  • Felter derefter — felter definerer, hvad du faktisk gemmer: et navn, en dato, en pris, en status. Vælg felttyper omhyggeligt her, fordi ændring af en felttype senere kan gøre eksisterende data ugyldige.
  • Formularer som tredje trin — formularer er måden, mennesker ser og redigerer dataene på. Du kan bygge mange formularer til den samme tabel (en inputformular, en listevisning, et layout til en printet rapport).
  • Metoder og beregninger til sidst — disse automatiserer adfærd. Fordi de refererer til felter og formularer, undgår man brudte referencer ved at bygge dem til sidst.

Hvis du kommer fra en regnearksbaggrund, er fristelsen at begynde at indtaste data med det samme. Modstå det. I 4D, som i enhver relationel database, er strukturen fundamentet, og dataene hældes i bagefter.

Gå tilbage for at tilføje eller redigere en tabel

Du ønsker måske at gå tilbage og tilføje nye datafelter eller en ny tabel eller formular. Dette er ikke så ligetil, som man kunne forvente.

Lad os sige, at du har redigeret en formular og beslutter dig for at tilføje endnu en tabel. Normalt, mens du er i designtilstand, ville du vælge “Ny tabel” fra strukturmenuen. Men vent, der er ingen strukturmenu. Hvad skete der?

4D har ændret menulinjen i designtilstanden. Du skal lukke alle 4D-vinduer (ikke 4D, kun de åbne vinduer), og strukturmenuen vil dukke op igen. Nu kan du se tabellerne for at redigere dem eller oprette nye. Du kan nu også redigere og oprette datafelter.

For at redigere eller oprette nye formularer er menuen Værktøjer i designtilstand altid til stede, så det bør ikke skabe forvirring.

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

Dette er et af de mest almindelige forvirringspunkter for nye 4D-udviklere, og det er værd at forstå hvorfor det sker, fremfor blot at huske løsningen. 4D bruger en kontekstfølsom menulinje: de menuer, du ser, afspejler den type vindue, der i øjeblikket har fokus.

Når et formularvindue er åbent, antager 4D, at du arbejder med formularer, og viser dig formularrelevante menuer. Strukturmenuen — som styrer tabeller og felter — vises kun, når intet formularvindue (eller andet specialiseret vindue) er åbent.

Praktiske tips til at navigere i designtilstand

  • Når du er i tvivl, så luk alt. Ved at lukke alle åbne vinduer vender du tilbage til “hjem”-tilstanden, hvor den fulde strukturmenu er tilgængelig.
  • Afslut ikke 4D. At lukke vinduer er ikke det samme som at afslutte programmet. Din database forbliver åben; kun redigeringsvinduerne lukkes.
  • Gem før du lukker. Hvis du har ikke-gemte formularredigeringer, skal du lukke vinduet bevidst og bekræfte gem-prompten fremfor at tvinge programmet til at lukke.
  • Brug menuen Værktøjer til formularer. Da menuen Værktøjer altid er til stede i designtilstand, er formularredigering det eneste område, der ikke kræver “luk-alt-det-hele”-dansen.
  • Forvent, at dette føles bagvendt i starten. De fleste designværktøjer har en statisk menulinje. 4Ds dynamiske menulinje er mere kontekstbevidst, men det tager en session eller to, før man holder op med at blive overrasket.

Når du først har internaliseret reglen — menulinjen følger vinduet — forsvinder forvirringen stort set. Du stopper med at lede efter en manglende menu og spørger i stedet: “Hvilken slags vindue er åbent lige nu?”

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

Valg af felttyper og værdilister

Selvom denne del bevidst undgår programmering, fortjener to designbeslutninger reel overvejelse, fordi de er svære at fortryde senere: felttyper og værdilister.

Felttyper

Når du opretter et datafelt, vælger du, hvilken slags data det skal indeholde. De almindelige kategorier i 4D (og i de fleste databaser fra denne æra) er:

  • Tekst / String — navne, adresser, noter i frit format. Fleksibel, men ikke numerisk sorterbar.
  • Tal — mængder, priser, ID’er. Sorterbar og kan bruges i beregninger.
  • Dato — kalenderdatoer. 4D gemmer disse på en måde, der understøtter databeregninger og sortering.
  • Tid — klokkeslæt og varighed.
  • Boolean — et ja/nej eller sandt/falsk flag.
  • Billede — billeder eller grafik gemt sammen med posten.

En praktisk regel: vælg den mest specifikke type, der passer. Hvis en værdi er et tal, skal du gemme den som et tal, ikke som tekst — ellers vil sortering og beregninger opføre sig uventet. Hvis en værdi er en dato, skal du gemme den som en dato, så 4D kan sortere den kronologisk fremfor alfabetisk.

Værdilister (valglister)

En værdiliste (også kaldet en valgliste) er et foruddefineret sæt af muligheder, som en bruger vælger imellem i stedet for at skrive. Det er en af de mest værdifulde low-code funktioner i 4D, fordi den:

  • Forhindrer stavefejl — “Aktiv”, “aktiv” og “Actve” bliver umulige.
  • Fremskynder dataindtastning — vælg fra en liste i stedet for at skrive.
  • Sikrer konsistens — hver post bruger det samme ordforråd, hvilket gør rapportering og sortering pålidelig.

Værdilister kan være statiske (en fast liste, du selv indtaster, såsom en liste over amerikanske stater eller et sæt statuskoder) eller dynamiske (hentet fra data, såsom en liste over eksisterende kundenavne). For en første flat-file-database er en statisk liste det enkleste og mest lærerige udgangspunkt.

Sådan beslutter du: felttype vs. værdiliste

BeslutningVælg dette, når…Pas på…
TekstfeltVærdien er i frit format og uforudsigeligKan ikke sorteres numerisk; tilbøjelig til stavefejl
TalfeltVærdien bruges i matematik eller numerisk sorteringGem ikke ID’er som tekst, hvis de skal sorteres
DatofeltVærdien er en kalenderdatoFormateringsforskelle mellem platforme
Boolean-feltVærdien er reelt to-strengetBrug det ikke til statusser med tre tilstande
Statisk værdilisteMulighederne er faste og kendteSkal redigeres manuelt, hvis mulighederne ændres
Dynamisk værdilisteMulighederne kommer fra eksisterende posterAfhænger af, at data allerede er rene

Indtastning af prøvedata

Når tabeller, felter, formularer og værdilister er på plads, er det sidste trin i denne del at indtaste prøvedata. Dette er ikke spildtid — det er et valideringstrin. Indtastning af en håndfuld realistiske poster afslører straks designproblemer:


  • Et felt, der skulle have været et tal, accepterer tekst.
  • En værdiliste mangler en mulighed, du faktisk har brug for.
  • En formular er udformet på en måde, der gør dataindtastning besværlig.
  • Et datofelt vises i et uventet format.

At indtaste prøvedata tidligt, mens strukturen stadig er frisk og nem at ændre, er langt billigere end at opdage de samme problemer, efter at du har indtastet hundredvis af rigtige poster. Behandl prøvedataene som et test harness til dit design.

Anerkendelser

Særlig tak til: James Fortier for at levere nogle af ressourcerne og hjælpe med at korrekturlæse dokumentet.

Copyright © 1994-2000 HPO Soft. Alle rettigheder forbeholdes.

Ofte stillede spørgsmål

Hvorfor forsvinder Struktur-menuen i 4D Design-tilstand?

4D bruger en kontekstafhængig menulinje, så de viste menuer afhænger af, hvilket vindue der i øjeblikket har fokus. Når et formularvindue (eller et andet specialiseret vindue) er åbent, skjuler 4D Struktur-menuen og viser i stedet formularrelevante menuer. Luk alle åbne vinduer — men ikke selve 4D-applikationen — og Struktur-menuen vises igen, så du kan redigere tabeller og felter.

Skal jeg være programmør for at bygge en 4D-database?

Nej. Som med FileMaker Pro er der meget, du kan opnå i 4D uden nogensinde at skrive en metode eller et script. Denne del bygger en komplet flad-fil-applikation med én tabel uden metoder overhovedet, bortset fra én valgfri beregning kaldet en objektmetode. Programmering bliver værdifuldt senere, når du går videre til relaterede filer, automatisering og webhosting.

Hvad er den korrekte rækkefølge for at oprette en 4D-database?

Opret først tabellen, derefter datafelterne, derefter input- og outputformularerne og til sidst beregningerne/metoderne for datafelterne. Denne rækkefølge har betydning, fordi formularer refererer til tabeller, felter tilhører tabeller, og metoder typisk refererer til felter — så opbygning i forkert rækkefølge tvinger til tilbagesporing eller producerer ødelagte referencer.

Hvad er en værdiliste i 4D, og hvorfor skal jeg bruge en?

En værdiliste (også kaldet en valgliste) er et foruddefineret sæt af muligheder, som en bruger vælger imellem i stedet for at skrive fri tekst. Det forhindrer stavefejl, fremskynder dataindtastning og sikrer konsistens på tværs af poster, hvilket igen gør sortering og rapportering pålidelig. Værdilister kan være statiske (en fast liste, du definerer) eller dynamiske (hentet fra eksisterende data).

Skal jeg gemme tal og datoer som tekstfelter?

Nej — vælg den mest specifikke felttype, der passer til dataene. Tal skal gemmes som talfelter, så de sorteres og beregnes korrekt, og datoer skal gemmes som datofelter, så 4D sorterer dem kronologisk i stedet for alfabetisk. Lagring af numeriske værdier eller datoværdier som tekst er en almindelig begynderfejl, der forårsager forvirrende sorterings- og beregningsadfærd senere.

Hvorfor oprette flere testdatabaser i stedet for én?

4D opfører sig ikke altid, som en nybegynder forventer, så eksperimentering i små, midlertidige testdatabaser giver dig mulighed for at prøve forskellige muligheder uden at risikere rigtigt arbejde. Du vil finde nogle funktioner behageligt bekvemme og andre frustrerende i starten, og den hurtigste måde at lære forskellen på er praktisk gentagelse i en sikker sandkasse.


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.