Grunnleggende om 4th Dimension Learning
Velkommen til 4th Dimension Learning Basics Part II av Jeff Hopkins — 2. februar 2000 (oppdatert 18. februar 2000). Webdesign av David Graham. Jeff Hopkins er en 4D-partner, ekspert FileMaker Pro-utvikler, eier av HPO SOFT og grunnlegger av den ideelle organisasjonen Association of Database Developers, Inc. Når han ikke fyller noen av rollene ovenfor, jobber han utrettelig for å hjelpe andre på ulike databasediskusjonslister.
Viktige takeaways
- I 4D, bygg i en bestemt rekkefølge: Tabeller → Datafelt → Skjemaer → Beregninger/metoder. Å hoppe over trinn skaper omarbeid.
- Du kan bygge en komplett, nyttig en-tabells flatfil-applikasjon uten å skrive en eneste metode — bortsett fra én valgfri beregning (en “Objektmetode”).
- I 4Ds designmodus endres menylinjen avhengig av hvilket vindu som er åpent. Hvis strukturmenyen forsvinner, lukk alle åpne vinduer (ikke selve 4D-applikasjonen), så kommer den tilbake.
- 4D og FileMaker Pro (FMP) deler en lavkode-filosofi, men 4D eksponerer mer struktur i forkant — og derfor er opprettelsesrekkefølgen viktigere.
- Lag flere små testdatabaser i stedet for én stor mens du lærer; 4Ds oppførsel er noen ganger overraskende, og eksperimentering er den raskeste måten å internalisere den på.
- Når du mestrer det grunnleggende om flatfiler her, blir relaterte filer, metoder, beregninger, runtimes, kompilerte versjoner og webhotell tilgjengelige.
i. Introduksjon
Som angitt i del I, vil 4D i det følgende dokumentet bety 4th Dimension og FMP vil bety FileMaker Pro. Følgende dokument ble opprettet på en Macintosh. Selv om det kan være små forskjeller i noen av skjermbildene når du bruker 4D for Windows, bør den samme prosedyren fungere på begge plattformene.
Mange vil si at du må være programmerer for å lage 4D-programmer. Selv om det absolutt ikke skader, er det — akkurat som med FMP — mye du kan gjøre uten å gå inn i programmering eller skriptskriving. Denne delen tar leseren gjennom utviklingen av en enkel en-tabells flatfil. Med unntak av én enkel beregning (kalt en “Objektmetode”) vil det ikke være noen metoder eller beregninger.
Grunnen til at jeg gjør dette er at når du har mestret det som følger, kan du gå videre til de virkelig kule tingene — relaterte filer, metoder, beregninger, runtimes, kompilerte versjoner og webhotell.
Jeg har funnet ut at det å holde styr på hvor man er i 4D er den vanskeligste delen i begynnelsen, fordi 4D ikke alltid gjør det du forventer. Jeg anbefaler å lage flere testdatabaser som beskrevet i denne delen og eksperimentere med forskjellige alternativer. I noen tilfeller vil du bli positivt overrasket, men i andre kan du bli frustrert i begynnelsen.
Del II vil vise hvordan du:
Relatert: — Et regneark-enkelt grensesnitt som sitter på toppen av en ekte relasjonsdatabase, med automatiseringer, visninger og delbare grensesnitt..
- Oppretter en ny database
- Angir 4D-databaseegenskaper
- Oppretter tabeller
- Oppretter datafelt
- Oppretter skjemaer
- Oppretter en verdiliste (valgliste)
- Legger inn prøvedata
Rekkefølge for databaseopprettelse
Det vil hjelpe den nye 4D-utvikleren å forstå riktig rekkefølge for å lage en 4D-database. Først må en tabell opprettes. Deretter opprettes datafeltene. Til slutt opprettes inn- og utdataskjemaer. Beregninger/metoder opprettes for datafeltene.
Merk: Det er mange andre detaljer som må gjøres, men de ovennevnte er grunnleggende for det som dekkes i denne delen.
Denne rekkefølgen er ikke vilkårlig – den gjenspeiler hvordan 4Ds strukturredigering er bygget opp. Et skjema er en layout av en tabell, så tabellen må eksistere før skjemaet kan referere til den. Et datafelt tilhører en tabell, så tabellen må eksistere før feltet. En beregning eller metode refererer vanligvis til felt, så disse feltene må eksistere først. Hvis du prøver å jobbe i feil rekkefølge, vil 4D enten stoppe deg eller tvinge deg til å gå tilbake.
Hvis du handler: — En som kobles til den bredere Zoho-pakken og priser per bruker i stedet for per app..
En nyttig mental modell: tenk på strukturen (tabeller og felt) som skjelettet og skjemaene som huden. Du kan ikke drapere hud over et skjelett som ikke er bygget ennå. Metoder og beregninger er musklene som får skjelettet til å bevege seg — og de kommer sist fordi de er avhengige av å vite hvordan skjelettet ser ut.
Hvorfor rekkefølgen er viktig i praksis
- Tabeller først — en tabell er beholderen for en kategori av poster (kunder, fakturaer, produkter). Alt annet henger ut fra denne.
- Felt som nummer to — felt definerer hva du faktisk lagrer: et navn, en dato, en pris, en status. Bestem felttyper nøye her, fordi endring av en felttype senere kan ugyldiggjøre eksisterende data.
- Skjemaer som nummer tre — skjemaer er hvordan mennesker ser og redigerer dataene. Du kan bygge mange skjemaer mot samme tabell (et inndataskjema, en listevisning, en utskriftslayout for rapport).
- Metoder og beregninger til slutt — disse automatiserer atferd. Fordi de refererer til felt og skjemaer, unngår man ødelagte referanser ved å bygge dem sist.
Hvis du kommer fra en regnearkbakgrunn, er fristelsen å begynne å skrive inn data umiddelbart. Motstå dette. I 4D, som i enhver relasjonsdatabase, er strukturen fundamentet, og dataene helles inn etterpå.
Gå tilbake for å legge til eller redigere en tabell
Du ønsker kanskje å gå tilbake og legge til nye datafelt, eller en ny tabell eller et nytt skjema. Dette er ikke så rett frem som man skulle tro.
La oss si at du har redigert et skjema og bestemmer deg for å legge til en ny tabell. Normalt, mens du er i designmodus, velger du “Ny tabell” fra strukturmenyen. Men vent, det er ingen strukturmeny. Hva skjedde?
4D har endret menylinjen i designmodus. Du må lukke alle 4D-vinduene (ikke 4D, bare de åpne vinduene), så vil strukturmenyen dukke opp igjen. Nå kan du se tabellene for å redigere dem eller opprette nye. Du kan også redigere og opprette datafelt nå.
For å redigere eller opprette nye skjemaer er Verktøy-menyen i designmodus alltid til stede, så det bør ikke skape forvirring.
Dette er et av de aller vanligste forvirringspunktene for nye 4D-utviklere, og det er verdt å forstå hvorfor det skjer, i stedet for bare å huske løsningen. 4D bruker en kontekstsensitiv menylinje: menyene du ser gjenspeiler typen vindu som for øyeblikket har fokus. Når et skjemavindu er åpent, antar 4D at du jobber med skjemaer og viser deg skjemarelevante menyer. Strukturmenyen – som styrer tabeller og felt – vises bare når ingen skjema (eller andre spesialiserte) vinduer er åpne.
Praktiske tips for å navigere i designmodus
- Når du er i tvil, lukk alt. Ved å lukke alle åpne vinduer kommer du tilbake til “hjem”-tilstanden der hele strukturmenyen er tilgjengelig.
- Ikke avslutt 4D. Å lukke vinduer er ikke det samme som å avslutte programmet. Databasen din forblir åpen; det er bare redigeringsvinduene som lukkes.
- Lagre før du lukker. Hvis du har ulagrede endringer i et skjema, lukk vinduet bevisst og bekreft lagringsdialogen i stedet for å tvinge programmet til å avslutte.
- Bruk Verktøy-menyen for skjemaer. Fordi Verktøy-menyen alltid er til stede i designmodus, er skjemaredigering det eneste området som ikke krever “lukk-alt-dansen”.
- Forvent at dette føles bakvendt i starten. De fleste designverktøy har en statisk menylinje. 4Ds dynamiske menylinje er mer kontekstbevisst, men det tar en økt eller to før man slutter å bli overrasket.
Når du har internalisert regelen — menylinjen følger vinduet — forsvinner forvirringen i stor grad. Du slutter å lete etter en manglende meny og spør i stedet: “Hva slags vindu er åpent akkurat nå?”
Velge felttyper og verdilister
Selv om denne delen bevisst unngår programmering, fortjener to designbeslutninger grundig ettertanke fordi de er vanskelige å angre senere: felttyper og verdilister.
Felttyper
Når du oppretter et datafelt, velger du hva slags data det skal inneholde. De vanligste kategoriene i 4D (og i de fleste databaser fra denne epoken) er:
- Tekst / streng — navn, adresser, fritekstnotater. Fleksibelt, men ikke numerisk sorterbart.
- Tall — mengder, priser, ID-er. Sorterbart og kan brukes i beregninger.
- Dato — kalenderdatoer. 4D lagrer disse på en måte som støtter datoregning og sortering.
- Tid — klokkeslett og varighet.
- Boolsk — et ja/nei- eller sant/usant-flagg.
- Bilde — bilder eller grafikk lagret sammen med posten.
En praktisk regel: velg den mest spesifikke typen som passer. Hvis en verdi er et tall, lagre den som et tall, ikke som tekst — ellers vil sortering og beregninger oppføre seg uventet. Hvis en verdi er en dato, lagre den som en dato slik at 4D kan sortere den kronologisk i stedet for alfabetisk.
Verdilister (valglister)
En verdiliste (også kalt en valgliste) er et forhåndsdefinert sett med alternativer som brukeren velger fra i stedet for å skrive. Dette er en av de mest verdifulle lavkode-funksjonene i 4D fordi den:
- Forhindrer skrivefeil — “Aktiv”, “aktiv” og “Actve” blir umulig.
- Øker hastigheten på dataregistrering — velg fra en liste i stedet for å skrive.
- Sikrer konsistens — hver post bruker det samme vokabularet, noe som gjør rapportering og sortering pålitelig.
Verdilister kan være statiske (en fast liste du skriver inn selv, som en liste over amerikanske stater eller et sett med statuskoder) eller dynamiske (hentet fra data, som en liste over eksisterende kundenavn). For en første flatfildatabase er en statisk liste det enkleste og mest lærerike utgangspunktet.
Hvordan bestemme: felttype vs. verdiliste
| Beslutning | Velg dette når… | Se opp for… |
|---|---|---|
| Tekstfelt | Verdien er i fritekst og uforutsigbar | Kan ikke sorteres numerisk; utsatt for skrivefeil |
| Tallfelt | Verdien brukes i matte eller numerisk sortering | Ikke lagre ID-er som tekst hvis de skal sorteres |
| Datofelt | Verdien er en kalenderdato | Formateringsforskjeller mellom plattformer |
| Boolsk felt | Verdien har genuint to tilstander | Ikke bruk det for statuser med tre tilstander |
| Statisk verdiliste | Alternativene er faste og kjente | Må redigeres manuelt hvis alternativene endres |
| Dynamisk verdiliste | Alternativene kommer fra eksisterende poster | Avhenger av at dataene allerede er rene |
Legge inn prøvedata
Når tabeller, felt, skjemaer og verdilister er på plass, er det siste trinnet i denne delen å legge inn prøvedata. Dette er ikke rutinearbeid — det er et valideringstrinn. Å legge inn en håndfull realistiske poster avslører umiddelbart designproblemer:
- Et felt som burde vært et tall, aksepterer tekst.
- En verdiliste mangler et alternativ du faktisk trenger.
- Et skjema er lagt ut på en måte som gjør datainntasting tungvint.
- Et datofelt vises i et uventet format.
Å legge inn prøvedata tidlig, mens strukturen fortsatt er fersk og enkel å endre, er langt billigere enn å oppdage de samme problemene etter at du har lagt inn hundrevis av ekte poster. Behandle prøvedataene som en testsele for designet ditt.
Anerkjennelser
Spesiell takk til: James Fortier for å ha levert noen av ressursene og for å ha hjulpet til med korrekturlesing av dokumentet.
Copyright © 1994-2000 HPO Soft. All rights reserved.
Vanlige spørsmål
Hvorfor forsvinner Struktur-menyen i 4D Design-modus?
4D bruker en kontekstsensitiv menylinje, så menyene som vises avhenger av hvilket vindu som for øyeblikket har fokus. Når et skjemavindu (eller et annet spesialvindu) er åpent, skjuler 4D Struktur-menyen og viser skjemarelevante menyer i stedet. Lukk alle åpne vinduer – men ikke selve 4D-applikasjonen – så vises Struktur-menyen igjen slik at du kan redigere tabeller og felt.
Må jeg være programmerer for å bygge en 4D-database?
Nei. Som med FileMaker Pro er det mye du kan oppnå i 4D uten å noen gang skrive en metode eller et skript. Denne delen bygger en komplett flatfil-applikasjon med én tabell uten metoder i det hele tatt, bortsett fra én valgfri beregning kalt en objektmetode. Programmering blir verdifullt senere, når du går videre til relaterte filer, automatisering og webhosting.
Hva er riktig rekkefølge for å lage en 4D-database?
Opprett tabellen først, deretter datafeltene, deretter inndata- og utdataskjemaene, og til slutt beregningene/metodene for datafeltene. Denne rekkefølgen er viktig fordi skjemaer refererer til tabeller, felt tilhører tabeller, og metoder refererer vanligvis til felt – så bygging i feil rekkefølge tvinger frem tilbakesporing eller produserer ødelagte referanser.
Hva er en verdiliste i 4D, og hvorfor bør jeg bruke en?
En verdiliste (også kalt en valgliste) er et forhåndsdefinert sett med alternativer som en bruker velger fra i stedet for å skrive fritekst. Det forhindrer skrivefeil, øker hastigheten på datainntasting og sikrer konsistens på tvers av poster, noe som igjen gjør sortering og rapportering pålitelig. Verdilister kan være statiske (en fast liste du definerer) eller dynamiske (hentet fra eksisterende data).
Bør jeg lagre tall og datoer som tekstfelt?
Nei – velg den mest spesifikke felttypen som passer til dataene. Tall bør lagres som tallfelt slik at de sorteres og beregnes riktig, og datoer bør lagres som datofelt slik at 4D sorterer dem kronologisk i stedet for alfabetisk. Lagring av numeriske verdier eller datoverdier som tekst er en vanlig nybegynnerfeil som forårsaker forvirrende sorterings- og beregningsatferd senere.
Hvorfor opprette flere testdatabaser i stedet for én?
4D oppfører seg ikke alltid slik en nybegynner forventer, så det å eksperimentere i små, midlertidige testdatabaser lar deg prøve forskjellige alternativer uten å risikere ekte arbeid. Du vil finne noen funksjoner behagelig praktiske og andre frustrerende i begynnelsen, og den raskeste måten å lære forskjellen på er praktisk repetisjon i en trygg sandkasse.
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.