Startseite / Vorlagen (Grundlagen) / Aufbau von Vorlagen / Datenbank-Schemata / Schema hinzufügen

Neues Schema hinzufügen

In einem Datenbankschema wird festgelegt, welche Daten in einer Datenbank in welcher Form gespeichert werden und wie diese Daten in Beziehung zueinander stehen. Über den grafischen Editor im SiteArchitect können Datenbanktabellen mit den zugehörigen Spalten sowie die Beziehungen zwischen den einzelnen Tabellen modelliert werden.

Gemeinsamer Zugriff auf die Datenbank (nur lesend)

Um Datenbank-Inhalte in mehreren FirstSpirit-Projekten zu verwenden, muss ein gemeinsamer Zugriff in den Projekteinstellungen aller beteiligten Projekte konfiguriert werden. Dabei sollte sichergestellt werden, dass nur maximal ein Projekt schreibenden Zugriff auf die Datenbank erhält und für alle weiteren Projekte nur der gemeinsame, lesende Zugriff auf die entsprechenden Datenbank-Inhalte möglich ist. Das bedeutet, bei der Konfiguration des entsprechenden Datenbank-Layers muss die Checkbox „Schreibgeschützt“ und die Checkbox „Kein Schema Sync“ für diese Projekte aktiviert werden.

Durch die Einstellung „Kein Schema Sync“ wird sichergestellt, dass Änderungen am Datenbankschema nicht in die physikalische Datenbank übernommen werden. Durch Aktivieren der Checkbox „Schreibgeschützt“ wird ein gemeinsamer, schreibender Zugriff aus den Projekten in die Datenbank unterbunden. Auf die Datenbank-Inhalte kann dann in allen Projekten lesend zugegriffen werden (Sichten auf die Datenbank), das Ändern der Datenbankinhalte aus den Projekten heraus ist jedoch nicht möglich. 

Weiterführende Informationen siehe Datenbanken (→Dokumentation für Administratoren).

Schema anlegen

Das Anlegen eines neuen Schemas im SiteArchitect erzeugt – neben dem Hinzufügen eines Schema-Knotens unterhalb des Wurzelknotens „Datenbank-Schemata“ – eine neue Datenbank oder ein neues Datenbank-Schema in der – für das betreffende Projekt konfigurierten – Datenbank. Ist beispielsweise vom Projektadministrator die „Interne Datenbank (Derby)“ für das Projekt konfiguriert, wird über das Kontextmenü „Neu – Schema anlegen“ eine neue Datenbank innerhalb der internen Datenbank (Derby) erzeugt. (Das Verhalten ist abhängig von der Konfiguration des Datenbank-Layers zur Einstellung „Kein Schema-Sync“ – siehe Datenbank-Layer-Konfiguration (→Dokumentation für Administratoren).) Über die zugehörigen Tabellen in der Datenquellen-Verwaltung von FirstSpirit erhält der Redakteur Zugriff auf die Datenbank und kann in den betreffenden Tabellen Inhalte einpflegen, die in die Datenbank geschrieben werden (sofern die Datenbank vom Projektadministrator nicht als „schreibgeschützt“ definiert wurde).

Wird in FirstSpirit ein neues Schema für eine Datenquelle angelegt, so sollte im Vorfeld entschieden werden, in welcher Datenbank dieses im Produktivbetrieb abgelegt werden soll und welche Berechtigungen der von FirstSpirit verwendete DBMS Account im Produktivbetrieb haben soll. Eine spätere Umwandlung des Layer-Typen ist nicht ohne Weiteres möglich (vgl. Datenbank-Layer-Konfiguration (→Dokumentation für Administratoren)). Im Zweifelsfall sollte für jedes FirstSpirit-Schema im Projekt ein eigener Standard-Layer angelegt werden.

Wichtig Generell empfehlen wir, die Entwicklung stets in einer dem Produktivbetrieb entsprechenden Umgebung vorzunehmen. Insbesondere das in FirstSpirit enthaltene Derby-DBMS ist nicht für den Produktivbetrieb geeignet und sollte daher lediglich für Tests verwendet werden.

