Overslaan naar hoofdinhoud
HPO Software Stapsgewijze handleidingen voor het bouwen van 4D-databases en low-code apps — van je eerste tabel tot een complete zakelijke applicatie.

Sommige links op deze site zijn affiliate-links: als u via deze links koopt, kunnen wij een commissie verdienen zonder dat dit extra kosten voor u met zich meebrengt. Dit heeft nooit invloed op onze aanbevelingen. Zie onze affiliate-verklaring voor meer details. Affiliate-verklaring.

Basisprincipes van 4th Dimension Learning

Belangrijkste punten

  • De 4D-werkbalk is een gemakslaag, geen vereiste — het verbergen ervan is voor veel ontwikkelaars een legitieme eerste stap, omdat de pictogrammen niet voor de hand liggend zijn en de menubalk dezelfde opdrachten biedt.
  • Database-eigenschappen kunnen het beste op hun standaardwaarden blijven terwijl u aan het leren bent; ze voortijdig wijzigen kan het gedrag dat u probeert te begrijpen maskeren.
  • Eigenschappen worden opgeslagen in de databasestructuur, zodat ze met het project meegaan en van invloed zijn op elke ontwikkelaar en elke geïmplementeerde client — beschouw ze als beslissingen op teamniveau, niet als persoonlijke voorkeuren.
  • Het onderscheid tussen database-eigenschappen en applicatie/voorkeur-instellingen is van belang: het ene verandert het product dat u levert, het andere verandert alleen uw werkomgeving.
  • Een gedisciplineerde opzetvolgorde — database aanmaken, eigenschappen bekijken, tabellen definiëren, velden definiëren, formulieren bouwen, waardenlijsten koppelen, voorbeeldgegevens invoeren — voorkomt later herstelwerk.

Waarom de werkbalk het eerste is waarover u moet beslissen

De 4D-werkbalk bevindt zich bovenaan de ontwerpomgeving en biedt snelle toegang tot algemene acties: het openen van de structuureditor, de formuliereditor, de methode-editor, het uitvoeren van de database, enzovoort. In principe klinkt dat nuttig.

In de praktijk vinden veel ontwikkelaars — inclusief de auteur van de originele aantekeningen waarop dit artikel is gebaseerd — het actief afleidend. De pictogrammen spreken niet voor zich, en het zweven met de muis om te ontdekken wat elk pictogram doet, onderbreekt de mentale flow van het ontwerpen van een tabel of een formulier.

Als dat bij u past, kunt u deze uitschakelen. Open het dialoogvenster Database-eigenschappen vanuit het Ontwerpmenu (in klassieke 4D is dit bereikbaar via het gebied Eigenschappen/Voorkeuren), zoek het selectievakje Werkbalk weergeven en vink dit uit. De werkbalk verdwijnt uit de ontwerpomgeving en u navigeert in plaats daarvan via de menubalk — Structuur, Formulier, Methode, Uitvoeren, enzovoort.

Dit is een kleine beslissing, maar het illustreert een groter principe dat het waard is om vroegtijdig te internaliseren: 4D biedt u veel mogelijkheden, en niet alles is nuttig voor u op de eerste dag. Uw taak als beginner is om ruis te verminderen, zodat u het onderliggende model kunt zien — tabellen, velden, formulieren en de relaties daartussen.

Een paar praktische opmerkingen over de beslissing over de werkbalk:

  • Het verbergen ervan is omkeerbaar. Niets aan het uitvinken van het vakje is destructief. Als u deze later terug wilt, opent u hetzelfde dialoogvenster opnieuw en vinkt u het weer aan.
  • De menubalk is de bron van de waarheid. Elke werkbalkknop komt overeen met een menuopdracht. Het leren van het menupad is duurzamere kennis dan het leren van de positie van een pictogram.
  • Sneltoetsen verslaan beide. Als u de menuopdrachten eenmaal kent, is het leren van hun sneltoetsen (bijvoorbeeld de sneltoets om de database uit te voeren of om de structuureditor te openen) sneller dan zowel de werkbalk als de menu’s.
  • Uw voorkeur kan verschillen van die van uw teamgenoot. Omdat deze instelling in de database-eigenschappen staat, wordt deze gedeeld. Als u in een team werkt, spreek dan een conventie af in plaats van de instelling telkens heen en weer te wijzigen.

Database-eigenschappen: wat ze zijn en waarom ze belangrijk zijn

