Abfrage-Builder-Referenz
Abfrage-Builder-Referenz - jeder Knoten von GeoDin-Teilabfragen UND Systemabfrage, Von der Tabelle-Liste und Von-Klausel bis zu Voraussetzungen, Anzeigebedingungen und Zwischenspeicherung.
Der Abfrage-Builder definiert eine GeoDin-Teilabfrage als eine Reihe einzelner Knotendefinitionen – Tabellenliste, Von-Klausel, Bedingungen, Ergebnis- und Anzeigefelder –, die GeoDin zu einer vollständigen SQL-Anweisung kombiniert. Diese Seite ist die Referenz für jeden Knoten in dieser Definition: was er konfiguriert und welche Syntax er akzeptiert. Benutzen Sie sie, wenn Sie eine Abfrage erstellen oder bearbeiten und wissen müssen, was ein bestimmter Knoten bewirkt. Sie behandelt auch Systemabfragen – was sie sind, das QUERYDEF-Verzeichnis und die Systemabfrage-Knoten (Voraussetzungen, Anzeigebedingungen sowie Anzeige- und Darstellungsoptionen).
Arbeiten mit Systemabfragen
Systemabfragen enthalten die Definitionen für Datenbankabfragen und werden in eigenen Dateien mit der Erweiterung gespeichert .GSQ (GeoDin-Systemabfrage). Eine Abfragedefinition ist normalerweise nicht spezifisch für ein Datenbanksystem, sodass sie an andere Benutzer weitergegeben werden kann. Im Gegensatz zu Benutzerabfragen, die zu einer einzelnen Datenbank oder einem einzelnen Projekt gehören, sind Systemabfragen automatisch für alle Benutzer in jeder Datenbank und jedem Projekt verfügbar – sie müssen nie für jede Datenbank neu erstellt werden.
Mit ihnen werden typischerweise drei Dinge erreicht:
Definieren Sie eine Abfrage einmal und haben Sie sie überall verfügbar. Wenn mehrere Datenbanken regelmäßig nach ähnlichen Ergebnissen abgefragt werden, muss die Abfrage nicht für jede einzelne neu erstellt werden. Als Systemabfrage definiert, wird sie automatisch jeder Datenbank als neuer Zweig im GeoDin-Objektmanager hinzugefügt, und die Bedingungen der Abfrage passen an, wo und wie sie erscheint.
Erweitern oder strukturieren Sie den Objektmanager um. Die Standardstruktur des Objektmanagers wird von GeoDin definiert: Objekte in einem Zweig, Messpunkte in einem anderen. Eine Systemabfrage kann dies ändern – beispielsweise indem die zu einem Bohrloch gehörenden Proben direkt unter diesem Bohrloch angezeigt werden, anstatt nur in dem separaten Messpunkte Zweig.
Stellen Sie Abfragevorlagen für weniger erfahrene Benutzer bereit. Stark komplexe Abfragen verknüpfen oft viele GeoDin-Tabellen über Verknüpfungsfelder wie
PRJ_Kennung,STANDORTKENNUNGUNDINVID, wofür gute Kenntnisse der Tabellenstruktur erforderlich sind. Der Abfrageassistent bietet die häufigsten Verknüpfungen, aber nicht jede mögliche. Eine Systemabfrage schließt diese Lücke, indem sie die Verknüpfung als fertige Vorlage bereitstellt, sodass der Benutzer nur Bedingungen und Anzeigefelder angeben muss.
Das QUERYDEF-Verzeichnis
Systemabfragen werden im QUERYDEF Verzeichnis der GeoDin-Installation, eine Datei pro Abfrage. Das Verfahren Neue Abfrage erstellt dort eine neue Datei unter dem von Ihnen eingegebenen Namen.
Wenn eine Verzeichnisstruktur innerhalb erstellt wird QUERYDEF, erscheint dieselbe Struktur im GeoDin-Objektmanager, wodurch eine größere Sammlung von Abfragen eine logische Ordnung erhält. GeoDin selbst hat kein Verfahren zum Erstellen dieser Unterverzeichnisse – benutzen Sie den Windows-Explorer. Nicht mehr benötigte Abfragedateien werden auf dieselbe Weise gelöscht.
Nachdem Sie das Verzeichnis im Windows-Explorer neu strukturiert haben, klicken Sie mit der rechten Maustaste auf das Abfragen Am Zweig auf der Registerkarte System und wählen Sie Aktualisieren um die Ansicht des Objektmanagers zu aktualisieren. GeoDin muss nicht neu gestartet werden, um eine neue Verzeichnisstruktur oder neue Abfragedateien zu übernehmen.
Referenz: Abfrage-Builder-Knoten
Jeder der folgenden Abschnitte dokumentiert einen Knoten der Teilabfragen-Definition in der Reihenfolge, in der sie im Builder erscheinen.
Tabellen
Die Tabellenliste einer Unterabfrage enthält alle Bezeichner von Tabellen oder verwendete Ansichten, die in der Abfrage verwendet werden. Dabei handelt es sich um die Namen von Tabellen/Ansichten in der Datenbank, die in der Von-Anweisung referenziert werden. Der Zweck dieser Liste besteht darin, dass alle erforderlichen Schema-Ergänzungen zu diesen Namen vorgenommen werden, bevor die SQL-Anweisung ausgeführt wird. Da die Von-Anweisung jede beliebige SQL-Syntax enthalten kann (einschließlich datenbankspezifischer Syntax), wird GeoDin diese Zeichenkette nicht auswerten, um zu bestimmen, welche Tabellennamen mit einem Schemanamen zu erweitern sind. Stattdessen teilt die hier definierte Tabellenliste GeoDin mit, welche Namen zu Einschließen sind, um sie in die Von-Anweisung und aus den anderen Teilen der Konfiguration der Abfrage aufzunehmen. Alle hier angegebenen Namen werden automatisch mit dem Schemanamen aus der GeoDin-Datenbankkonfiguration erweitert.
Beispiel:
Alle GeoDin-Tabellen werden vom dbo-Benutzer (Datenbankbesitzer) von der Datenbank erstellt. Daher können alle Tabellen von anderen Benutzern nur dann zugegriffen werden, Wenn das Schema aufgeführt ist und der verwendete Vollfarbe-Tabellenname verwendet wird:
dbo.GeoDin_LOC_LOCREG
Um zu vermeiden, dass für jede Tabelle die Schema-Ersetzung angegeben werden muss, ist es möglich, das Schema von GeoDin-Tabellen in der Konfiguration der Datenbankverbindung zu speichern. Konfiguration für Benutzer-Datenbanken.
Hinweis: Aliasnamen, die in der Von-Anweisung (zum Beispiel für Unterabfragen) Mai nicht hier enthalten sein. Andernfalls wird die Schemenerweiterung zu dem Alias hinzugefügt und die Anweisung wird fehlschlagen.
Systemabfragen auf Projektebene (GeoDin 10 UND Später)
Seit dem Ändern der GeoDin-10-Projektstruktur muss eine Systemabfrage, die zu der Anzeige auf Projektebene bestimmt ist, das Einschließen der Tabelle für die Objektregistrierung vorsehen GEODIN_LOC_LOCREG - Füge es zu der Tabelle-Liste und zu der Von-Klausel der Abfrage hinzu.
Wenn die Tabelle für die Objektregistrierung in einer Systemabfrage auf Projektebene weggelassen wird, gibt die Ausführung der Abfrage einen der folgenden Fehler zurück, abhängig vom Datenbanksystem:
Microsoft Access-Datenbank:
[FireDAC][...] Zu wenige Parameter. 1 erwartet.Auftraggeber/Server-Datenbank:
[FireDAC][...] Ungültiger Spaltenname 'ProjectGUID'.
Konfiguration
In der Konfiguration werden die allgemeinen Einstellungen für die Abfrage vorgenommen, basierend auf der verwendeten Datenbasis für die Abfrage.
Die Konfiguration umfasst:
die Von-Anweisung bei der Verknüpfung (FROM) Knoten für den SQL-Befehl
und andere Kriterien Einschränkungsfelder für die automatische Einschränkung (WHERE) der Abfrage, abhängig von der Position der Abfrage im GeoDin-Objektmanager
Definition der Pflichtfeld-Informationen für die Verarbeitung des Ergebnisses der Abfrage Ergebnisfelder
Bei der Eingabe Teilabfragen Es ist möglich, die Abfrage durch Klicken auf "SQL Voransicht" bei der gewünschten Teilabfrage anzuzeigen.
Hinweis: Der in der Voransicht angezeigte SQL-Befehl kann direkt in der Datenbank getestet werden, nachdem die Projekt-Kennung ($PRJID), die Standort-Kennung ($LOCID) oder die INVID ($INVID) ersetzt wurden
Zusätzliche Optionen:
*-*DISTINCT durch Abfrage-Ausführung im GeoDin Objekt-Manager-
Definieren Sie, wenn ein Auswählen DISTINCT ...-SQL-Befehl ausgeführt werden soll in der Abfrage oder nur ein Auswählen-Befehl. In beide Fällen zeigt GeoDin ein Objekt, das in einer Abfrage mehr als einmal Verfügbar ist, nur einmal im Objektmanager an. Dies geschieht durch eine Prüfung der Objekt-ID's. Ein Allgemein DISTINCT wird Nicht verwendet als Standard, weil die Nutzung dieses Befehls von dem Design der Abfrage abhängt. Wenn Sie sicher sind, dass Ihr SQL-Befehl einen DISTINCT zulässt, kann diese Option die Abfrage erheblich beschleunigen.
-Ausführungsfehler ignorieren-
Wenn die Abfrage als Standard zu einem Fehler führt, wird eine Fehler-Mitteilung angezeigt. Sie können mit dieser Option die Fehler-Mitteilung ausblenden (Nicht darstellen). Wenn das Ausführen der Abfrage auf diese Weise zu einem Fehler führt, wird der Fehler ignoriert und die Abfrage wird nicht in den Objekt-Manager eingefügt. Benutzen Sie diese Option, wenn Sie das Erstellen einer Abfrage wünschen, die in keiner Beliebig-Art von Datenbank verwendete werden kann und Sie diesen Fehler Ignorieren möchten. Empfohlen ist, dass statt diese Option zu verwenden die Konfiguration von Voraussetzungen sind für eine Abfrage verwendete, weil es Immer schneller ist, die Voraussetzungen zu kontrollieren, als in einer Abfrage auf einen Fehler zu stoßen.
-Benutzen Sie DISTINCT für Formen-Exportieren-
Wenn die Abfrage verwendet wird, um eine Shape-Datei zu erstellen, können Sie hier auswählen, ob für den Shape-Export eine SELECT DISTINCT oder ein „einfacher“ SELECT-Befehl verwendet werden soll.
Bedingung
Diese optional verwendete Sektion der Definition von Systemabfragen legt einen Grenzwert für die Ergebnisse der Abfrage fest. Diese Sektion ist vergleichbar mit der WHERE-Anweisung einer SQL-Abfrage und wird automatisch zur Datenbankabfrage hinzugefügt. Zum Hinzufügen in der Liste wählen Sie einen oder mehrere Einträge zum Bearbeiten aus.
ODER
¯¯¯
Dieser Abschnitt von Systemabfragen kann als verwendete Funktion dienen, um die Ergebnisse der Abfrage einzugrenzen. Er entspricht der WHERE-Einschränkung von einer SQL-Abfrage und wird automatisch zu der Datenbank-Abfrage hinzugefügt. Mögliche logische Operatoren sind UND- und ODER-Beziehungen, die auf zwei Ebenen angeordnet werden können. Am Level erster Ordnung werden verbundene Unterabfragen mit einem ODER verknüpft. Als erster erscheint die Bedingung mit dem Schlüsselwort WENN und markiert den Beginn der Bedingungen.
Im erster Schritt wird daher festgelegt:
<<Bedingung 1>> ODER <<Bedingung 2>> ODER <<Bedingung 3>> ...
Bei der zweiten Ebene sind die einzelnen Bedingungen die „wahren“ Kriterien der Abfrage, wobei UND-Operatoren als verwendete Verknüpfungen dienen können.
Beispiele für Bedingungen
Beispiel mit den Koordinaten von Messpunkte (ODER-Operator):
Die Abfrage soll alle Messpunkte finden, bei denen entweder die X-Koordinate (XCOORD) höher als 100 oder die Y-Koordinate höher als 50 ist. Die Bedingungen wären:
Das Beispiel kann erweitert werden, um die Suche nach Objekten mit ihren Koordinaten (ODER- und UND-Bezug) zu demonstrieren. Die Abfrage findet alle Messpunkte mit X-Koordinaten höher als 100 und kleiner als 200 oder mit Y-Koordinaten höher als 50 und kleiner als 100:
Wenn die Bedingungen für beide, die X-Koordinaten und die Y-Koordinaten, übereinstimmen müssen, werden die Bedingungen auf der zweiten Ebene (UND) der Abfrage eingegeben:
Und
Bei der Ebene der Bedingungen müssen verschiedene Suchbedingungen definiert werden. Hier werden die Bedingungen entweder als Einzelbedingungen oder als Kombination mit logischem UND definiert. Es ist möglich, Gruppen von Bedingungen miteinander durch ein logisches ODER.
Konfigurieren der Bedingungen
Im Feld Datenfeldname muss der von dem Datenfeld für die Abfrage verwendete Feldname definiert werden.
Der Feldname wird im Papierformat <table_name>.<field_name> angegeben.
Im Feld "Bedingung" kann die gewünschte Bedingung entweder direkt definiert oder eine verwendete parametrisierte Bedingung kann definiert werden. Wenn sie direkt definiert wird, wird die BEDINGUNG als logischer Ausdruck mit einem relationalen Operator und einem Wert ausgedrückt.
Mögliche relationale Operatoren:
> größer als
=> größer als oder gleich zu
< kleiner als
<= kleiner oder gleich
= gleich zu
<> nicht gleich zu
ist null, Datenfeld ist Leer
ist nicht null, Datenfeld ist nicht Leer
wie 'A%' Inhalt(e) in hochgestellten Anführungszeichen unter Verwendung von Platzhaltern in der Zeichenkette: _ ein Zeichen oder % mehrere Zeichen
in ('T1','T2') Liste von Werten in runden Klammern, Werte getrennt durch Kommas, Textfelder haben Werte in hochgestellten Anführungszeichen,
numerisches Feld hat Werte mit Dezimalpunkt (nicht ein Komma) und nicht in hochgestellten Anführungszeichen
Bedingungen die eine Abfrage Datum : bitte überprüfen Sie Ihre Datenbank auf die korrekte Formatierung:
Verfügbar sind die folgenden Normformate:
Zugriff #MM/DD/YYYY#
Oracle 'TT-MM-JJJJ'
MySQL, MS SQL, PostgreSQL 'TT.MM.JJJJ'
Bedingungen die eine Abfrage Datum/Uhrzeit(Datum/Uhrzeit): bitte verwenden Sie die folgenden Norm-Formatierungen:
Zugriff: #MM/DD/YYYY HH:MM:SS#
Oracle: ZU_DATUM('31.05.2015 12:24:36','dd.mm.yyyy hh24:mi:ss')
MySQL, MS SQL, PostgreSQL: 'DD.MM.YYYY HH:MM:SS'
Wenn eine Parametrisierte Abfragen verwendete, wird ein Fenster geöffnet, wenn die Abfrage zum erster Mal ausgeführt wird. Alle Bedingungen, die als parametrisiert markiert sind, können in diesem Fenster eingegeben und geändert werden.
Hinweis: Die Verwendung einer parametrierten Bedingung wird durch die Zeichen ":?" angezeigt. Optional kann vor dieser Zeichenfolge ein Vergleichsoperator angegeben werden. In diesem Fall wird dieser Operator vorausgefüllt, wenn die Parameter abgefragt werden.
Wenn Parametrisierte Abfragen verwendet werden, werden die verschiedenen notwendigen allgemeinen Einstellungen Verfügbar.
Der Parameter kann als Pflichtfeld markiert werden - wenn er nicht Pflichtfeld ist, wird der Parameter ignoriert, wenn Leer.
Es ist auch möglich, einen Standardwert einzugeben und ein Intervall zu verwenden.
Die Option -Intervall verwenden- erzeugt eine spezielle Art von Bedingung. Wenn Sie Objekte in einer definierten Fläche um eine selektierte Koordinate auswählen möchten, ist die folgende Bedingung möglich:
Datenfeldname: GeoDin_LOC_LOCREG.XCOORD
Bedingung: >=:?
x Intervall verwenden
100
Wenn die Abfrage ausgeführt wird, wird ein Eingabefenster angezeigt, das die selektierte X-Koordinate (Easting) und den einzugebenden Abstand (Standard 100) zeigt. Die folgende WHERE-Bedingung wird automatisch zur SQL-Anweisung hinzugefügt:
... (GeoDin_LOC_LOCREG.XCOORD >= CKoordinate-100) UND (GeoDin_LOC_LOCREG.XCOORD <= C*Koordinate+*100)
Wenn Sie eine zweite Bedingung für das Datenfeld GeoDin_LOC_LOCREG.YCOORD (Northing) auswählen, können Objekte aus einem gegebenen Rechteck um den selektierten Standort durch Eingabe von 3 Zahlen statt der Eingabe der Ecken des Rechtecks ausgewählt werden.
Unter Verwendung des Parameters $%SYSDATE$
Sie können $%SYSDATE$ als Platzhalter für den Datumsparameter verwenden, um das aktuelle Datum als Standardwert auszuwählen. Auch mathematische Ausdrücke mit dem Makro $%SYSDATE$ sind möglich, z. B. $%SYSDATE$-7, um den gleichen Tag vor einer Woche auszuwählen.
Anzeigefelder
Die Anzeigefelder legen fest, welche Datenbankfelder eines Objekts im GeoDin Objekt-Manager (GOM) angezeigt werden sollen.
Die Objekte und die Inhalte, die angezeigt werden, sind tatsächlich die Ergebnisse einer Abfrage - normalerweise ist dies der Name eines Objekts oder "LONGNAME".
Es ist jedoch möglich, Felder für eine detailliertere Anzeige zu kombinieren, wie z. B. Name und Art des Bohrlochs.
Sie können festlegen, welche und wie viele Felder angezeigt werden sollen Anzeigefeld.
Es gibt optionale Formatierungsanweisungen zu Anzeige des Textes.
Im Eingabefeld können Sie das Makro definieren, das zu den Ergebnissen von der SQL-Abfrage angewendet wird.
Wenn kein Makro definiert ist, werden die Datensätze so angezeigt, wie sie in der Datenbank existieren.
Dies bedeutet beispielsweise, dass Codes nicht erneut zu Volltext zurückübersetzt werden, sondern als Codes angezeigt werden.
Das Makro kann nur Verweise zu definierten Anzeigefeldern enthalten. Daher ersetzt das Makro Anzeigefelder nicht, sondern ergänzt und formatiert sie.
AUSWÄHLEN DISTINCT GeoDin_LOC_LOCREG.LOCID, GeoDin_LOC_ZMGENINF.SHORTNAME, GeoDin_LOC_ ZMGENINF.PURPOSE ....
Die Textmakros werden genau auf die gleiche Weise wie in einer Vorlage implementiert, daher der Bereich von FormatierungsOptionen, die Verfügbar sind.
Beispiel:
$GeoDin_LOC_ ZMGENINF. KURZNAME $ ($GeoDin_LOC_ZMGENINF.ZWECK $)
Wenn eine Beschriftungsanweisung verwendet wird, muss zusätzlich ein Makro definiert werden, das verwendet wird, wenn das Makro im GOM aktualisiert wird. Dies geschieht immer dann, wenn Allgemeine Sondierungen bearbeitet und gespeichert werden. Bei dieser Uhrzeit wird das geladene verwendete Objekt genutzt, um das Makro aufzulösen. Weder die anfängliche Abfrage noch der Datensatz, der die Eingabe im GOM bereitstellt, da dies nicht notwendig ist und nur unnötig Speicher verwenden würde. Das Makro für das Aktualisieren muss wie in einer Vorlage mit Feldverweisen zu dem Objekt erstellt werden. Normalerweise werden die vorhergehenden Tabellennamen weggelassen.
Sortierungsfelder
Hier können zusätzliche Datenfelder als zusätzliche Sortierungskriterien für die Abfrageergebnisse ausgewählt werden (d. h. unabhängig von den angezeigten Feldern). Ein Sortierungsfeld wird definiert, indem <tablename>.<columnname> verwendet wird. Ein ORDER BY-Befehl wird der SQL-Anweisung automatisch hinzugefügt, wenn die Sortierungsfelder verwendet werden. Zusätzlich können Sie festlegen, ob die Sortierung für die Ausführung im Objektmanager oder in einem Layout verwendet wird.
Ergebnisfelder
Ergebnisfelder werden der Datenfeld-Liste der Auswählen-Anweisung hinzugefügt und definieren die Struktur der Ergebnisdaten. Ein Ergebnisfeld wird durch <tablename>.<columname> definiert.
Was die Ergebnisfelder enthalten müssen
Welche Identifikatoren und Koordinaten GeoDin aus dem Ergebnis benötigt, hängt davon ab, auf welchen Zweck die Abfrage verwendet wird. Dieselbe Abfrage wird anders ausgeführt, wenn
sein Ergebnis-Knoten wird zu dem Objekt-Manager hinzugefügt,
es verwendete für einen Shape-Exportieren ODER in der GIS Extension, ODER
es liefert Daten für einen Bericht.
Für den erster Fall müssen die Ergebnisfelder nur die GeoDin-Objekt-IDs enthalten; die Koordinaten sind nicht relevant. Viele GIS-Ausführungsoperationen verwenden hingegen die Datenfelder für die X- und Y-Koordinate (XCOORD UND YCOORD) zusammen mit einem Datenfeld, das eine eindeutige Objekt-ID enthält – normalerweise die INVID von einem Objekt. Da eine Abfrage jede Tabelle in der Datenbank adressieren kann, einschließlich nicht-GeoDin-Tabellen, kann diese Objektkennung aus einer anderen Tabelle stammen und muss nicht die INVID.
Welche Identifikatorfelder erwartet werden, hängt auch von der Art des Ergebnis-Objekts ab, das in der Systemabfrage selektiert ist:
Objekt (Karminrot)
ein Feld mit der Projekt-Kennung (PRJ_Kennung) und ein Feld mit der Objekt-ID (STANDORTKENNUNG)
Messpunkte (Blau)
ein Feld mit der Messpunkte Kennung (INVID)
Die ursprünglichen Spalten können unterschiedliche Namen tragen. Wie die anderen Identifikationsspalten werden sie im Papierformat angegeben <tablename>.<fieldname> und muss als Spalte im Ergebnis der Abfrage verfügbar sein.
Wenn möglich, Signatur in Alle Felder ein. Eine Ergebnisdefinition, die Beide die Identifikatoren und die Koordinaten enthält, lässt dieselbe Abfrage für jeden Zweck dienen - Objekt-Manager, Shape und ArcGIS Exportieren sowie Berichte - statt von nur einem.
Teilabfragen
Eine Teilabfragen ist eine unabhängige Abfrage auf der Datenbank (eine SQL-Anweisung), die eine Menge von Ergebnissen liefert. Die SQL-Anweisung ist nicht definiert als eine Vollfarbe Anweisung, sondern durch eine Zahl einzelner Definitionen. In getrennten Eingabefeldern werden bestimmte Fragmente der Abfrage definiert, die von GeoDin zu einer Vollfarbe SQL-Anweisung kombiniert werden. Der Grund dafür ist eine Zahl von Variablenname-Teilen der SQL-Anweisung, zum Beispiel die Feld-Liste in Auswählen, die in GeoDin gemäß der vorgesehenen Verwendung erstellt wird. Dies ist der einzige Weg, um eine optimierte (zweckorientierte) Abfrage in der Datenbank zu erreichen, die sich zum Beispiel deutlich unterscheidet, wenn die Abfrage im GeoDin Objekt-Manager ausgeführt wird, im Unterschied zum Ausführen derselben Abfrage zur Datenabfrage in einem Layout wählen.
Name
Hier kann ein Name für die Teilabfragen eingegeben werden.
Vorlagenbeschreibung
Geben Sie hier eine kurze Bezeichnung der Abfrage ein. Die Bezeichnung wird im Abfrageassistenten angezeigt, wenn die Abfrage als Vorlage für Benutzerabfragen definiert ist (siehe Arbeiten mit Systemabfragen)
Bedingungen verknüpfen mit ODER/UND
Diese Option steuert die Kombination von Einzelbedingungen der Abfrage. Abhängig von der Abfrage mit mehreren Bedingungen ist die "ODER" Verbindung im Hauptknoten
(Bedingung 1 UND Bedingung 2) ODER (Bedingung 1 UND Bedingung 3)
kann besser durch ein "UND" Verbindung im Hauptknoten
(Bedingung 1) UND (Bedingung 2 ODER Bedingung 3).
SQL-Voransicht
Hier wird der SQL-Befehl basierend auf der aktuell verwendeten Konfiguration der Abfrage angezeigt.
Abfragetyp von einer Objektrahmenabfrage
Beim Bearbeiten eines Objektrahmenabfrage Sie können zwischen der Definition einer Strukturierten Vorlage oder einer gesamten SQL-Anweisung wählen. Eine SQL-Anweisung ermöglicht alle Möglichkeiten der Datenauswahl (z. B. Auswählen Zählung(Datafield) AS GCCOUNT Von Tabelle), ist aber wahrscheinlich nicht in allen Datenbanktypen ausführbar. Im Allgemeinen ist eine Strukturierte Vorlage vorzuziehen.
Verknüpfung (FROM)
Die Verknüpfung ist die Von-Klausel einer SQL-Anweisung. Die Informationen können aus einer Tabelle oder aus einem Satz von Tabellen gesammelt werden, wie in der Von-Bedingung definiert. Wenn nur eine Tabelle selektiert ist, muss hier nur der Tabellenname eingegeben werden. Für komplexere Ausdrücke muss die Syntax der Von-Klausel den SQL-Spezifikationen des verwendeten Datenbanksystems folgen.
Die Definition oder Struktur der Von-Klausel kann zwischen verschiedenen Datenbanksystemen fällig zu den Spezifikationen der spezifischen SQL-Syntax variieren.
Hinweis: Es kann hilfreich sein, die Abfrage zuerst in einem Datenbank-Programm mithilfe eines grafischen Abfrageeditors zu erstellen. Anschließend kann die Von-Klausel der Anweisung hierher kopiert werden (Beispiel: Der Abfrageeditor in MS Access)
Einschränkungsfelder
Die Einschränkungsfelder sind verwendete Felder, um Datenfelder zu definieren, die GeoDin abhängig von der Position der Abfrage im Objektmanager auf der entsprechenden Ebene automatisch zur WHERE-Bedingung der Abfrage hinzufügt, um das Ergebnis gemäß der Objektmanagerstruktur einzuschränken.
Die Basis sind die Anzeigebedingungen von der Abfrage.
Datenbank, Datenbankabfragen
Die Abfragen sind nicht weiter eingeschränkt. Die Einschränkungsfelder können Leer bleiben.
Projekt, Projektabfragen
Die Abfragen werden mithilfe des Projekts Kennung eingeschränkt. Das einschränkende Feld PRJ_ID muss ausgefüllt werden.
Objekt
Die Abfrage wird eingeschränkt, indem das Projekt Objekt-ID und die Objekt-ID verwendet werden. Die Einschränkungsfelder PRJ_ID und LOCID müssen ausgefüllt werden.
Messpunkte
Die Abfrage ist durch Verwendung der Messpunkte-Kennung eingeschränkt. Das einschränkende Feld INVID ist zu füllen.
Die Spalten müssen im Papierformat <tablename>.<columnname> selektiert werden UND müssen Teil von dem Ergebnis von der Abfrage zu sein.
Anzeigefeld
Die Anzeigefelder definieren, welche Datenbankfelder zur Benennung der Abfrageergebnisse im GeoDin-Objektmanager als verwendete Datenbankfelder dienen. Auf diese Weise kann der Name aus mehreren Feldern zusammengesetzt werden. Ein häufig verwendetes Datenfeld ist der Objektname LONGNAME. Sie können aber auch kombinierte Namen wie name und Tiefe verwenden.
Datenfeldname
In diesem Feld wird das anzuzeigende Datenfeld in der Form <Tabellenname>.<Spaltenname> definiert.
Erweiterungstext
Die hier eingegebenen Zeichen werden an den Inhalt des Datenfelds als „Erweiterungstext“ angehängt. Beispielsweise kann der Inhalt eines Anzeigefelds wie GeoDin_LOC_LOCREG.ZCOORDE (endgültige Tiefe) um die Maßeinheit ergänzt werden, z. B. „ m“ oder mit längeren Varianten wie „in m unter Ansatzhöhe“.
Sortieren-Kriterien
Auswählen Sie die Sortierreihenfolge für dieses Datenfeld. Eine ORDER BY-Anweisung wird automatisch zu der SQL-Anweisung hinzugefügt.
Portaleigenschaften
Der Portaleigenschaften Ein Knoten hält die Einstellungen, die eine Abfrage benötigt, wenn sein Layout als Portal-Layout verwendet wird. Ein Portal-Layout ist ein GeoDin-Layout, das mindestens ein Element mit einer Portalverknüpfung enthält, also eine Anweisung, ein weiteres GeoDin-Layout aufzurufen. Layouts, die sich gegenseitig aufrufen, bauen ein ganzes Netzwerk von Präsentationen und Berichten – ein Portal – auf. Portallayouts können erstellt und verwendete in jeder GeoDin-Modulkombination werden; in einer GeoDin Portal Server-Installation sind sie die verlinkte Vorderseite, über die der Leser die Präsentationen und Daten in einem Browser durchblättert.
Eine Norm-Grafik bietet Portal-Funktion: Nein, daher muss sie als erster Schritt vorbereitet werden. Im Bearbeiten-Modus, Auswählen Sie den Objektbaum von der Grafik – Wenn Sie sich nicht sicher sind, klicken Sie auf die Weiß Fläche zu den Objekt-Rahmen – Öffnen Erweiterte Eigenschaften in den Objekteigenschaften von der Grafik UND schalte die Option auf Portalfunktion aktivieren. Ein Neu Portaleigenschaften Zweig erscheint dann unter den Erweitert Eigenschaften, und die Elemente Variabler Text UND Variables Bild die Option von der Einrichtung von Portalverknüpfungen zu erhalten. Die Einrichtung der Verknüpfungen selbst wird unter beschrieben Erstellen von Lageplänen.
Umschalten Portalfunktion aktivieren Auf einem vorhandenen Portallayout werden die Portaleigenschaften von allen betroffenen Elementen der Grafik entfernt. Die allgemeinen Einstellungen gehen jedoch nicht verloren – nicht einmal, wenn die Grafik gespeichert wird. Später können sie reaktiviert werden.
Wie eine aufgerufene Abfrage die Objekt-ID erhält
Ein aufgerufenes Layout beschränkt sich standardmäßig auf Objekte. Das aufrufende Layout (Quell-Layout) bestimmt, welche Objekt-ID übergeben wird; das aufgerufene Layout (Ziel-Layout) löst es über die Ergebnisfelder von seiner Rahmen-Abfrage, die angibt, welche Spalte der Ergebnis-Tabelle enthält PRJ_Kennung, STANDORTKENNUNG ODER INVID. PRJ_Kennung UND STANDORTKENNUNG reichen für Objekte aus; Messpunkte erfordern INVID. Wenn diese Zuordnungen fehlen, kann die Abfrage nicht ausgeführt werden und eine Fehler Mitteilung wird ausgegeben. Alle von den Feldern zu definieren, wenn nur einige benötigt werden, verursacht kein Problem.
Intern hängt das Übergeben einer Objekt-ID Immer eine Einschränkung an die Angabe des aufgerufenen Layout wählen an, die aus den Einträgen in den Ergebnisfelder erstellt wird. Wenn die Angabe bereits eine WHERE-Klausel hat, wird die Einschränkung als UND-Konstrukt angehängt. Jenseits der Objekt-Kennungen können weitere Parameter an die Abfrage im Ziel-Layout wählen übergeben werden; sie wirken nur dort, wo passende Bedingungen für diese Abfrage definiert sind, und Parameter, die Ohne eine auswertende Bedingung übergeben werden, haben keine Konsequenz.
Ein Multi-Rahmen-Layout wählen erhält überhaupt kein Objekt-IDs – dort liefert die erster Rahmen-Abfrage die Objekt-Identifikatoren.
Wenn die Rahmen-Abfrage eine einzelne SQL-Anweisung statt von einer strukturierten Abfrage verwendet, nur PRJ_Kennung, STANDORTKENNUNG UND INVID kann übergeben werden, UND die Anweisung muss den passenden Platzhalter für den zu bewertenden Wert enthalten:
%INVID
die INVID (Messpunkte-Identifikator)
%PRJID
die PRJ_Kennung (Projektkennung)
%LOCID
die STANDORTKENNUNG (Objektnummer)
Website-Eigenschaften
Hier legen Sie die Auflösung, das Aktualisierungsintervall und eine Hintergrundfarbe für die Website fest. Sie können außerdem eine HTML-Vorlage für die Website Auswählen.
Layout in Cache beibehalten: Wenn dieses Feld aktiviert ist, wird das Layout im Cache vorhanden für eine bestimmte Zeit gehalten. Je nach Layout kann dies die Antwortzeit des Servers deutlich verkürzen.
Cache-Einstellungen
Hier legen Sie die Zahl von Minuten fest, für die Das Layout im Cache vorhanden ist.
Wenn die Daten für Monitoring-Layouts alle fünf Minuten aktualisiert werden, ergibt es zum Beispiel Sinn, das Layout im Cache vorhanden für fünf Minuten auch zu beibehalten. Nach dieser Zeit wird es automatisch entfernt und mit frischen Daten auf die nächste Anfrage hin wieder verbunden.
Referenz: Knoten der Systemabfrage
Eine Systemabfrage enthält neben der obenstehenden Definition der Teilabfragen eine zweite Gruppe von Knoten. Sie gestalten die SQL-Anweisung nicht – sie entscheiden, ob die Abfrage überhaupt für eine bestimmte Datenbank ausgeführt wird, wo ihre Ergebnisse im GeoDin-Objektmanager erscheinen und wie diese Ergebnisse angezeigt werden.
Voraussetzungen
Der Voraussetzungen Knoten definiert die grundlegenden Bedingungen, unter denen die Systemabfrage in einer Datenbank ausgeführt und zum Objektmanager hinzugefügt wird. Da eine Abfrage bestimmte Datenbanktabellen verwendet, sind diese Tabellen möglicherweise nicht überall vorhanden: Eine Datenbank kann die Objektart „Allgemein Bohrprofil – Britische Norm“ verwenden, während eine andere andere Objektarten verwendet, sodass eine Abfrage auf der Tabelle GEODIN_LOC_BSSRCLAS erstellt für das Allgemein Bohrprofil führt zu einem Fehler in der zweiten Datenbank.
Geben Sie eine Bedingung pro Linie ein. Jede Linie muss erfüllt sein (UND); wenn eine einzelne Anforderung nicht erfüllt ist, wird die Abfrage für diese Datenbank ignoriert. Die Ausnahmen sind Benutzername= UND WorkstationLogin= Linien, die mit ODER kombiniert werden, sodass sie für mehrere verschiedene Benutzer eingegeben werden können. Innerhalb einer Linie sind durch Kommas getrennte Werte Alternativen (ODER).
LOCTYPE=<Kurzbezeichnung>
Die genannte Objektart ist in der aktuellen Datenbank installiert
DATTYPE=<Kurzbezeichnung>
Die genannte Datentypzuordnung ist in der aktuellen Datenbank eingerichtet
ADOVerbindungHat=<string>
Die Verbindungszeichenfolge der Datenbankverbindung enthält die angegebene Zeichenfolge
Benutzername=<login>
Der Datenbank-Anmeldename des aktuellen Benutzers: Treffer
Arbeitsplatzanmeldung=<login>
Der Windows-Anmeldename des aktuellen Benutzers: Treffer
Auf eine bestimmte Objektart beschränken
Die Objektarten, die installiert sind, werden mit der Variablen überprüft LOCTYPE=. Im folgenden Beispiel wird die Abfrage nur angezeigt, wenn die Objektart "Allgemein Bohrprofil" in der aktuell verwendeten Datenbank verwendet wird:
Die Kurzbezeichnung der Objektart wird angezeigt, wenn das Verfahren Neues Objekt verwendet wird - notieren Sie sich diesen Namen, um ihn hier zu verwenden.
Wenn mehrere Kurzbezeichnungen durch Kommas getrennt angegeben werden, prüft GeoDin, ob mindestens eine der Objektarten existiert (ODER):
Wenn zwei oder mehr Zeilen, die mit LOCTYPE= Sind sie angegeben, prüft GeoDin, ob alle von den Objektarten vorhanden sind (UND):
Auf eine bestimmte Datentypzuordnung beschränken
Die in der Datenbank eingerichteten Datentypen werden mit dem Variablennamen überprüft DATTYPE=. Im folgenden Beispiel wird die Abfrage nur angezeigt, wenn die Datentypzuordnung „Grundwasserchemie“ vorhanden ist:
Die Kurznamen von den Datentypen werden in den Eigenschaften einer Datentypzuordnung Am System-Tab angezeigt.
Auf ein bestimmtes Datenbanksystem beschränken
Der Variablenname ADOConnectionHas= beschränkt die Abfrage auf ein bestimmtes Datenbanksystem, was für Abfragen nützlich ist, die SQL-Syntax verwenden, die nur dort verfügbar ist, wie beispielsweise Oracle-Syntax. Da eine Datenbankverbindung aus einer Verbindungszeichenfolge erstellt wird, wird die Einschränkung als Fragment dieser Zeichenfolge ausgedrückt:
Hier muss die Verbindungszeichenfolge die Zeichenfolge enthalten MSAcc, was für eine Microsoft Access-Datenbank mit einer Verbindungszeichenfolge wie DriverID=MSAcc;Datenbank=C:\My Data\GeoDin\DB\Access_DB.accdb, daher wird die Abfrage nur für Microsoft Access-Datenbanken angezeigt.
Dieselben Komma- und Zeilensemantiken gelten wie für LOCTYPE=. Mehrere durch Kommas getrennte Zeichenketten werden mit ODER kombiniert:
Zwei oder mehr ADOConnectionHas= Zeilen werden mit UND kombiniert, sodass Alle Zeichenketten vorhanden sein müssen:
Auf bestimmte Benutzer zu beschränken
Systemabfragen können auf benannte Benutzer von der Datenbank beschränkt werden. Benutzername= prüft den Anmeldenamen des Benutzers in der Datenbank, sodass eine Abfrage nur zu bestimmten Personen zugänglich gemacht werden kann:
Da dies den Datenbank-Login prüft, ist es für Microsoft Access-Datenbanken nicht Verfügbar. Benutzername Bedingungen werden mit ODER kombiniert, sodass mehrere Benutzer aufgelistet werden können.
WorkstationLogin= prüft stattdessen den Windows-Anmeldenamen des aktuell angemeldeten Benutzers und wird ebenfalls mit ODER kombiniert. Die Abfrage unten wird nur angezeigt, wenn der aktuell angemeldete Windows-Benutzer „Smith“ oder „Jones“ ist:
Immer angeben, wovon eine Abfrage abhängt. Bei einer Systemabfrage auf Objekte benennen Sie eine Objektart, die in der Datenbank vorhanden ist; wenn die Abfrage die Tabellen einer Datentypzuordnung verwendet, benennen Sie auch diese Datentypzuordnung. Das Prüfen der Voraussetzungen ist schneller, als in einen Fehler zu laufen, daher ist dies die empfohlene Alternative (Empfohlen) zu dem Ausführungsfehler ignorieren Option in dem Konfiguration Knoten.
Anzeigebedingungen
Der Anzeigebedingungen Der Knoten definiert, wo im GeoDin-Objektmanager die Abfrage angezeigt wird und unter welchen Bedingungen sie überhaupt angezeigt wird.
Abfrage unter der Objektart
Allgemeine Einstellungen steuern, bei welcher Ebene die Abfrage angezeigt wird:
Datenbank
Bei dem Hauptzweig von der Datenbank, auf derselben Ebene wie ein Projekt
Datenbankabfrage
Innerhalb der Objekte ODER Messpunkte Zweig, der auf derselben Ebene wie die Projekte liegt, abhängig von der Ergebnis-Objektart von der Abfrage. Diese Zweige können bereits benutzerspezifische projektübergreifende Abfragen enthalten
Projekt
Im Hauptzweig von einem Projekt, auf derselben Ebene wie die Zweige Objekte UND Messpunkte
Projektabfragen
Innerhalb der Objekte ODER Messpunkte Zweig von einem Projekt, abhängig von der Ergebnis-Objektart - derselbe Ort wie Alle Objekte und die Zweige der Objektarten, die installiert sind
Objekt
Als Unterzweig eines einzelnen Objekts (Karminrot), der gewöhnlich eine Abhängigkeit von anderen Objekten darstellt
Messpunkte
Als Unterzweig eines einzelnen Messpunkte (Blau), der ebenfalls strukturell eine Abhängigkeit darstellt
Objektarteinschränkungen
Für Abfragen, die als neue Zweige unter einem Objekt oder Messpunkte eingefügt werden, beschränkt dieses Feld die Objektarten, unter denen der Zweig eingefügt werden darf. Angenommen, eine Abfrage soll alle Proben eines Bohrloch unterhalb dieses Bohrloch auflisten. Die Voraussetzungen bereits angeben, dass die Abfrage nur für Datenbanken mit „Allgemein Bohrprofil“-Bohrungen (LOCTYPE=BSBORLOG). Wenn die Datenbank auch andere Objekte enthält - die keine Allgemein Bohrprofil-Beispieltabelle haben und nichts zurückgeben würden - sollte der Abfragezweig ihnen trotzdem nicht angeboten werden. Bei Eingabe
beschränkt die Abfrage auf Objekte dieser Art, sodass sie nur am Zweig „Allgemein Bohrprofil“ angezeigt wird. Das Mehrzeilig-Eingabefeld kann mehrere LOCTYPE= Einträge enthalten; die Abfrage ist dann Gültig für alle der aufgelisteten Objektarten.
Abfrage nur einfügen, wenn Ergebnisse vorhanden sind
Diese Option steuert, ob die Abfrage im Objektmanager immer Sichtbar ist oder nur, wenn sie ein Ergebnis liefert. Die Abfrage wird zuerst ausgeführt, und wenn die Ergebnismenge leer ist, wird der Abfragezweig (Gelb-Pyramide) nicht hinzugefügt. Das vermeidet leere Zweige im Objektmanager.
Schalten Sie diese Option erst ein, nachdem die Abfrage auf Syntaxfehler geprüft wurde und im Objektmanager fehlerfrei ausgeführt wird. Eine Abfrage, die einen Fehler enthält, liefert keine Ergebnisse; mit aktiver Option verschwindet sie daher aus dem Objektmanager, obwohl ihre Anzeigebedingungen erfüllt sind – was den Fehler schwer zu finden macht.
Sortierreihenfolge im GeoDin-Objektmanager
Abfragen werden standardmäßig in alphabetischer Reihenfolge angezeigt. Wenn Sie hier eine Zahl eingeben, wird eine explizite Position festgelegt; Benutzen Sie auf verschiedenen Systemabfragen unterschiedliche Zahlen, um sie relativ zueinander anzuordnen.
Anzeigeeigenschaften
Der Anzeigeeigenschaften Der Knoten legt fest, wie die Abfrageergebnisse im GeoDin-Objektmanager angezeigt werden und welche Methoden Verfügbar sind.
Zulassen Sie das Aufklappen von Ergebnis-Kindknoten im GeoDin-Objektmanager
Diese Option steuert, ob eine weitere vorhandene Systemabfrage als neuer Kindknoten an ein Ergebnisobjekt angehängt wird. Betrachten Sie zwei Objektarten mit einem Bezug zwischen ihnen, „Mitarbeiter“ und „Bohrloch“: Eine Systemabfrage listet alle Bohrungen auf, an denen ein Mitarbeiter gearbeitet hat, und eine zweite Systemabfrage unter dem Bohrloch zeigt den Mitarbeiter an, der daran gearbeitet hat. Mit aktiver Option würde das Aufklappen des Ergebnisses eine endlose Struktur erzeugen – Mitarbeiter, Bohrloch, Mitarbeiter, Bohrloch und so weiter. Ist die Option Ausgeschaltet, endet die Struktur bei den Bohrungen.
Erweitert: Objektansicht für Ergebnis-Kindknoten
Mit dieser Option werden die Ergebnisse von der Abfrage auf Messwerte und Verknüpfte Dokumente geprüft, was zu einer bestimmten Art der Anzeige führt. Auf stark großen ODER langsamen Datenbanken dauert dieses Testen Zeit, sodass die Option dort Ausgeschaltet werden kann.
Verfügbare Methoden
Hier definieren Sie, welche Methoden auf dem Knoten der Abfrage selbst oder auf den Ergebnisknoten (Objekt oder Messpunkte) Verfügbar sind. Ein Leer Feld bedeutet, dass GeoDin alle Norm-Methoden auf dem Knoten erlaubt. Die Eingabe einer kommaseparierten Liste von Methoden-Kennungen beschränkt den Knoten auf diese Methoden; jede GeoDin-Methode hat eine eindeutige Kennung, und die verfügbaren Nummern sind in der Sektion ExecuteMethod von der COM-API-Verfahren-Referenz.
Zum Beispiel eingeben 2,6 zeigt nur Grafik bearbeiten UND Lageplan auf dem Knoten und unterdrückt Methoden wie Profilschnitt, was für diese Objekte möglicherweise nicht möglich ist.
Darstellungsoptionen
Eine Abfrage kann im eingebetteten GIS als verwendete Schicht dienen - siehe Schichten hinzufügen. Die Darstellungsoptionen Der Knoten bestimmt, wie das Ergebnis der Abfrage dort angezeigt wird. Dadurch ist es möglich, eine Systemabfrage zu definieren, die nicht nur Bedingungen testet und Ergebnisse liefert, sondern bereits ihre Farben, Füllmuster und „allgemeine Einstellungen“ der Legende mit sich bringt.
Diese Einstellungen („allgemeine Einstellungen“) können stark komplex werden. Es ist normalerweise einfacher, sie im eingebetteten GIS mit dem integrierten Assistenten als erster Schritt beim Aufbauen zu erledigen und sie dann als Textblock Von den Layereigenschaften in den Zweig „Systemabfragen“ zum Kopieren zu übernehmen.
Zuletzt aktualisiert
War das hilfreich?