Grunderna i 4th Dimension Learning
Viktiga slutsatser
- Datainmatning i 4D sker uteslutande via Inmatnings-/detaljformuläret — utdata-/listformuläret är skrivskyddat och dirigerar dig helt enkelt tillbaka till inmatningsformuläret när du interagerar med det.
- Att växla mellan formulär är en central navigeringsförmåga: tryck på Enter för att lämna inmatningsformuläret och dubbelklicka var som helst på utdataformuläret för att återvända.
- Värdelistor (vallistor) är mekanismen som håller data ren vid inmatningspunkten – de begränsar vad en användare kan skriva istället för att förlita sig på validering i efterhand.
- I samma ögonblick som du sparar dina första poster skapar 4D den fysiska databasmappen och dess stödfiler på disken – det här är strukturen du kommer att säkerhetskopiera, flytta och så småningom distribuera.
- Att ange exempeldata är inte meningslöst arbete: det är så du verifierar att dina tabeller, fält, formulär och värdelistor faktiskt fungerar tillsammans innan du bygger något ovanpå dem.
Varför datainmatning är det verkliga testet av din design
Fram till denna punkt i inlärningssekvensen har du skapat en databas, ställt in dess egenskaper, definierat tabeller och datafält, byggt formulär och kopplat värdelistor. Att ange exempeldata är där alla dessa beslut möter verkligheten.
Ett fält som såg rimligt ut i strukturredigeraren kan visa sig vara av fel typ när du väl försöker skriva in ett riktigt värde i det. En värdelista som verkade komplett kan visa sig sakna det enda alternativ som en användare faktiskt behöver. En formulärlayout som såg balanserad ut i formulärredigeraren kan visa sig vara besvärlig när du tabbar dig igenom den med ett tangentbord.
Det är därför erfarna 4D-utvecklare behandlar det första datainmatningspasset som en designgranskning, inte som ett tråkigt arbete med att ladda data. Du fyller inte bara en tabell – du stresstestar schemat, formuläret och vallistorna samtidigt. Om något känns klumpigt nu kommer det att kännas mycket värre när du väl har hundratals poster och nedströmsrapporter som är beroende av det.
Mata in data: Mekaniken
Se till att du är i Användarläge innan du börjar. I 4D:s klassiska arkitektur skiljer miljön mellan Design mode (där du redigerar struktur, formulär och kod) och User mode (där du faktiskt arbetar med poster). Data måste anges via Inmatnings-/detaljformuläret. Du kan inte ange data i utdata-/listformuläret – det formuläret är utformat för att bläddra och lista, inte för redigering.
Om du försöker är 4D förlåtande: att dubbelklicka på ett datafält eller var som helst i utdataformuläret växlar dig helt enkelt till inmatningsformuläret. Det beteendet är avsiktligt och värt att internalisera, eftersom det betyder att utdataformuläret även fungerar som en navigeringsyta.
När du väl är i inmatningsformuläret fungerar inmatning av data ungefär som i vilken databasapplikation som helst:
Relaterat: — Den långvariga relationsdatabasplattformen för team som behöver anpassade appar på skrivbordet, webben och mobilen från en enda fil..
- Klicka direkt på ett fält för att placera markören där.
- Tabba genom fälten i sekvens — detta är vanligtvis snabbare än att klicka, och det respekterar fältordningen du definierade i formuläret.
- Popup-listor visas när ett fält är kopplat till en värdelista; du klickar på objektet du vill välja och 4D skriver in det värdet i fältet.
Den sista punkten är vinsten av det arbete med värdelistor som du gjorde tidigare. En välbyggd vallista innebär att användaren aldrig behöver komma ihåg den exakta stavningen av en kategori, en status eller en region – de väljer från ett kontrollerat ordförråd.
Detta är samma princip som relationsdatabasteori kallar en domänbegränsning, och det är en av de billigaste formerna av dataintegritet med högst värde som du kan bygga. Om du vill ha den formella bakgrunden förklarar Wikipedia-artikeln om databasnormalisering varför kontrollerade värden i uppslagsfält minskar redundans och uppdateringsavvikelser.
Växla mellan inmatnings- och utdataformulär
Navigering mellan de två formulärtyperna är medvetet minimal, och det är värt att låta det bli muskelminne:
Om du handlar: — En appbyggare med låg kod som ansluts till den bredare Zoho-sviten och priser per användare snarare än per app..
- Från inmatningsformuläret: tryck på Enter för att växla tillbaka till utdataformuläret.
- Från utdataformuläret: dubbelklicka var som helst på formuläret för att växla till inmatningsformuläret.
Det finns en subtilitet här som kan förvirra nybörjare. Att trycka på Enter i inmatningsformuläret fyller en dubbel funktion – det både validerar/accepterar den aktuella posten och tar dig tillbaka till listan.
Det betyder att om du har skrivit något ogiltigt (ett värde som inte matchar fältets typ, eller ett obligatoriskt fält som lämnats tomt), kan 4D hålla dig kvar i formuläret istället för att låta dig lämna. Behandla det som en funktion: det är databasen som vägrar att acceptera dålig data, vilket är precis vad du vill ha.
En praktisk vana: efter att ha angett varje post, kasta ett öga på utdataformuläret för att bekräfta att posten faktiskt visas och att värdena hamnade i de kolumner du förväntar dig. Utdataformuläret är din snabbaste visuella granskning av det du just sparat.
Ett praktiskt exempel: Ange dina första poster
Anta att din exempeldatabas spårar kontakter, med fält för namn, kategori och region, och värdelistor kopplade till kategori- och regionfälten. Så här ser ett rent inmatningspass ut:
- Växla till Användarläge.
- Dubbelklicka på Output-formuläret för att öppna Input-formuläret.
- Klicka i namnfältet och skriv ett värde.
- Tabb till kategorifältet. Eftersom det är bundet till en värdelista visas en popup – välj ett alternativ istället för att skriva.
- Tabb till regionfältet och välj från dess lista på samma sätt.
- Tryck på Enter för att acceptera posten och återgå till Output-formuläret.
- Bekräfta att den nya raden visas med de värden du valde.
- Upprepa för flera poster till, och variera medvetet värdena så att du testar olika listalternativ.
Steg 8 är viktigare än det låter. Om du bara anger en kategori upptäcker du aldrig att en andra kategori saknas i listan, eller att ett fält är för smalt för att visa ett längre värde. Att variera dina exempeldata är så du hittar dessa luckor medan de fortfarande är billiga att åtgärda.
Vad 4D skapar på disk
När du sparar poster materialiserar 4D databasen som en mapp på disken som innehåller strukturfilen, datafilen och stödjande resurser. Detta är artefakten som du så småningom kommer att kopiera, säkerhetskopiera och distribuera. Att förstå att databasen är en mapp – inte en enda ogenomskinlig fil – är viktigt av några praktiska skäl:
- Säkerhetskopieringar måste fånga hela mappen, inte bara en fil, annars riskerar du en mismatch mellan struktur och data.
- Att flytta en databas mellan maskiner innebär att flytta mappen intakt och bevara dess interna relativa sökvägar.
- Versionskontroll av strukturen är möjlig, men själva datafilen är inte något man vanligtvis checkar in.
Om du kommer från en bakgrund med skrivbordsdatabaser i en enda fil, är denna mappbaserade modell en av de första genuint annorlunda sakerna med att arbeta i 4D, och det är värt att förstå tidigt. Det bredare konceptet om hur databashanteringssystem separerar struktur från data behandlas i Wikipedias översikt över databashanteringssystem.
Hur man bestämmer vad man ska ange som exempeldata
Alla exempeldata är inte lika användbara. En kort, genomtänkt uppsättning är bättre än en stor, slumpmässig. Använd dessa kriterier när du bestämmer vad du ska skriva in:
- Täck alla alternativ i värdelistan minst en gång. Detta bevisar att varje val är nåbart och visas korrekt.
- Inkludera ett kantfall per fält. Ett mycket långt namn, ett värde vid gränsen för ett numeriskt intervall, ett tomt valfritt fält.
- Ange minst en post som du tänker radera. Du vill bekräfta att raderingen fungerar som förväntat innan riktig data finns.
- Variera posterna så att Output-formuläret har något att sortera och skanna. En lista med nästan identiska rader säger ingenting om kolumnbredder eller läsbarhet.
- Håll uppsättningen liten. Fem till tio väl valda poster brukar räcka för att validera en design; du testar schemat, inte fyller produktionsmiljön.
Detta speglar den praxis som programvarutestning kallar gränsvärdesanalys – testning vid gränserna för acceptabel indata, där defekter tenderar att klustras. Wikipedia-artikeln om programvarutestning täcker den familj av tekniker som detta tillhör.
Vanliga fallgropar i detta skede
Några problem dyker upp om och om igen när folk först anger data i 4D:
- Att försöka skriva på Output-formuläret. Det accepterar inte inmatning; det kommer bara att skicka dig vidare till Input-formuläret. Detta är avsiktligt, inte en bugg.
- Att skriva i ett värdelistfält istället för att välja. Beroende på hur listan är konfigurerad kan fri text avvisas eller skapa ett oavsiktligt värde. Välj helst från popup-menyn.
- Att glömma att trycka på Enter. Om du navigerar bort utan att acceptera sparas kanske inte posten. Gör Enter till en vana.
- Att anta att posten sparades bara för att formuläret stängdes. Verifiera alltid på Output-formuläret.
- Att ange dussintals poster innan man kontrollerar designen. Fixa schemat och formuläret först, gör sedan bulk-inmatning.
Var detta passar in i inlärningsvägen
Det här steget – att ange exempeldata – är det sista i grundsekvensen: skapa en databas, ställ in egenskaper, definiera tabeller, definiera datafält, skapa formulär, koppla upp värdelistor och slutligen ange data. När du på ett tillförlitligt sätt kan ange, visa och navigera i poster har du en fungerande 4D-databas och en mental modell som du kan bygga vidare på. Allt som följer – frågor, rapporter, metoder och slutligen distribution – förutsätter att du är bekväm med denna loop.
För utvecklare som kommer från andra plattformar hjälper det att veta att 4D:s tillvägagångssätt härstammar från samma relationella tradition som produkter som Microsoft Access och FileMaker, men med sitt eget språk och sitt eget formulärcentrerade arbetsflöde. Wikipedia-artikeln om 4D (programmeringsspråk) ger användbart sammanhang om var plattformen befinner sig i det bredare landskapet.
Vanliga frågor
Varför kan jag inte skriva data direkt på Output-formuläret?
Output-formuläret är utformat för att bläddra i och lista poster, inte för att redigera dem. När du dubbelklickar på ett fält eller var som helst på formuläret växlar 4D dig automatiskt till Input/Detalj-formuläret, vilket är där all datainmatning sker. Denna separation håller listvyn snabb och förhindrar oavsiktliga redigeringar medan du skannar poster.
Hur växlar jag fram och tillbaka mellan Input- och Output-formulären?
Från inmatningsformuläret, tryck på Enter för att återgå till utdataformuläret. Från utdataformuläret, dubbelklicka var som helst för att öppna inmatningsformuläret. Dessa två gester är kärnan i navigeringsslingan i användarläge, och de är värda att öva på tills de sker automatiskt.
Vad händer om jag trycker på Enter med ett ogiltigt värde i ett fält?
4D kan hålla dig kvar på formuläret istället för att acceptera posten, eftersom värdet inte matchar fältets typ eller ett obligatoriskt fält är tomt. Detta är databasen som skyddar sin egen integritet. Korrigera värdet och tryck på Enter igen för att spara.
Behöver jag ange mycket exempeldata?
Nej. En liten, medveten uppsättning av fem till tio poster som täcker alla alternativ i värdelistan och inkluderar ett par kantfall är mycket mer användbar än en stor slumpmässig sats. Du validerar designen, inte fyller en produktionsdatabas.
Vad skapar 4D på disken när jag sparar poster?
4D skapar en databasmapp som innehåller strukturfilen, datafilen och stödresurser. Eftersom databasen är en mapp snarare än en enda fil, måste säkerhetskopior och flyttningar omfatta hela mappen för att undvika en mismatch mellan struktur och data.
Är det verkligen nödvändigt att ange exempeldata innan man bygger mer?
Ja – det är det snabbaste sättet att bekräfta att dina tabeller, fält, formulär och värdelistor fungerar tillsammans. Problem som är triviala att fixa nu blir kostsamma när frågor, rapporter och metoder blir beroende av schemat. Behandla det här steget som en designgranskning, inte som ett måste.
Bygg din första bas på några minuter
Ett enkelt kalkylarksgränssnitt som sitter ovanpå en riktig relationsdatabas, med automatiseringar, vyer och delbara gränssnitt.