Het dialoogvenster Database-eigenschappen is waar u instellingen configureert die van toepassing zijn op de database als geheel, in plaats van op een enkele tabel, veld of formulier. Het is een van de eerste dialoogvensters die u tegenkomt na het maken van een nieuwe database, en het is gemakkelijk om deze geheel te negeren of juist te overconfigureren.

Gerelateerd: — Het langlopende relationele databaseplatform voor teams die aangepaste apps nodig hebben op desktop, internet en mobiel vanuit één bestand..

Het belangrijkste om te begrijpen is de reikwijdte van deze instellingen. Database-eigenschappen worden opgeslagen in het databasestructuurbestand. Dat betekent:

  • Ze worden gedeeld — elke ontwikkelaar die de structuur opent, ziet dezelfde eigenschapswaarden.
  • Ze worden meegestuurd — wanneer u een gecompileerde applicatie bouwt of de geïnterpreteerde database implementeert, gaan de eigenschappen mee.
  • Ze zijn persistent — ze overleven herstarts, herbouwacties en (in de meeste gevallen) structuurupgrades.

Contrasteer dit met instellingen die in de 4D-applicatie zelf leven of in een voorkeurenbestand per gebruiker. Deze hebben alleen invloed op uw machine en uw sessie. Het onderscheid is van belang omdat een wijziging die aanvoelt als “gewoon mijn voorkeur”, feitelijk het gedrag voor iedereen kan veranderen.

Een praktische regel voor beginners

De oorspronkelijke richtlijn hier is correct en het is de moeite waard deze met nadruk te herhalen: laat de andere eigenschappen voorlopig op hun standaardwaarden staan. Er zijn veel opties in dat dialoogvenster, en de meeste daarvan behandelen scenario’s die u nog niet bent tegengekomen. Het wijzigen van een eigenschap die u niet begrijpt, is een betrouwbare manier om een bug te creëren die lijkt op een codeprobleem, maar in werkelijkheid een configuratieprobleem is — het moeilijkste soort om te diagnosticeren.

Onze keuze: — Een spreadsheet-eenvoudige interface bovenop een echte relationele database, met automatiseringen, weergaven en deelbare interfaces..

Naarmate u meer vertrouwd raakt met 4D, zult u gaan herkennen wanneer een eigenschap relevant is. Dat is het juiste moment om deze te wijzigen. Experimenteren wordt aangemoedigd, maar doe het welbewust: wijzig één eigenschap, observeer het effect en noteer wat er gebeurde.

Hoe te beslissen of u een eigenschap moet wijzigen

Wanneer u in de verleiding komt om iets te wijzigen in het dialoogvenster Database-eigenschappen, leg het dan langs deze vragen:

  1. Begrijp ik wat deze instelling regelt? Zo niet, laat het dan staan. Zoek het eerst op.
  2. Is dit een projectbrede beslissing of een persoonlijke? Als het persoonlijk is, hoort het hier waarschijnlijk niet thuis.
  3. Heeft dit gevolgen voor de ingezette clients? Zo ja, dan moet dit een bewuste, gedocumenteerde keuze zijn.
  4. Kan ik dit gemakkelijk ongedaan maken? De meeste eigenschappen zijn omkeerbaar, maar sommige hebben interacties met andere op een manier die niet voor de hand ligt.
  5. Heb ik het getest in een kopie van de database? Voor alles wat niet triviaal is, test je het op een duplicaatstructuur voordat je commit.

De Setup-volgorde en waar eigenschappen passen

Het helpt om de stap van de eigenschappen in context te zien. Het leertraject in deze serie loopt als volgt:

  1. Maak een database — start een nieuw structuurbestand.
  2. Database-eigenschappen — bekijk de projectbrede instellingen en accepteer voorlopig de standaardwaarden.
  3. Tabellen — definieer de entiteiten die uw toepassing zal opslaan (klanten, facturen, producten, enzovoort).
  4. Gegevensvelden — definieer de attributen van elke tabel en kies de juiste veldtypen.
  5. Formulieren — ontwerp de invoer- en weergaveschermen waarmee gebruikers daadwerkelijk zullen werken.
  6. Waardenlijsten (keuzelijsten) — bied gecontroleerde woordenschatten zodat gebruikers kunnen kiezen uit geldige opties in plaats van vrije tekst te typen.
  7. Voer voorbeeldgegevens in — vul de database zodat u formulieren en lijsten kunt testen tegen realistische inhoud.

