Direkt zum Inhalt

Unterstützung und Verwaltung von Datenabfragen

Datenabfrage und -verwaltung

Welche Abfragesprachen Mendix Unterstützung?

Mendix bietet mehrere Möglichkeiten, die abzurufenden Daten anzugeben:

  • Mendix Studio Pro bietet visuelle Möglichkeiten zum Angeben Ihrer Abfrageanforderungen über einen Ausdruckseditor
  • Um bestimmte Objekte oder eine Gruppe verwandter Objekte abzurufen, können Sie XPath-Ausdrücke verwenden
  • Für Berichtszwecke, bei denen die Aggregation und Zusammenführung mehrerer Entitäten zu einem einzigen Ergebnissatz wichtig ist, Mendix bietet OQL-Abfragen
  • Eine Java-API ist verfügbar, wenn Sie SQL-Abfragen auf der Anwendungsdatenbank verwenden möchten
  • Für den Datenaustausch mit anderen Anwendungen oder Datenanalysetools, Mendix bietet sofort einsatzbereite Unterstützung für OData für Entitäten in Ihrem Domänenmodell

Weitere Einzelheiten finden Sie in den folgenden Abschnitten.

XPath

XPath ist eine benutzerfreundliche Abfragesprache, mit der Sie bestimmte Objekte abrufen können. Sie können damit Objekte abrufen, die Sie auf Seiten anzeigen oder bearbeiten möchten, und diese Objekte über Mikroflüsse ändern.

Mit XPath können Sie Ausdrücke definieren, um die Objekte zu filtern, die Sie interessieren, und Sie können Assoziationen verwenden, um verwandte Objekte abzurufen und zu filtern.

XPath stellt automatisch sicher, dass alle Zugriffsregeln, die Sie für Ihre Entitäten definieren, angewendet werden.

Weitere Informationen finden Sie unter XPath in England, Mendix Studio Pro-Handbuch.

OKL

Der Mendix Object Query Language (OQL) ist eine relationale Abfragesprache, die auf SQL basiert. Der Hauptvorteil von OQL gegenüber SQL besteht darin, dass OQL die in Ihrem Modell verwendeten Entitäts- und Assoziationsnamen anstelle der tatsächlichen Datenbanktabellennamen verwendet.

OQL kann die vordefinierten Beziehungen (Assoziationen) verwenden, um Objekte einfach zu verbinden, ohne berechnen zu müssen, welche Spalten gekoppelt werden sollen. Trotz dieser Unterschiede funktionieren viele SQL-Schlüsselwörter auch in OQL.

OQL wird hauptsächlich für Berichte verwendet, bei denen Sie Aggregationsfunktionen beim Gruppieren bestimmter Attribute benötigen. Ein weiterer Grund für die Verwendung von OQL ist die Definition benutzerdefinierter Sicherheitsausdrücke, die Sie manuell definieren müssen. In einigen Fällen kann dies zu schnelleren Abfragen führen, wenn Sie die Sicherheit selbst mit OQL handhaben, als wenn Sie die vorkonfigurierte Sicherheit von XPath verwenden.

Für weitere Einzelheiten siehe OKL in England, Mendix Studio Pro-Handbuch.

SQL

Alle Bewerbungsdaten werden in einer relationalen Datenbank gespeichert. Mendix Cloud, dies ist PostgreSQL, aber es gibt je nach Bereitstellungsumgebung auch andere Optionen.

Mendix bietet Java-APIs zur direkten Interaktion mit Ihrer zugrunde liegenden relationalen Datenbank. Durch die Mendix Java API: Sie können Java JDBC verwenden, um SQL-Abfragen und gespeicherte Prozeduren auszuführen. Dies bietet Ihnen eine sehr leistungsfähige Möglichkeit, Ihre Daten zu verwenden, erfordert jedoch Kenntnisse relationaler Datenbanksysteme und SQL. Sie können anbieterspezifische Datenbankerweiterungen verwenden, dies schränkt jedoch die Portabilität Ihrer Anwendung auf andere Datenbanken ein.

