Mit einer Datenbankansicht verbinden
Data source: MainCommunity Edition+Einführung
Verbindet Ansichten in der Datenbank, zum Beispiel von DBAs gepflegte Ansichten für Finanzberichte, gefilterte Kundenansichten oder aggregierte Ansichten nach der systemübergreifenden Synchronisierung. Dies eignet sich zur Wiederverwendung der bereits in der Datenbank definierten Abfragelogik.
Unterstützt werden normale Ansichten im Bereich des Besitzers des Verbindungskontos der Hauptdatenbank. Materialisierte Ansichten werden nicht unterstützt. Auch wenn das Konto über Abfrageberechtigungen für Ansichten anderer Besitzer verfügt, werden diese Ansichten nicht in der Liste der verfügbaren Verbindungen angezeigt. Vor der Verbindung muss bestätigt werden, dass die Ansichtsfelder stabile Spaltennamen besitzen und die Feldtypen von NocoBase erkannt werden können.
Mit einer Datenbankansicht verbinden
- Klicken Sie im Menü „Datenquellen“ unter den Systemfunktionen auf die Datenquellen-Startseite.
- Wählen Sie in der Datenquellenliste die Datenquelle Main aus und klicken Sie auf „Configure“, um auf die Hauptdatenbank zuzugreifen.
- Klicken Sie in der Verwaltung der Hauptdatenbank auf „Create collection“ und wählen Sie „Connect to database view“.

Source collections wird aus der Datenbankansicht abgeleitet. Dabei werden die vorhandenen Datentabellen ermittelt, aus denen die Felder in der view hauptsächlich stammen, und die Auswahl von Field source bei der Feldzuordnung eingeschränkt.
Das Ergebnis dient der Unterstützung bei der schnellen Konfiguration. Bei umbenannten, berechneten oder aggregierten Feldern sowie komplexen Joins in der view kann das Ergebnis ungenau sein oder es kann keine Zuordnung ermittelt werden. In diesem Fall muss die Zuordnung unter Fields manuell bestätigt werden.
Feldzuordnung
Die Feldzuordnung ist eine Konfiguration, die nach der Verbindung mit einer Datenbankansicht bestätigt werden muss. Nach der Verbindung mit der view ermittelt NocoBase zunächst die Quelle und den Datenbanktyp jedes Ansichtsfeldes. Wenn ein Quellfeld erkannt wird, werden Field type, Field interface und Field display name des vorhandenen Feldes automatisch übernommen. Andernfalls wird anhand des Datenbankfeldtyps ein initialer Field type festgelegt; Feldtyp und Oberflächenkonfiguration müssen manuell bestätigt werden. Weitere Informationen zur Feldkonfiguration