Eigenschappen komen op de tweede plaats omdat ze alles wat volgt omlijsten, maar ze zijn bewust niet de plek waar je je vroege energie aan besteedt. Het intellectuele werk van 4D zit in de stappen 3 tot en met 6: het datamodel goed krijgen en het vervolgens bruikbaar maken.

Waarom de volgorde ertoe doet

  • Tabellen vóór velden. U kunt een veld pas zinvol definiëren als u weet tot welke tabel het behoort en wat die tabel vertegenwoordigt.
  • Velden vóór formulieren. Een formulier is een weergave van velden. Het eerst ontwerpen van formulieren leidt tot velden die alleen bestaan om een lay-out te dienen.
  • Formulieren vóór waardenlijsten (in de praktijk). Vaak ontdek je welke velden een keuzelijst nodig hebben terwijl je het formulier bouwt dat ze gebruikt.
  • Voorbeeldgegevens als laatste, maar daarom niet minder belangrijk. Lege formulieren verbergen problemen. Een formulier dat er goed uitziet met nul records kan uit elkaar vallen met echte namen, lange adressen en edge-case-waarden.

Database-eigenschappen versus applicatievoorkeuren: een vergelijking

Beginners halen deze twee categorieën vaak door elkaar. Ze worden op verschillende plaatsen geconfigureerd, hebben een andere reikwijdte en moeten anders worden behandeld.

AspectDatabase-eigenschappenApplicatie-/gebruikersvoorkeuren
ReikwijdteDe databasestructuur en alles wat daaruit is opgebouwdUw 4D-applicatie en uw werksessie
Voor wie het gevolgen heeftAlle ontwikkelaars en alle ingezette clientsMeestal alleen u
Waar het leeftBinnen het structuurbestandIn de 4D-applicatie of een instellingenlocatie per gebruiker
Reist mee met het project?JaNee
Typische voorbeeldenZichtbaarheid van de werkbalk, opstartgedrag, structuurbrede optiesVensterposities, lettertype van de editor, lijsten met recente bestanden
BeginnersadviesAccepteer standaardwaarden; bewust wijzigen en documenterenVrij aanpassen aan uw eigen comfort

De werkbalkinstelling is een enigszins ongebruikelijk geval: het voelt als een persoonlijke voorkeur, maar wordt gepresenteerd als een database-eigenschap. Juist daarom is het de moeite waard om hier even bij stil te staan. Wanneer de locatie van een instelling en de schijnbare reikwijdte ervan niet overeenstemmen, vertraag dan en denk na over wie er nog meer door wordt beïnvloed.

Gerelateerd: — Low-code app-ontwikkeling op bedrijfsniveau, aangesloten op Microsoft 365, Dataverse en Power Automate..

Praktische begeleiding voor uw eerste sessie

Als u voor het eerst met 4D aan de slag gaat, is hier een concrete manier om het eerste uur productief door te brengen.

  • Maak de database met een duidelijke, beschrijvende naam. Vermijd spaties en speciale tekens in de structuurbestandsnaam als u van plan bent deze tussen machines te verplaatsen of ernaar te verwijzen vanuit scripts.
  • Open Database-eigenschappen en lees de opties door zonder ze te wijzigen. Lezen is gratis; het bouwt een mentale kaart op van wat configureerbaar is.
  • Vink “Werkbalk tonen” uit als u dit afleidend vindt. Dit is de enige wijziging die de oorspronkelijke richtlijnen onderschrijven, en het is veilig.
  • Sluit het dialoogvenster en ga verder naar Tabellen. Weersta de drang om elk tabblad te verkennen.
  • Houd een kort notitiebestand bij waarin u elke eigenschap registreert die u wel wijzigt en waarom. Uw toekomstige zelf, en uw teamgenoten, zullen u dankbaar zijn.

Veelgemaakte beginnersfouten in dit stadium

  • Overconfigureren vóór het modelleren. Een uur besteden aan het eigenschappendialoogvenster en tien minuten aan het gegevensmodel is omgekeerd.
  • Ervan uitgaan dat een instelling persoonlijk is terwijl deze gedeeld wordt. Zie de vergelijkingstabel hierboven.
  • Meerdere eigenschappen tegelijk wijzigen. Als er iets kapot gaat, weet u niet welke wijziging de oorzaak was.
  • Het dialoogvenster volledig negeren. Standaardwaarden zijn meestal juist, maar “meestal” is niet “altijd” — weet wat er staat.

Waar u dieper op kunt ingaan

