4D-Datenbank-Tutorial: Eine vollständige Anleitung
Ein 4D-Datenbank-Tutorial beginnt mit vier Hauptobjekten: Tabellen, Felder, Formularen und Methoden. 4D ist eine relationale Datenbank- und Anwendungsentwicklungsplattform von 4D SAS, die erstmals 1984 auf den Markt kam und Daten in einer proprietären „.4DD“-Strukturdatei speichert, die an eine kompilierte oder interpretierte Anwendungsschicht gebunden ist. Entwickler definieren Tabellen, erstellen Formulare und fügen Code in einer integrierten Umgebung hinzu.
4D nimmt in der Tool-Landschaft einen ungewöhnlichen Platz ein. Es ist eine Kombination aus relationaler Datenbank-Engine, Rapid Application Development (RAD)-Umgebung, Webserver und einem Low-Code-ähnlichen Formulardesigner. Diese Kombination ist der Grund, warum kleine Teams es einsetzen: Ein Produkt deckt Speicher, Geschäftslogik, UI und Bereitstellung ab.
Die Engine ist im klassischen Sinne relational: Tabellen, Primärschlüssel, zugehörige Tabellen und Beziehungen sind in der Struktur definiert. Sie ist nicht „SQL-first“ wie PostgreSQL oder MySQL, obwohl 4D SQL über seine SQL-Engine und die Befehle Begin SQL / End SQL unterstützt.
Die meisten täglichen Aufgaben nutzen die eigene Sprache von 4D (historisch 4D Language genannt, heute einfach 4D-Code), die eher einer Skriptsprache als SQL ähnelt. Dieser Ansatz des 4D-Datenbank-Tutorials hilft Anfängern, die Vielseitigkeit des Tools zu verstehen.
Zwei architektonische Fakten sind schon früh wichtig:
- Struktur versus Daten. Die Struktur (Tabellen, Felder, Formulare, Methoden) befindet sich in modernen Versionen in einer
.4DC/Projektdatei; die Daten befinden sich in der.4DD-Datendatei. In 4D 20 und neuer werden Projekte als Ordner mit Textdateien gespeichert, was die Versionskontrolle mit Git praktikabel macht. Ältere.4DB-Binärstrukturen sind schwieriger zu vergleichen (diff). - Client-Server versus Einzelbenutzer. Bei einer Einzelbenutzer-Bereitstellung wird alles auf einer einzigen Maschine ausgeführt. Der Client-Server-Modus trennt den 4D Server (Daten + Geschäftslogik) vom 4D Client (UI). Die gleiche Struktur unterstützt beides, aber Netzwerk-Roundtrips ändern die Art und Weise, wie Sie Schleifen schreiben müssen.
Wenn Sie von Microsoft Access kommen, lässt sich das mentale Modell gut übertragen. Wenn Sie von einem Web-Stack kommen, müssen Sie damit rechnen, einige Gewohnheiten zu verlernen: 4D-Formulare sind zustandsbehaftet und ereignisgesteuert, nicht Request-Response.
Verwandte: — Eine einfache Tabellenkalkulationsschnittstelle, die auf einer echten relationalen Datenbank aufbaut, mit Automatisierungen, Ansichten und gemeinsam nutzbaren Schnittstellen..
Schritt 1: Installieren und erstellen Sie Ihre erste Struktur
Laden Sie 4D von der offiziellen 4D-Website (4d.com) herunter, um mit diesem 4D-Datenbank-Tutorial zu beginnen. Normalerweise wählen Sie zwischen 4D (der vollständigen Entwicklungsumgebung) und 4D Server für die Bereitstellung. Es gibt einen kostenlosen lokalen Entwicklungsmodus zum Lernen, aber die Bereitstellung in der Produktion erfordert eine Lizenz: Überprüfen Sie die aktuellen Lizenzbedingungen direkt, da diese sich von Release zu Release ändern.
Ein Projekt erstellen:
- Starten Sie 4D und wählen Sie Neu > Projekt.
- Benennen Sie das Projekt und wählen Sie einen Ordner. Modernes 4D erstellt einen Projektordner, der
Project/Sources/mit Ihrer Struktur als Textdateien enthält. - Der Struktureditor öffnet sich. Dies ist Ihre schematische Leinwand.
Im Struktureditor fügen Sie Tabellen hinzu. Jede Tabelle erhält einen Namen, eine Reihe von Feldern und optional einen automatisch generierten Primärschlüssel. Die Konvention von 4D besteht darin, Feldnamen nach Typ zu präfixen – ID_, Name_, Date_, Amount_ – obwohl dies eine Frage des Stils und keine Anforderung ist. Konsistenz zahlt sich später aus, wenn Sie 200 Felder scannen.
Wenn Sie einkaufen: — Ein , der sich in die breitere Zoho-Suite einfügt und Preise pro Benutzer und nicht pro App berechnet..
Feldtypen, die Sie am häufigsten verwenden: Text, Alpha, Integer, Longint, Real, Date, Time, Boolean, Picture, BLOB, Object und UUID. Der Typ Object speichert JSON-ähnliche strukturierte Daten und ist die moderne Wahl für flexible Attribute. UUID-Felder sind der empfohlene Primärschlüsseltyp für neue Tabellen, da sie Kollisions- und Neunummerierungsprobleme mit automatisch inkrementierten Integern in verteilten oder zusammengeführten Daten vermeiden.
Schritt 2: Tabellen und Beziehungen entwerfen
Das Schemadesign in 4D folgt relationalen Normalisierungsregeln, mit einer 4D-spezifischen Besonderheit: Beziehungen werden grafisch deklariert und beinhalten automatisches Verhalten. Dies ist ein wichtiger Bestandteil jedes 4D-Datenbank-Tutorials.
Um eine Beziehung zu erstellen, ziehen Sie im Struktureditor das Primärschlüsselfeld einer Tabelle auf das Fremdschlüsselfeld einer anderen. 4D zeichnet eine Beziehungslinie und ermöglicht Ihnen die Konfiguration:
| Beziehungseinstellung | Was sie steuert | Praktische Wirkung |
|---|---|---|
| Automatische Beziehungen | Ob 4D zugehörige Datensätze automatisch lädt | Praktisch für Formulare; kann versteckte Abfragen in Schleifen verursachen |
| Eins-zu-viele vs. viele-zu-eins | Richtung der Verknüpfung | Bestimmt, welche Seite den Fremdschlüssel hält |
| Zugehöriger Tabellenname | Der Accessor-Name im Code | Wird zur Eigenschaft, auf die Sie verweisen, z. B. [Invoice]Customer |
| Löschkontrolle | Kaskadieren, einschränken oder aufheben | Verhindert verwaiste untergeordnete Datensätze |
Ein konkretes Beispiel: eine Invoice-Tabelle mit einem CustomerID-Feld, das mit Customer.ID verknüpft ist. Im Code durchläuft [Invoice]Customer.Name die Beziehung. Das ist elegant – und gefährlich in einer Schleife über 10.000 Rechnungen, da jeder Zugriff eine Suche auslösen kann. Die Lösung besteht darin, bewusst RELATE MANY / RELATE ONE zu verwenden oder die zugehörigen Daten zuerst in eine Collection zu laden.
Kompromiss, den man frühzeitig entscheiden muss: Normalisierte Tabellen mit deklarierten Beziehungen bieten referenzielle Integrität und einfachen Code, kosten aber Leistung bei großen Lesevorgängen. Denormalisierte Tabellen mit eingebetteten Objektfeldern sind schneller zu lesen, verschieben die Integritätsprüfungen jedoch in Ihren eigenen Code. Normalisieren Sie für die meisten Geschäftsanwendungen kleiner Teams den Transaktionskern und denormalisieren Sie die Berichtstabellen.
Schritt 3: Formulare erstellen
Formulare sind die Benutzeroberflächenebene von 4D und es gibt sie in verschiedenen Typen: Detailformulare (ein Datensatz), Listenformulare (mehrere Datensätze), Eingabeformulare, Ausgabeformulare und Projektformulare (nicht mit einer Tabelle verknüpft). Der Formulareditor ist eine Drag-and-Drop-Leinwand mit einer Liste von Eigenschaften. Dies ist ein wichtiger Bestandteil jedes 4D-Datenbank-Tutorials.
Schlüsselkonzepte beim Erstellen eines Formulars:
- Datenquelle. Jedes Formular ist mit einer Tabelle oder bei Projektformularen mit einer Variable/einem Ausdruck verknüpft.
- Widgets. Felder, Schaltflächen, Kontrollkästchen, Dropdown-Listen, Listenfelder und hierarchische Listen. Listenfelder sind das Arbeitspferd für die Anzeige zugehöriger Daten und viel leistungsfähiger als ein einfaches Raster.
- Objektmethoden. Klicken Sie mit der rechten Maustaste auf ein beliebiges Objekt und fügen Sie eine Methode hinzu. Die Methode wird bei Ereignissen wie
On Load,On Clicked,On Data ChangeundOn Validateausgeführt. - Formularmethoden. Das Formular selbst verfügt über eine Methode für Ereignisse auf Formularebene wie
On LoadundOn Unload.
Eine praktische Vorlage für ein Kundendetailformular: Platzieren Sie Kundenfelder, fügen Sie ein Listenfeld hinzu, das mit einer Auswahl von Rechnungen dieses Kunden verknüpft ist, und platzieren Sie eine Schaltfläche, die eine Methode zum Erstellen einer neuen Rechnung ausführt. Die Auswahl des Listenfelds ist abfrage- oder beziehungsgesteuert, und die Aktualisierung nach dem Einfügen hält die UI aktuell.
Warnung: 4D-Formulare sind zustandsbehaftet. Ein Formular enthält einen aktuellen Datensatz und eine aktuelle Auswahl. Die Vermischung von Status auf Formularebene mit Hintergrundprozessen ist die häufigste Quelle für verwirrende Fehler bei Neulingen. Behalten Sie lang laufende Jobs in einem separaten Prozess und veröffentlichen Sie die Ergebnisse zurück.
Schritt 4: Methoden und Geschäftslogik schreiben
In diesem 4D-Datenbank-Tutorial wird der 4D-Code in Methoden unterteilt, die in mehreren Versionen vorliegen:
- Datenbankmethoden – ausgelöst durch Datenbankereignisse (Startup, Shutdown, On Backup).
- Tabellenmethoden – ausgelöst durch Datensatzereignisse (On Save, On Delete).
- Formular- und Objektmethoden – ausgelöst durch UI-Ereignisse.
- Projektmethoden – Ihre wiederverwendbaren Funktionen, die von überall aus aufrufbar sind.
- Trigger: Führen Operationen vor/nach Datensatzoperationen aus, ideal für Audit-Trails.
Moderner 4D-Code unterstützt Klassen und das Schlüsselwort „This“, sodass Sie objektorientierten statt nur prozeduralem Code schreiben können. Eine minimale Projektmethode sieht so aus:
// Projektmethode: CreateInvoice
// $1 = Kunden-ID (UUID)
C_OBJECT($invoice)
$invoice:=ds.Invoice.new()
$invoice.CustomerID:=$1
$invoice.Date:=Current date
$invoice.Status:="Draft"
$status:=$invoice.save()
Das ds-Objekt (Data Store) ist die moderne Zugriffsschicht im ORM-Stil, die mit ORDA (Object Relational Data Access) eingeführt wurde. Mit ORDA können Sie mit Entitäten und Entitätsauswahlen statt mit herkömmlichen Selektionen arbeiten; es unterstützt Query-Chaining, berechnete Attribute und clientseitige Entitätsauswahlen, die Server-Roundtrips reduzieren. Für Neuentwicklungen ist ORDA der empfohlene Weg; klassische Befehle wie „QUERY“ und „CREATE RECORD“ funktionieren weiterhin und erscheinen in älteren Codebasen.
Entscheidungshilfe: Verwenden Sie ORDA für neuen Code und alles, was von lesbaren und verkettbaren Abfragen profitiert. Behalten Sie klassische Befehle dort bei, wo Sie sehr enge Schleifen über große Selektionen benötigen, da klassische Selektionen in einigen serverseitigen Szenarien speichereffizienter sein können. Messen Sie die Leistung, statt zu vermuten.
Schritt 5: Wertelisten, Abfragen und Berichte
Wertelisten füllen Dropdown-Listen und Listenfelder mit einem kontrollierten Satz von Auswahlmöglichkeiten. 4D unterstützt mehrere Arten von Listen:
- Statische Listen – hartcodierte Werte, ideal für Status und Flags.
- Tabellenlisten – aus einer Referenztabelle extrahierte Werte, ideal für Kunden, Produkte und Kategorien.
- Hierarchische Listen – Eltern-/Kind-Werte, nützlich für Kontenpläne oder Kategoriebäume.
Für Abfragen akzeptiert ORDAs query() eine Formelzeichenfolge mit Platzhaltern, was Injektionsprobleme vermeidet und klar lesbar ist:
$sel:=ds.Invoice.query("Status = :1 AND Date >= :2"; "Open"; $startDate)
Die Berichterstellung in 4D nutzt den Quick Report-Editor für einfache tabellarische Ausgaben und den 4D Write Pro-Bereich für umfangreiche Dokumente. Write Pro ist ein Textverarbeitungsobjekt, das in ein Formular eingebettet ist; Sie können Daten in eine Vorlage zusammenführen und als PDF- oder DOCX-Format exportieren.
Bei komplexen Inhalten ist das Generieren von HTML und das Rendern in einem Web-Bereich oft schneller zu erstellen und einfacher zu stylen. Damit ist dieser Abschnitt des 4D-Datenbank-Tutorials abgeschlossen.
Schritt 6: Bereitstellen und Warten
Die Bereitstellungsoptionen prägen Ihre Architektur in diesem 4D-Datenbank-Tutorial:
- Einzelbenutzer: Anwendung und Daten auf einer einzigen Maschine. Am einfachsten, keine Nebenläufigkeit.
- Client-Server – 4D Server enthält Daten und Geschäftslogik; 4D Client verbindet sich. Ideal für LAN-Teams.
- 4D Web Server – 4D bedient REST-Endpunkte und Webseiten direkt. ORDA bietet automatischen REST-Zugriff auf Ihren Datenspeicher, was bedeutet, dass Sie eine Webschnittstelle auf demselben Schema erstellen können.
- 4D für iOS / Android – mobile Clients, die aus Ihrer Struktur generiert werden.
Backups sind integriert: 4D Server kann automatische Backups planen und ein Journal (Logdatei) für die Point-in-Time-Recovery führen. Aktivieren Sie das Journal, bevor Sie live gehen, nicht danach. Testen Sie eine Wiederherstellung an einer Kopie der Daten: Ein ungetestetes Backup ist eine Hoffnung, kein Plan.
Versionskontrolle: Übergeben Sie bei Strukturen im Projektmodus den Ordner Project/Sources/ an Git. Schließen Sie die Datendatei und den Ordner DerivedData aus. Dies ist eine echte Verbesserung gegenüber der Binär-Ära und lohnt sich vom ersten Tag an.
Häufige Fehler und wie man sie vermeidet
Vernachlässigung der Primärschlüssel-Disziplin. Jede Tabelle benötigt einen stabilen und eindeutigen Primärschlüssel. UUIDs vermeiden Neunummerierungsprobleme, die durch automatisch inkrementierende Integer beim Löschen oder Zusammenführen von Datensätzen entstehen.
Geschäftslogik in Formularmethoden platzieren. Formularmethoden sollten die Benutzeroberfläche verwalten. Verschieben Sie Regeln in Projektmethoden oder Klassen, damit sie von Web-Endpunkten, Importen und geplanten Aufgaben wiederverwendet werden können.
Das Journal ignorieren. Ohne es kann ein Absturz während des Schreibens die Datendatei inkonsistent hinterlassen. Schalten Sie es ein.
Schleifen über Beziehungen. Der Zugriff auf [Table]Related.Field innerhalb einer großen Schleife vervielfacht die Abfragen. Laden Sie Daten mit ORDA vor oder verwenden Sie einmalig „RELATE MANY“.
4D wie SQL behandeln. Sie können SQL verwenden, aber idiomatischer 4D-Code ist im Allgemeinen kürzer und besser in Formulare und Ereignisse integriert. Lernen Sie im Rahmen Ihres 4D-Datenbank-Tutorials zuerst die native Sprache.
Lernpfad und Ressourcen
Beginnen Sie mit der offiziellen 4D-Dokumentation und dem 4D Developer Blog, der ORDA, Write Pro und versionspezifische Änderungen behandelt. Das 4D-Community-Forum ist aktiv und reagiert gut auf spezifische Fragen. Für relationale Designgrundlagen, die unabhängig von der Plattform gelten, bieten der Wikipedia-Artikel über relationale Datenbanken und der SQL-Eintrag nützliche Informationen zu Abfragenormalisierung und Semantik.
Eine realistische Lernsequenz: Erstellen Sie einen Kontaktmanager mit einer einzigen Tabelle, fügen Sie dann eine zugehörige Tabelle und ein Listenfeld hinzu, dann eine Werteliste und ein Abfrageformular und stellen Sie schließlich einen Client-Server bereit. Jeder Schritt führt ein neues Konzept ein, ohne Sie zu überfordern.
Wichtige Erkenntnisse
- 4D kombiniert eine relationale Datenbank, eine IDE, einen Formulardesigner und einen Webserver in einem einzigen Produkt und eignet sich für kleine Teams, die schnell eine benutzerdefinierte Geschäftsanwendung bereitstellen müssen. Dieses 4D-Datenbank-Tutorial unterstreicht seine Effizienz.
- Definieren Sie Tabellen und Beziehungen im Struktureditor, erstellen Sie Bildschirme im Formulareditor und fügen Sie Logik über Methoden und Trigger hinzu: die vier Objekte, aus denen jede 4D-Anwendung besteht.
- ORDA („ds“, Entities, Entity Selections) ist die moderne Datenzugriffsschicht und die empfohlene Wahl für neuen Code; Klassische Befehle bleiben in Legacy-Projekten gültig.
- Verwenden Sie UUID-Primärschlüssel, aktivieren Sie das Journal und committen Sie Projektmodus-Strukturen von Anfang an an Git, um spätere schmerzhafte Migrationen zu vermeiden.
- Halten Sie die Geschäftslogik von Formularmethoden fern und laden Sie zugehörige Daten vorab, anstatt Beziehungen in großen Schleifen zu durchlaufen.
Quellen und weiterführende Literatur
- Relationale Datenbank – Wikipedia: Eine relationale Datenbank (RDB) ist eine Datenbank, die auf dem relationalen Datenmodell basiert, wie es 1970 von E. F. Codd vorgeschlagen wurde. Ein relationales Datenbankverwaltungssystem (RDBMS…)
Häufig gestellte Fragen
Ist 4D eine SQL-Datenbank?
4D ist eine relationale Datenbank mit einer eigenen nativen Sprache und einer integrierten SQL-Engine. Sie können SQL-Anweisungen über Begin SQL / End SQL ausgeben, aber die meisten 4D-Entwicklungen verwenden ORDA oder klassische 4D-Befehle anstelle von SQL. Das zugrunde liegende Modell ist relational (Tabellen, Schlüssel und Beziehungen), sodass SQL-Konzepte übertragen werden, auch wenn dies bei der Syntax, die Sie täglich schreiben, nicht der Fall ist.
Muss ich Programmierkenntnisse haben, um 4D nutzen zu können?
Grundlegende Programmierkenntnisse sind sehr nützlich, da Formulare und Geschäftsregeln mit 4D-Code verknüpft sind. Mit dem integrierten Formulareditor und den Assistenten von 4D können Sie jedoch mit minimalem Code eine funktionsfähige Dateneingabeanwendung erstellen. Citizen Developer beginnen in der Regel mit Formularen und Wertelisten und erlernen dann die Methoden, die sie für benutzerdefiniertes Verhalten benötigen. Für Einsteiger kann ein 4D-Datenbank-Tutorial hilfreich sein.
Was ist der Unterschied zwischen ORDA und klassischen 4D-Befehlen?
ORDA ist eine objektorientierte Zugriffsschicht, die um einen Datenspeicher („ds“), Entities und Entity Selections herum aufgebaut ist, mit verkettbaren Abfragen und Unterstützung für clientseitige Auswahlen. Klassische Befehle wie „QUERY“, „CREATE RECORD“ und „MODIFY SELECTION“ funktionieren bei klassischen Auswahlen und aktuellen Datensätzen. ORDA ist der empfohlene Ansatz für Neuentwicklungen, während klassische Befehle in älteren Codebasen weiterhin üblich sind.
Können 4D-Anwendungen im Web oder auf Mobilgeräten ausgeführt werden?
Ja. 4D verfügt über einen integrierten Webserver und ORDA kann REST-Endpunkte über Ihren Datenspeicher verfügbar machen, sodass ein Browser-Frontend mit demselben Schema kommunizieren kann. 4D bietet auch die Generierung mobiler Clients für iOS und Android an. Der Nachteil besteht darin, dass Web- und mobile Clients der Authentifizierung und der von jeder Anfrage zurückgegebenen Datenmenge große Aufmerksamkeit schenken müssen.
Wie sichere ich eine 4D-Datenbank sicher?
Aktivieren Sie das Journal (Protokolldatei) in 4D Server, damit Sie zu einem bestimmten Zeitpunkt wiederherstellen und automatische Backups planen können, anstatt sich auf manuelle Kopien zu verlassen. Testen Sie eine Wiederherstellung immer anhand einer Kopie der Daten, bevor Sie sie im Notfall benötigen. Halten Sie die Struktur getrennt von der Datendatei unter Versionskontrolle, da sie sich unterschiedlich schnell ändert.
Eignet sich 4D für eine App für kleine Unternehmen?
4D ist genau für dieses Szenario konzipiert: Ein kleines Team erstellt eine benutzerdefinierte Geschäftsanwendung mit Formularen, Berichten und einem relationalen Schema. Es lässt sich auf Client-Server-Bereitstellungen und Webzugriff skalieren, ohne die Kernstruktur zu ändern. Die wichtigsten Überlegungen sind die Lizenzkosten und der kleinere Talentpool im Vergleich zu Mainstream-Web-Stacks, daher müssen langfristige Wartung und Build-Geschwindigkeit abgewogen werden.
Häufig gestellte Fragen
Ist 4D eine SQL-Datenbank?
4D ist eine relationale Datenbank mit einer eigenen Muttersprache und einer integrierten SQL-Engine. Sie können SQL-Anweisungen über Begin SQL / End SQL ausgeben, aber die meisten 4D-Entwicklungen verwenden ORDA oder klassische 4D-Befehle anstelle von SQL. Das zugrunde liegende Modell ist relational (Tabellen, Schlüssel und Beziehungen), sodass SQL-Konzepte übertragen werden, auch wenn dies bei der Syntax, die Sie täglich schreiben, nicht der Fall ist.
Muss ich Programmierkenntnisse haben, um 4D nutzen zu können?
Grundlegende Programmierkenntnisse sind sehr nützlich, da Formulare und Geschäftsregeln mit 4D-Code verknüpft sind. Mit dem integrierten Formulareditor und den Assistenten von 4D können Sie jedoch mit minimalem Code eine funktionsfähige Dateneingabeanwendung erstellen. Bürgerentwickler beginnen in der Regel mit Formularen und Wertelisten und erlernen dann die Methoden, die sie für benutzerdefiniertes Verhalten benötigen. Für Einsteiger kann ein 4D-Datenbank-Tutorial hilfreich sein.
Was ist der Unterschied zwischen ORDA und klassischen 4D-Befehlen?
ORDA ist eine objektorientierte Zugriffsschicht, die auf einem Datenspeicher (DS), Entitäten und Entitätsauswahlen basiert, mit verkettbaren Abfragen und Unterstützung für clientseitige Auswahlen. Klassische Befehle wie QUERY, CREATE RECORD und MODIFY SELECTION funktionieren bei klassischen Auswahlen und aktuellen Datensätzen. ORDA ist der empfohlene Ansatz für Neuentwicklungen, während klassische Befehle in älteren Codebasen weiterhin üblich sind.
Können 4D-Anwendungen im Web oder auf Mobilgeräten ausgeführt werden?
Ja. 4D verfügt über einen integrierten Webserver und ORDA kann REST-Endpunkte über Ihren Datenspeicher verfügbar machen, sodass ein Browser-Frontend mit demselben Schema kommunizieren kann. 4D bietet auch die Generierung mobiler Clients für iOS und Android an. Der Nachteil besteht darin, dass Web- und mobile Clients der Authentifizierung und der von jeder Anfrage zurückgegebenen Datenmenge große Aufmerksamkeit schenken müssen.
Wie sichere ich eine 4D-Datenbank sicher?
Aktivieren Sie das Journal (Protokolldatei) in 4D Server, damit Sie zu einem bestimmten Zeitpunkt wiederherstellen und automatische Backups planen können, anstatt sich auf manuelle Kopien zu verlassen. Testen Sie eine Wiederherstellung immer anhand einer Kopie der Daten, bevor Sie sie im Notfall benötigen. Halten Sie die Struktur getrennt von der Datendatei unter Versionskontrolle, da sie sich unterschiedlich schnell ändert.
Ist 4D für eine Kleinunternehmens-App geeignet?
4D ist genau für dieses Szenario konzipiert: Ein kleines Team erstellt eine benutzerdefinierte Geschäftsanwendung mit Formularen, Berichten und einem relationalen Schema. Es lässt sich auf Client-Server-Bereitstellungen und Webzugriff skalieren, ohne die Kernstruktur zu ändern. Die wichtigsten Überlegungen sind die Lizenzkosten und der kleinere Talentpool im Vergleich zu Mainstream-Web-Stacks, daher müssen langfristige Wartung und Build-Geschwindigkeit abgewogen werden.
Testen Sie FileMaker 45 Tage lang kostenlos
Die langlebige relationale Datenbankplattform für Teams, die benutzerdefinierte Apps auf Desktop, Web und Mobilgeräten aus einer einzigen Datei benötigen.