Wenn die Ansicht beispielsweise customer_name zurückgibt und dieses Feld aus dem Feld „Kundenname“ der Kundentabelle stammt, kann es dem entsprechenden Feld der Kundentabelle zugeordnet werden. Dadurch kann NocoBase den ursprünglichen Titel, Typ und die Oberflächenkonfiguration des Feldes übernehmen.
Wenn ein Ansichtsfeld aus einem Aggregations- oder Berechnungsergebnis stammt, zum Beispiel count(*) as total oder sum(amount) as amount_total, müssen Field type und ein passendes Field interface normalerweise manuell ausgewählt werden.
Field source stammt aus der von NocoBase vorgenommenen Ermittlung für Datenbankansichten und gibt an, welchem vorhandenen Feld ein Ansichtsfeld möglicherweise entspricht. Wenn ein Feld über Field source verfügt, verwendet NocoBase bevorzugt den Field type und das Field interface des Quellfeldes wieder.
Wenn das Quellfeld nicht ermittelt werden kann oder das Ermittlungsergebnis nicht der fachlichen Bedeutung entspricht, muss Field source entfernt und Field type sowie Field interface und Field display name manuell ausgewählt werden.
Eindeutiger Bezeichner eines Datensatzes
Für Datenbankansichten muss ein Record unique key konfiguriert werden. Andernfalls können auf Seiten keine Blöcke erstellt und Datensätze nicht korrekt angezeigt oder bearbeitet werden. Als eindeutiger Bezeichner kann ein einzelnes Feld oder eine Kombination mehrerer Felder ausgewählt werden. Geeignete Felder für den Record unique key erfüllen normalerweise folgende Bedingungen:
- Der Feldwert ist eindeutig.
- Der Feldwert ist stabil und ändert sich nicht durch Änderungen an Sortierung, Seitennavigation oder Auswertungslogik.
- Das Feld ist nicht leer.
- Das Feld wird in der view immer zurückgegeben.
Wenn die view aus einer Abfrage einer einzelnen Tabelle stammt, sollte bevorzugt der Primärschlüssel der ursprünglichen Tabelle zurückgegeben werden. Wenn die view aus einem Join mehrerer Tabellen oder einer Aggregation stammt, kann in der Datenbankansicht eine stabile fachliche ID beibehalten oder von der Datenbankseite ein stabiles eindeutiges Feld erzeugt werden.
Hinzufügen, Aktualisieren und Löschen erlauben
Wenn die Datenbank- view Schreibvorgänge unterstützt, kann „Allow add new, update and delete actions“ aktiviert werden. NocoBase erlaubt dann auf der Seite das Hinzufügen, Aktualisieren und Löschen von Datensätzen in dieser Ansicht.
Datenbankansichten eignen sich eher als Abfrageergebnisse und werden standardmäßig als schreibgeschützte Datentabellen behandelt. Die Option sollte nur aktiviert werden, wenn bereits bestätigt wurde, dass die Datenbank- view die entsprechenden Schreibvorgänge unterstützt und die Datenbankberechtigungen Schreibzugriffe erlauben.
Ergebnisse der Ansicht in der Vorschau anzeigen
Verwenden Sie vor dem Absenden Preview, um die Abfrageergebnisse der Ansicht zu prüfen. Achten Sie bei der Vorschau insbesondere auf folgende Punkte:
- Kann die view normal abgefragt werden?
- Sind alle Felder vorhanden?
- Entsprechen Feldtyp und Oberflächentyp der fachlichen Bedeutung?
- Ist ein Record unique key vorhanden und sind die Daten eindeutig?
- Müssen nicht unterstützte Feldtypen auf der Datenbankseite angepasst werden?

Felder konfigurieren
Nach dem Erstellen einer Datenbankansicht können Sie in der Datentabellenliste rechts neben der Ansicht auf „Configure fields“ klicken, um die Feldkonfigurationsseite zu öffnen. Die Feldkonfiguration dient dazu, die Felder der Ansicht zu verwalten, ihre Darstellung in der Benutzeroberfläche festzulegen und die Datenbankfelder der view den Field types und Field interfaces von NocoBase zuzuordnen.
Normale Felder einer Datenbankansicht stammen aus der Datenbank- view. NocoBase fügt keine tatsächlichen Spalten direkt in der view hinzu, ändert oder löscht sie. Auf der Feldkonfigurationsseite können nur Viele-zu-eins-Beziehungsfelder hinzugefügt werden, um geschäftliche Verknüpfungen in NocoBase zu ergänzen. Datenbankansichten können nicht als Zieldatentabellen von Beziehungsfeldern verwendet werden; ein Titelfeld muss normalerweise nicht konfiguriert werden.
Weitere Informationen zur Feldkonfiguration

Beziehungsfeld hinzufügen
Zu einer Datenbankansicht können nur Viele-zu-eins-Beziehungsfelder hinzugefügt werden. Ein Viele-zu-eins-Beziehungsfeld kann ein vorhandenes Feld der view dem Primärschlüssel oder einem eindeutigen Feld der Zieldatentabelle zuordnen, um verknüpfte Datensätze auf der Seite anzuzeigen. In der Datenbank- view werden dabei jedoch weder ein tatsächliches Feld noch eine Fremdschlüsselbeschränkung erstellt.
Klicken Sie auf „Add field“, um ein Viele-zu-eins-Beziehungsfeld hinzuzufügen.
Weitere Informationen zur Feldkonfiguration

Feldzuordnung
Nach der Verbindung mit einer Datenbankansicht ermittelt NocoBase anhand der view-Felder und Quellfelder den Field type und ordnet ein standardmäßiges Field interface zu. Wenn Quelle, Darstellung oder fachliche Bedeutung des Feldes nicht den Erwartungen entsprechen, kann die Zuordnung in der Feldkonfiguration angepasst werden.
Weitere Informationen zur Feldkonfiguration