Um ein neues Schema zu erstellen, wird neben den (sprachabhängigen) Anzeige- und dem Referenznamen die Auswahl eines Datenbank-Layers benötigt:

Datenbank-Layer: Im Feld „Datenbank-Layer“ muss ein bestehender Datenbank-Layer zu einer Datenbank ausgewählt werden, in der die einzelnen Datenbanktabellen für dieses Schema gespeichert werden sollen. Dabei stehen so genannte „DBA-Layer“ und (optional) „Standard-Layer“ zur Auswahl:

  • Standard-Layer: Soll direkt auf einem vorhandenen Datenbank-Schema gearbeitet werden, muss ein Standard-Layer ausgewählt werden. Dieser Layer kann in mehreren FirstSpirit-Projekten verwendet werden, die alle Inhalte aus der gleichen Datenbank lesen. Damit es bei der Verwendung eines Standard-Layers nicht zu Überschneidungen kommt, sollte jeweils nur eines der beteiligten Projekte das Schreibrecht auf der Datenbank besitzen (s. o. „Gemeinsamer Datenbankzugriff“).
  • DBA-Layer: Wird ein DBA-Layer ausgewählt, wird beim Anlegen ein eigenes Schema bzw. eine eigene Datenbank für das jeweilige Projekt erstellt (beim ersten Sync). Eine Überschneidung beim Schreiben der Inhalte ist hier nicht möglich.
  • Neuer DBA-Layer: Ist für das Projekt noch kein Datenbank-Layer vorhanden, wird statt eines Datenbank-Layers der Eintrag „Neuer DBA-Layer“ angezeigt. Beim Bestätigen des Dialogs wird der neue Layer zusätzlich zu Schema bzw. Datenbank erzeugt.

Schema aus Datenbank erzeugen

Statt einen leeren Schemaknoten zu erzeugen, wird auf Basis der bereits vorhandenen Tabellen und Beziehungen einer Datenbank ein neuer Schemaknoten im FirstSpirit-Projekt angelegt. Das Anlegen des neuen Schemas aus einer Datenbank erfolgt über den Kontextmenüeintrag „Schema aus Datenbank erzeugen“.

Das Erzeugen eines neuen Schemas aus einer bestehenden Datenbank im SiteArchitect fügt einen neuen Schema-Knoten unterhalb des Wurzelknotens „Datenbank-Schemata“ ein. Dabei wird versucht, die vorhandenen Tabellen und Inhalte aus einer bestehenden Datenbank bzw. aus einem bestehenden Datenbank-Schema, automatisch in den grafischen Schema-Editor zu übernehmen (zu „Einschränkungen“ siehe Einschränkungen zu Datenbanksystemen (→Dokumentation für Administratoren)). Ist beispielsweise vom Projektadministrator eine externe Oracle-Datenbank für das Projekt konfiguriert, wird über das Kontextmenü „Neu – Schema aus Datenbank erzeugen“ ein Schema basierend auf der externen Datenbank erzeugt. Die zugehörigen Tabellen werden ebenfalls übernommen. Abhängig von der Datenbankkonfiguration erhält der Redakteur über die Datenquellen-Verwaltung lesenden Zugriff auf die Datenbank und kann Inhalte aus den betreffenden Tabellen auslesen und generieren.

Wichtig Die Struktur und die Inhalte einer externen Datenbank dürfen nicht verändert werden. Im Gegensatz zu internen Datenbanken, ist für externe Datenbanken nur ein lesender aber kein schreibender Zugriff möglich. Dazu müssen die Einschränkung „kein Schema Sync“ und „Schreibgeschützt“ vom Projektadministrator aktiviert werden. In diesem Fall können die Inhalte aus einem externen Schema ausgelesen und im FirstSpirit SiteArchitect als neuer Schemaknoten erzeugt werden. Über Tabellenvorlagen können die Inhalte anschließend in der Datenquellen-Verwaltung angezeigt (aber nicht verändert) werden.

Um ein neues Schema zu erstellen, werden folgende Eingaben benötigt:

Name des Datenbankschemas: In diesem Feld muss der Name für das Datenbank-Schema angegeben werden. Im Gegensatz zum Anlegen eines neuen, leeren Schemas kann der Name nicht frei gewählt werden, er muss stattdessen genau dem physikalischen Namen des Datenbankschemas (bzw. der Datenbank) entsprechen.

Wichtig Wird ein Name gewählt, der in der betreffenden Datenbank nicht vorhanden ist, dann wird ein leerer Schemaknoten angelegt. Es können in diesem Fall keine Inhalte (z. B. Tabellen) aus der gewählten Datenbank übernommen werden.

Datenbank-Layer: Im Feld „Datenbank-Layer“ muss ein bestehender Datenbank-Layer ausgewählt werden.

Wichtig Die Auswahl einer externen Datenbank steht nur zur Verfügung, wenn der Projektadministrator in den Projekteigenschaften den Zugriff auf eine externe Datenbank für das Projekt konfiguriert hat.
Bei Fragen zur Datenbank wenden Sie sich bitte an den Projekt- oder Systemadministrator.

Remote-Datenquellen

Unter Verwendung der Remote-Datenquellen-Funktionalität können Inhalte von einem Quellprojekt auf mehrere Zielprojekte verteilt werden. Im Gegensatz zum Multisite-Management wird hier eine einzige Datenquelle verwendet, um die Daten zu verwalten. Der Inhalt kann daher nur im Quellprojekt bearbeitet werden. Um den Inhalt in Zielprojekten zu verwenden, muss eine schreibgeschützte Datenbank im Zielprojekt eingebettet werden. Nach der Bearbeitung des Inhalts im Quellprojekt werden alle Zielprojekte automatisch aktualisiert.

Remote-Datenquellen decken daher Anwendungsfälle ab, in denen Inhalte in einem einzigen Projekt verwaltet, aber in mehreren Projekten ohne Änderungen verwendet werden sollen.

Remote-Datenquellen bieten mehrere Vorteile:

  • Eine "Single Source of Truth" gewährleistet die einheitliche Nutzung von Daten in mehreren Projekten.
  • Es ist keine Implementierung erforderlich, um Inhalte in Zielprojekten zu aktualisieren.
  • Zielprojekte werden automatisch von FirstSpirit auf dem neuesten Stand gehalten.

Um ein Datenschema als "Single Source of Truth" zu verwenden, muss es innerhalb des Quellprojekts in dem Standard-Datenbank-Layer gespeichert werden.

Wichtig Für Cloud-Kunden bietet FirstSpirit zwei Datenbank-Layer an:

  • FirstSpiritDBA
  • FirstSpiritDBS1

Cloud-Kunden sollten Datenschemata, die als "Single Source of Truth" für Remote-Datenquellen dienen, im DBS1-Layer speichern.

Im Zielprojekt muss der Standard-Datenbank-Layer als schreibgeschützt konfiguriert werden. Außerdem muss die Checkbox "Kein Schema Sync" im ServerManager aktiviert werden.

Die Verbindung zwischen dem Datenschema im Quellprojekt und dem Zielprojekt wird durch das Importieren des Schemas in das Zielprojekt im SiteArchitect hergestellt. Das Datenschema und die Tabellenvorlagen werden damit in die Zielprojekte kopiert, können jedoch in den Zielprojekten nicht bearbeitet werden.

Informationen darüber, ob ein Schema importiert oder als Quelle verwendet wird, finden sich im Tab Eigenschaften.

Für Projekte, auf die der Benutzer keine Rechte hat, wird **Kein Zugriff** angezeigt.

Danach muss eine Datenquelle erstellt werden, basierend auf dem importierten Schema. Hierbei muss darauf geachtet werden, dass der Referenzname der neu erstellten Datenquelle und der Referenzname der Datenquelle im Quellprojekt identisch sind. Der Suchindex und der Referenzgraph müssen nach Erstellung der Datenquelle im Zielprojekt entsprechend initial neu aufgebaut werden. Alle inhaltlichen Änderungen, die von nun an im Quellprojekt vorgenommen werden, werden automatisch in allen Zielprojekten angewendet.

Wichtig Änderungen am Schema im Quellprojekt müssen manuell in allen Zielprojekten angepasst werden.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.12 | Datenschutz