Het 4D-platform heeft een lange geschiedenis en een aanzienlijke hoeveelheid documentatie. De officiële 4D-documentatiesite, onderhouden door 4D SAS, is de gezaghebbende referentie voor elke eigenschap, opdracht en editor in het product, en het is de moeite waard om deze vroegtijdig als bladwijzer op te slaan. Voor algemene achtergrondinformatie over het product en de herkomst biedt het Wikipedia-artikel over 4D (programming language) nuttige context over hoe het platform evolueerde van een relationele database naar een volledige applicatie-ontwikkelomgeving.

Als je een SQL-achtergrond hebt, is het Wikipedia-overzicht van het relationele model een nuttige opfrisser over de concepten die 4D in zijn eigen idioom implementeert – tabellen, records, velden en relaties – ook al verschillen de terminologie en tooling van 4D van die van een typische SQL-server. En omdat 4D-applicaties vaak worden ingezet naast algemene bedrijfssoftware, zijn de documentatiesites Microsoft Learn en Apple Developer handige referenties wanneer je de conventies van het hostbesturingssysteem voor vensters, bestanden en het gedrag van de gebruikersinterface wilt begrijpen.

Lezersfavoriet: — Een databasebouwer zonder code, gericht op portals, directory's en interne tools, met vaste prijzen in plaats van kosten per gebruiker..

Niets daarvan vervangt de praktijkervaring in de Structuureditor. De snelste manier om 4D te leren is door een kleine, echte database te bouwen – iets dat je daadwerkelijk wilt bijhouden – en het eigenschappendialoogvenster rustig op de achtergrond te laten totdat je een reden hebt om het te openen.

Veelgestelde vragen

Moet ik de 4D-werkbalk verbergen?

Het is geheel een kwestie van persoonlijke werkstijl. Veel ontwikkelaars verbergen deze omdat de pictogrammen niet intuïtief zijn en de menubalk dezelfde commando’s bevat, terwijl anderen de voorkeur geven aan toegang met één klik. De instelling is omkeerbaar, dus probeer het beide manieren en behoud de optie die je helpt gefocust te blijven.

Zijn de database-eigenschappen hetzelfde als mijn persoonlijke voorkeuren?

Nee. Database-eigenschappen worden opgeslagen in het structuurbestand en zijn daarom van toepassing op elke ontwikkelaar en elke geïmplementeerde client. Persoonlijke voorkeuren hebben alleen invloed op je eigen machine en sessie. Wanneer een instelling persoonlijk aanvoelt, maar in het dialoogvenster met database-eigenschappen staat, behandel deze dan als een gedeelde beslissing.

Waarom zou ik de standaardwaarden van de eigenschappen in eerste instantie ongemoeid laten?

Omdat de meeste opties betrekking hebben op situaties die je nog niet bent tegengekomen, en het wijzigen van een instelling die je niet begrijpt, kan leiden tot gedrag dat lijkt op een bug in de code, maar in werkelijkheid een configuratieprobleem is. Standaardwaarden zijn een redelijk uitgangspunt; bekijk ze opnieuw zodra je weet wat elke instelling doet.

Wat is de juiste volgorde voor het opzetten van een nieuwe 4D-database?

Maak de database, bekijk de eigenschappen, definieer je tabellen, definieer de velden binnen elke tabel, ontwerp de formulieren, stel waardelijsten in voor gecontroleerde velden en voer vervolgens voorbeeldgegevens in. Deze volgorde houdt elke beslissing gebaseerd op de voorgaande en voorkomt dubbel werk.

Moet ik eigenschappen configureren voordat ik tabellen en formulieren bouw?

Nee. Het eigenschappendialoogvenster kadert het project in, maar het inhoudelijke werk gebeurt in de Structuur- en Formuliereditors. Je kunt een complete, werkende database bouwen zonder de meeste eigenschappen aan te raken, en je kunt er later naar terugkeren wanneer er een specifieke behoefte ontstaat.

Hoe weet ik wanneer het tijd is om een database-eigenschap te wijzigen?

Wanneer je duidelijk kunt aangeven wat de instelling regelt, wie het beïnvloedt en wat je als gevolg daarvan verwacht dat er verandert – en idealiter nadat je dit hebt getest op een kopie van de structuur. Als je die vragen nog niet kunt beantwoorden, laat het dan op de standaardwaarde staan en blijf bouwen.


Bouw in één dag een klantenportaal

Een databasebouwer zonder code, gericht op portals, directory's en interne tools, met vaste prijzen in plaats van kosten per gebruiker.