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.
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 „Standard-Datenbank“ für das Projekt konfiguriert, wird über das Kontextmenü „Neu – Schema anlegen“ eine neue Datenbank innerhalb der Standard-Datenbank (Derby) erzeugt. (Das Verhalten ist abhängig von der Konfiguration des Datenbank-Layers – siehe FirstSpirit Handbuch für Administratoren zur Einstellung „Kein Schema-Sync“.) Ü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. FirstSpirit Handbuch für Administratoren). Im Zweifelsfall sollte für jedes FirstSpirit-Schema im Projekt ein eigener Standard-Layer angelegt werden.
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 in die gleiche Datenbank schreiben bzw. Inhalte daraus 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.
- 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 JavaClient 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 FirstSpirit Handbuch 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.
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 JavaClient 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.
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.
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. |