Weitere Informationen zum Zugriff auf die JDBC-API finden Sie unter Mendix, Siehe DataStorage.executeWithConnection.

OData

OData bietet eine generische Datenzugriffs- und Abfrageschnittstelle auf der Grundlage des REST-Protokolls. Es ermöglicht einer großen Auswahl an Drittanbieter-Tools, auf kontrollierte Weise auf Ihre Daten zuzugreifen. Zu diesen Tools gehören grundlegende Abfragetools wie LINQPad, Tabellenkalkulationen wie MS-Excel sowie Business Intelligence- und Analysetools wie PowerBI und R. Durch den Zugriff über OData werden alle Validierungs- und Sicherheitsbeschränkungen, die für Ihre Daten definiert und von der Mendix Die Anwendung der Laufzeit wird garantiert. Dies bedeutet, dass OData eine sichere Möglichkeit ist, externen Parteien Zugriff auf Daten zu gewähren.

Während OData ein umfassender Standard ist, der sowohl Abfrage- als auch Manipulationsvorgänge für Daten ermöglicht, Mendix bietet derzeit nur Abfragefunktionen. Derzeit bietet OData in Mendix ist auf die schreibgeschützte analytische Nutzung von Mendix Daten durch Anwendungen von Drittanbietern.

Weitere Informationen zur Verwendung von OData mit MendixFinden Sie in der Verwandeln Sie Daten in Erkenntnisse mit Mendix OData-Unterstützung und Verwenden von R, um Erkenntnisse aus den Daten in Ihrem Mendix Anwendungen  Blogeinträge.

Wie kann ich meine Abfragen optimieren?

Der Mendix Die Plattform bietet eine Menge sofort einsatzbereiter Optimierungen. Wenn Sie beispielsweise Daten für Ihre Seiten über XPath abrufen, Mendix ruft automatisch alle auf der Seite verwendeten zugehörigen Informationen in einem Durchgang ab. Hierzu wird ein Konzept namens Schemata verwendet. Ein Schema weist die Datenabrufkomponente an, nicht nur einen bestimmten Satz von Objekten aus der Datenbank abzurufen, sondern auch bestimmte zugehörige Entitäten in das Ergebnis aufzunehmen.

Neben optimierten Abfragen, Mendix optimiert auch, um die Notwendigkeit von Abfragen zu vermeiden. Dies geschieht beispielsweise im Webclient, wo Objekte zwischengespeichert und über mehrere Seiten hinweg wiederverwendet werden. Eine weitere Optimierung im Mendix Die Runtime nutzt das Wissen über die Seitenstruktur, um zu bestimmen, ob überhaupt Objekte von der Runtime an den Client gesendet werden müssen.

Zusätzlich zu diesen sofort einsatzbereiten Optimierungen können Sie eine Reihe von Schritten unternehmen, um Ihre Abfragen zu optimieren:

  • Rufen Sie nur das ab, was Sie brauchen, und stellen Sie sicher, dass Sie keine Attribute oder Objekte in Ihre Abfrage aufnehmen, die Sie nicht benötigen
  • Stellen Sie sicher, dass Sie haben Indizes im Folgenden:
    • Spalten, die regelmäßig gesucht oder gefiltert nach
    • Spalten, die verwendet werden für Sortierung

In manchen Fällen – insbesondere wenn Sie eine große Anzahl von Objekten haben – kann es hilfreich sein, datenbankspezifische Indizes zu verwenden. Sie können diese über die JDBC-API erstellen, wie oben in SQL.

Wie kann ich Daten aus meiner vorhandenen Datenbank migrieren?