- Field interface (Oberflächentyp / UI-Typ): Legt fest, wie ein Feld im Frontend angezeigt wird und mit ihm interagiert wird, zum Beispiel „Einzeiliger Text“, „Zahl“, „Dropdown-Menü“ oder „Datum und Uhrzeit“. Es handelt sich um eine feldbezogene Klassifizierung aus Benutzersicht.
- Field type (Datentyp): Legt fest, wie NocoBase den Datentyp eines Feldes erkennt. View-Felder ohne Quellfeld werden normalerweise aus dem Datenbankfeldtyp abgeleitet, zum Beispiel
string,integer,decimal,boolean,datetimeusw.
Das Anpassen von Field source, Field type oder Field interface entspricht nicht der Änderung des Feldtyps der Datenbank- view. Es beeinflusst hauptsächlich die Darstellungsweise auf Seiten, die Validierungsregeln und die Art, wie NocoBase das Feld erkennt.
Mit der Datenbank synchronisieren
Wenn die Feldstruktur der view auf der Datenbankseite geändert wurde, können Sie „Configure fields“ öffnen und auf „Sync from database“ klicken, um die Feldstruktur erneut einzulesen. Nach der Synchronisierung aktualisiert NocoBase die Felder: Neue Felder aus der view werden hinzugefügt, aus der view entfernte Felder bereinigt und Feldtypen sowie Feldquellen erneut bestätigt.

Eine Umbenennung von Feldern wird bei der Synchronisierung normalerweise als „altes Feld löschen + neues Feld hinzufügen“ behandelt. Prüfen Sie vor der Synchronisierung, ob das alte Feld bereits von Seiten, Berechtigungen, Workflows oder externen APIs verwendet wird, um Konfigurationsfehler nach der Synchronisierung zu vermeiden. Prüfen Sie anschließend erneut Field type und Field interface.
Feld bearbeiten
Klicken Sie rechts neben einem Feld auf „Edit“, um die Feldkonfiguration zu bearbeiten. Das Bearbeiten eines Feldes eignet sich zum Anpassen der Darstellung und Verwendung des Feldes in NocoBase, zum Beispiel zum Ändern des Anzeigenamens, der Beschreibung, der Validierungsregeln oder feldspezifischer Einstellungen. Weitere Informationen zur Feldkonfiguration

Das Bearbeiten der Feldkonfiguration ändert weder die tatsächlichen Spaltennamen und Feldtypen der Datenbank- view noch SQL-Ausdrücke oder Indizes. Wenn die tatsächliche Struktur der view angepasst werden muss, ändern Sie die view zuerst auf der Datenbankseite und synchronisieren Sie sie anschließend mit „Sync from database“.
Feld löschen
Klicken Sie rechts neben einem Feld auf „Delete“, um ein einzelnes Feld zu löschen. Beim Löschen wird nur das in NocoBase gespeicherte Feld entfernt; die tatsächliche Spalte der Datenbank- view wird nicht gelöscht.
Weitere Informationen zur Feldkonfiguration

Das Löschen eines Feldes kann Seitenblöcke, Filterbedingungen, Sortierungen, Berechtigungen, Workflows, APIs und vorhandene Konfigurationen beeinflussen. Prüfen Sie daher vor dem Löschen, ob das Feld noch verwendet wird. Wenn die Datenbank- view diese Spalte weiterhin zurückgibt, erkennt NocoBase das Feld möglicherweise bei einer späteren Ausführung von „Sync from database“ erneut.
Ansicht bearbeiten
Die SQL-Definition einer Datenbankansicht wird auf der Datenbankseite gepflegt. Klicken Sie in der Datentabellenliste rechts neben einer Datenbankansicht auf „Edit“, um die Metadaten und Laufzeiteinstellungen der Datenbankansicht in NocoBase anzupassen. Die view in der Datenbank wird dabei nicht geändert. Wenn eine Verbindung zu einer anderen Datenbank- view hergestellt werden soll, wird empfohlen, eine neue Datentabelle für die Datenbankansicht zu erstellen.

Nach der Änderung von Record unique key oder Allow add new, update and delete actions müssen Sie prüfen, ob Seitenblöcke, Berechtigungen und Workflows weiterhin den Erwartungen entsprechen.
Ansicht löschen
Klicken Sie in der Datentabellenliste rechts neben einer Datenbankansicht auf „Delete“, um die Datentabelle der Datenbankansicht zu löschen. Dabei werden nur die Verbindungs- und Feldkonfigurationen in NocoBase gelöscht; die view in der Datenbank bleibt erhalten.
Datenbankansichten in der Hauptdatenbank können ebenfalls ausgewählt und gemeinsam gelöscht werden. Prüfen Sie vor dem Löschen, ob Seitenblöcke, Diagramme, Berechtigungen, Workflows oder externe APIs diese Datentabelle der Datenbankansicht noch verwenden.


