Der Datenbankexplorer, kurz DB-Explorer, ist ein Werkzeug, um Informationen zu Tabellen und Feldern der NTCS zu erhalten. Er dient dazu, Tabellen einzusehen und deren Inhalte zu prüfen.
Aus Sicherheitsgründen steht der Datenbankexplorer nur für die Benutzer ADMIN und BMD sowie für alle Benutzer der Gruppe BMD zur Verfügung.
Die BMD Datenbank ist in einzelne Schemen gegliedert - diese Schemen entsprechen ungefähr den Paketen in der NTCS.
Es werden alle Tabellen der Datenbank aufgelistet. Um nach Tabellen zu suchen, bei denen das Kürzel (3-stelliger alphanumerischer Code) bereits bekannt ist, kann ''Gesamte Datenbank'' unter ''Ansicht'' ausgewählt werden.
Beispiel | Es wird nach der Tabelle PER gesucht. Dazu wird im Suchfeld am besten ''.PER_'' eingegeben. Würde nur ''PER'' ohne Punkt oder Unterstrich gesucht werden, wird z. B. auch BUERO.PFP_VIEW_PER_FIW_PROXY gefunden.
|
Reiter ''Felder''
Hier können die Primary-Keys, Foreign-Keys, Datentypen sowie eine kurze Beschreibung zum jeweiligen Feld angesehen werden.
Beschreibung:
- Schlüssel, der nach unten zeigt: Kennzeichnet jene Felder, die als Primary-Key dienen.
- Schlüssel, der seitwärts zeigt: Kennzeichnet jene Felder, die zur Verknüpfung auf andere Tabellen verwendet werden.
Reiter ''Daten''
Es können die Datensätze eingesehen und gefiltert werden.
Reiter ''Index''
In diesem Reiter ist eine Liste der indizierten Felder dargestellt. Eine Filterung der angegebenen Feldkombinationen ist performanter.
Reiter ''Constraints''
Die Inhalte dieses Reiters beziehen sich nicht auf die Constraints laut MS-SQL-Definition, sondern auf Constraints, welche die BMD Programmierung festgelegt hat.
Die Zusammenhänge zwischen den einzelnen Tabellen findet man hier oder im Reiter "Abhängigkeiten".
Reiter ''Objekte''
In diesem Reiter ist eine Liste aller Objekte des Schemas zu finden. Diese Liste ist unabhängig von der markierten Tabelle. Es werden immer alle Objekte angezeigt. Hier sind Views und Funktionen gelistet.
Die Detailreiter im Datenbankexplorer beinhalten folgende Funktionen:
- Tabellenbeschreibung aus Onlinehilfe
- Beschreibung des Feldes aus Onlinehilfe = Feldhilfe
- Beschreibung der Tabelle für Entwickler
- Beschreibung der Felder für Entwickler
Jede Tabelle enthält zumindest ein Feld, welches als Primärschlüssel oder Primary Key definiert ist (PK). Schlüssel können aus mehreren Feldern bestehen. Der Primärschlüssel gibt an, durch welche Felder ein Datensatz eindeutig identifiziert werden kann. Alle anderen Felder der Tabelle beziehen sich auf diesen Primärschlüssel.
Ist ein Feld ein Fremdschlüssel oder Foreign Key (FK), verweist es auf einen Primärschlüssel einer anderen Tabelle. Ein Fremdschlüssel hat die gleiche Struktur wie der Primärschlüssel, auf den er verweist, und kann daher ebenfalls aus mehreren Feldern bestehen.
Die Personentabelle enthält eine Vielzahl an Feldern sowie Beziehungen zu anderen Tabellen. Der Primärschlüssel der Tabelle BUERO.PER_PERSON besteht aus der Firmennummer (PER_FIRMENNR) und der Personen-ID (PER_PERSONENID). Nur die Personen-ID allein ist nicht eindeutig, da es in verschiedenen Firmen Personen mit derselben Personen-ID geben kann. Es ist bei der Herstellung von Beziehungen notwendig, immer darauf zu achten, alle Schlüsselfelder zu berücksichtigen, da sonst keine eindeutige Zuordnung möglich ist.
Mithilfe des Primärschlüssels (Primary Key, PK) einer Tabelle kann ein Datensatz eindeutig identifiziert werden. Der Primärschlüssel kann sich aus mehreren Feldern zusammensetzen.
Beispiel | Der Mitarbeiter Manfred Krug arbeitet in Firma 1 und hat die Mitarbeiternummer 1. Sein Eintrag in der Tabelle BUERO.PER_PERSON sieht folgendermaßen aus:
Über die Firmen-Nr. (PER_FIRMENNR) und die Personen-ID (PER_PERSONENID) ist er eindeutig als Manfred Krug identifizierbar. Es gibt keinen anderen Mitarbeiter in dieser Firma mit der gleichen ID, da diese zwei Felder den Primärschlüssel bilden.
|
Ein Fremdschlüssel (Foreign Key, FK) einer Tabelle verweist auf einen eindeutigen Datensatz in einer anderen Tabelle.
Dabei werden die Felder des Primärschlüssels der Zieltabelle für den Fremdschlüssel verwendet. Der Fremdschlüssel kann sich ebenfalls aus mehreren Feldern zusammensetzen.
Beispiel | Der Mitarbeiter Manfred Krug hat auch eine Adresse hinterlegt. Diese liegt aber nicht auf der Personentabelle, sondern auf der Adressentabelle BUERO.ADR_ADRESSE. Der Primärschlüssel dieser Tabelle ist das Feld ADR_ADRESSLFDNR. Um von der Personentabelle auf die Adresstabelle eindeutig zu verknüpfen, muss also auf der Personentabelle ein Feld ADRESSLFDNR existieren. Das ist auch der Fall, mit dem Fremdschlüssel-Feld PER_ADRESSLFDNR.
Möchte man die Anrede zu einer Person ermitteln, muss auf die Tabelle BUERO.ANR_ANREDE zugegriffen werden. Diese steht jedoch nicht direkt mit der Personentabelle in Beziehung. Um die Beziehung herzustellen, muss ein Umweg über die Adresstabelle gegangen werden. Die Tabelle PER_PERSON enthält das Feld PER_ADRESSLFDNR, das eindeutig einen Adressdatensatz verweist. In der Tabelle "Adresse" verweist der Fremdschlüssel ADR_ANREDENR auf die Tabelle ANR_ANREDE. Abbildung 3 zeigt den Zusammenhang dieser Tabellen.
|
Ein Datensatz einer Tabelle kann eindeutig durch den Primärschlüssel (Primary Key, PK) identifiziert werden. Eine Tabelle kann eine beliebige Anzahl an Fremdschlüsseln (Foreign Key, FK) enthalten, welche auf eindeutige Datensätze in anderen Tabellen referenzieren. Ein Fremdschlüssel ist der Primärschlüssel in der Zieltabelle. Um eine eindeutige Zuordnung zwischen Tabellen zu erhalten, sind Verknüpfungen immer über den gesamten Schlüssel (also alle Schlüsselfelder) zu erstellen.
Über die Namensgebung kann die Herkunft eines Feldes bestimmt werden. Dazu werden drei Zeichen des Quell-Tabellennamens als Kürzel vor jeden Feldnamen gestellt (Präfix). Ein Schema dient als weitere Untergliederung von Tabellen, wobei in der NTCS meist die Paketbezeichnungen als Schemanamen verwendet werden (BUERO, WWS, FIBU, KORE etc.).
Der Tabellenname besteht aus einem dreistelligen Kürzel des Tabellennamens und der Tabellenbezeichnung selbst.
Das dreistellige Kürzel wird jedem Feldnamen vorangestellt. Dadurch kann an jedem Feld erkannt werden, aus welcher Tabelle es stammt.
In der NTCS Feldauswahl wird auch noch die Art des Feldes angegeben. Dazu ist ein weiteres dreistelliges Kürzel vorangestellt.
- MCA: Normales Feld direkt aus Tabelle
Beispiel: MCA_PER_GEBURTSDATUM
- MCU: Berechnetes Feld
Auf berechnete Felder kann keine Sortierung und keine Suche ausgeführt werden.
Beispiel: MCU_PER_ALTER ist ein berechnetes Feld, weil es über das Geburtsdatum berechnet wird.
Es existiert nur in der NTCS, aber nicht in der Datenbank.
- MCV: Feld stammt aus einer View
Views sind Tabellen, die ihre Felder aus anderen Tabellen beziehen. Diese werden in der NTCS benötigt, um eine Tabelle auf zwei verschiedene Schlüssel zu laden [b1] . Von der Tabelle PER_PERSON gibt es mehrere Kopien als Views. Diese heißen z.B.: BUERO.VP1_V_PER_PERSON.
Beispiel | Der Auftrag hat einen Rechnungsempfänger und einen Lieferempfänger. Der Name liegt in der Tabelle PER_PERSON im Feld PER_NAME. Dieses Feld wird z. B. auf den Rechnungsempfänger verknüpft. Für den Lieferempfänger wird eine View der Person verknüpft (VP1_V_PER_PERSON) und der Name wird aus dem Feld VP1_PER_NAME herangezogen. |
Erläuterung zu Abbildung 1:
- Die rot markierten Präfixe geben an, wie das Feld ermittelt worden ist.
- Die blau markierten Präfixe geben an, zu welcher Tabelle die Felder gehören.
- Die grün markierten Präfixe geben an, um welche View es sich handelt (VP1 = View Person 1). Diese zusätzlichen Präfixe kommen nur vor, sofern es sich um ein MCV-Feld handelt.