Möglicherweise möchten Sie vorhandene Daten aus alten, nichtMendix Anwendungen in Ihrem neuen Mendix Anwendung. Wenn Sie eine einmalige Migration in Ihre Mendix App stehen Ihnen die nachfolgend beschriebenen Möglichkeiten zur Verfügung.

Datenbankreplikationsmodul

Der Datenbankreplikation erhältlich im Mendix Marketplace ermöglicht die Verbindung zu einer großen Anzahl verschiedener Datenbanktypen. Es zeigt Ihnen, welche Datenstrukturen in der vorhandenen Datenbank vorhanden sind. Sie können dann (über eine Webseite) definieren, welche Daten Sie in Ihre Mendix Datenbank. Sie können auch definieren, wie Sie die Daten aus vorhandenen Spalten Ihren Entitätsattributen zuordnen möchten.

Datenbank-Connector

Der Datenbank-Connector Modul bietet Ihnen Mikroflussaktivitäten, um Abfragen auf jeder Datenbank mit JDBC-Unterstützung auszuführen. Das bedeutet, dass Sie Mikroflüsse erstellen können, um zu definieren, welche Daten Sie aus Ihrer vorhandenen Datenbank benötigen und wie Sie diese Daten in Ihre neue konvertieren möchten. Mendix Anwendung.

Initialisieren Ihrer App-Datenbank aus einer vorhandenen Datenbank

Beim Einsatz eines Mendix Anwendung zum ersten Mal verwenden, haben Sie die Möglichkeit, sie mit Daten aus einer vorhandenen Mendix app. Der Hauptzweck dieser Funktionalität besteht darin, die Migration von einer Umgebung in eine andere zu ermöglichen (z. B. von der Mendix Cloud in eine private Cloud). Sobald Sie Ihre nicht-Mendix Daten in Mendix Daten können Sie diese Daten verwenden, um eine neue Mendix app. Dies funktioniert zwischen Datenbanken desselben Anbieters und auch beim Wechsel von einem Datenbankanbieter zu einem anderen. Das bedeutet, dass Sie eine Azure SQL-Datenbank mit Daten in einer PostgreSQL-Datenbank initialisieren können, die auf Ihrer Workstation ausgeführt wird.

Für weitere Informationen, siehe So migrieren Sie Ihre Mendix Database und Backups in England, Mendix Dokumentation.

Wie kann ich meine vorhandene SQL-Datenbank verwenden in Mendix?

Mit dem Datenbank-Connector können Sie SQL-Aktionen auf jeder beliebigen Datenbank ausführen. Weitere Informationen zur Verwendung einer vorhandenen SQL-Datenbank finden Sie in Mendix, siehe Abschnitt Wie schneidet Mendix Unterstützt den direkten Zugriff auf eine externe SQL-Datenbank? in Externe Daten.

Was APIs tun Mendix Angebot zur Erweiterung des Datenspeicherverhaltens?

Der Mendix Runtime bietet Java-APIs, die eine Erweiterung des Datenspeicherverhaltens ermöglichen. Mendix stellt sicher, dass jeder in Ihrem Team diese Erweiterungen nutzen kann, indem Sie sie über normale Mikroflussaktivitäten bereitstellen können. Weitere Informationen zu dieser Erweiterungsfunktion von Mendix, siehe Abschnitt Welche Art von APIs braucht Mendix Exponieren? in Offenheit (API und SDK).

In Bezug auf die Erweiterbarkeit der Datenspeicherung bieten die wichtigsten Java-APIs die folgende Funktionalität:

Wie kann ich das Verbindungspooling steuern?

Sie können die Anzahl gleichzeitiger Datenbankverbindungen pro Laufzeit zur Datenbank mithilfe der benutzerdefinierten Einstellung konfigurieren ConnectionPoolingMaxActive.

 

Weitere relevante Pooling-Einstellungen finden Sie unter Maßgeschneidert in England, Mendix Studio Pro-Handbuch.

 

Wählen Sie Ihre Sprache