Show/Hide Toolbars

Navigation: Datenbankstrukturen

Erweiterung der Struktur

Scroll Zurück Hoch Weiter Mehr

Mit Docusnap können bei Bedarf die bestehenden Tabellenstrukturen erweitert werden. Dieses Ziel kann mithilfe der Docusnap Administration durch Klick auf die Schaltfläche Tabellen verwalten, erreicht werden.

Docusnap-Extras-Metatabellen-verwalten

In dieser Registerkarte werden alle Beschreibungen zur Datenbankstruktur von Docusnap angezeigt. Auf der linken, oberen Seite sind die Details zu der unterhalb ausgewählten Tabelle aufgelistet. Auf der rechten Seite können die jeweiligen Einstellungen für die Datenfelder der Tabelle vorgenommen werden.

 

Grundsätzlich wird innerhalb von Docusnap zwischen drei verschiedenen Typen von Tabellen unterschieden:

Tabelle

Tabellen sind real in der Datenbank vorhandene Tabellen, die für die Verwendung in Docusnap hier beschrieben werden. Alle Tabellen beginnen mit dem Präfix "t".

Sicht

Sichten sind Tabellen, die durch einen SQL-Select-Befehl generiert werden. Sichten können Daten aus mehreren Tabellen enthalten. Die SQL-Befehle können durch Platzhalter (z.B. FilterID) ergänzt werden, die Docusnap zur Laufzeit mit den richtigen Werten befüllt. Alle Sichten beginnen mit dem Präfix "v".

Virtuell

Virtuelle Tabellen werden zur Formatierung von Tabellen verwendet, die z.B. in den Docusnap-Assistenten benutzt werden. Außerdem werden sie im Baum verwendet, um Daten aus verschiedenen Datenbanktabellen in einer Tabelle ausgeben zu können. Alle Virtuellen Tabellen beginnen mit dem Präfix "i".

 

Eigenschaften für alle Tabellen

Für die Definition einer Tabelle müssen verschiedene Eigenschaften definiert werden. Die Anzahl der möglichen Eigenschaften hängt vom Typ der Tabelle ab. Folgende Eigenschaften sind bei allen Tabellen verfügbar bzw. zu befüllen:

Eigenschaft

Beschreibung

Tabellenname

Eindeutiger Name der Tabelle

Je nach ausgewähltem Typ der Tabelle werden die Präfixe i,v oder t verwendet. Tabellen, die nicht durch den Hersteller definiert wurden, erhalten zusätzlich das Präfix x (z.B. xtSLA).

Primärschlüssel

Ein Feld in der Tabelle, das jeden Datensatz eindeutig identifiziert. Innerhalb Docusnap sind dies im Normalfall Felder vom Typ LONG und Auto-Inkrementfelder.

Fremdschlüssel

Das Feld, das die Beziehung zu einer anderen Tabelle in der Hierarchie höher darstellt.

Anzeigefeld

Das Feld in der Tabelle, das zur Ausgabe der Textwerte in den Hierarchien (z.B. Datenexplorer, Berechtigungsanalyse usw.) verwendet wird.

Vergleichsfeld

Für den Datenvergleich wird ein Feld benötigt, das zwischen zwei Snapshots zur Identifizierung von zwei Datensätzen herangezogen werden kann. Ein sinnvolles Feld kann hier z.B. eine Seriennummer oder ein Rechnername sein.

Name englisch, Name deutsch

Bezeichnung der Tabelle in der jeweiligen Sprache.

Docusnap-Konvention-Warnung

Achtung: Die Felder Primärschlüssel, Fremdschlüssel, Anzeigefeld und Vergleichsfeld können erst ausgewählt werden, nachdem Felder für die Tabelle angelegt wurden. Dazu muss zuerst die Tabelle ohne die genannten Eigenschaften gespeichert werden. Anschließend werden die Felder angelegt und im letzten Schritt müssen die vier genannten Felder befüllt werden.

Eigenschaften für Sichten

Sichten sind Tabellen, die auf Basis eines SQL-Select-Befehles gebildet werden. Docusnap unterstützt dies mit einer Vielzahl von Variablen, die vor der Ausführung des Select-Befehles ersetzt werden.

Der Select-Befehl hat im Wesentlichen folgende Syntax:

 

SELECT [DISTINCT] Auswahlliste FROM Quelle [WHERE Where-Klausel]

[GROUP BY (Group-by-Attribut)+

[HAVING Having-Klausel]]

[ORDER BY (Sortierungsattribut [ASC|DESC])+];

 

Im Prinzip sind alle gültigen Varianten nach dem SQL-Standard möglich.

Docusnap bietet folgende Variablen zur Verwendung in den Befehlen an. Wichtig dabei ist, dass die Variablen immer durch eine Klammerung {Variable} eingefasst werden.

Variable

Beschreibung

{FilterID}

Die Variable FilterID wird immer durch den Primärschlüssel des übergeordneten Objektes ersetzt.

Beispiel:

Der Befehl in Docusnap

select * from thosts where domainid = {FilterID} order by hostname

 

ergibt bei der Ausführung z.B.

select * from thosts where domainid = 1 order by hostname

 

{LANGUAGEID}

Die Variable wird durch den Integer-Code für die jeweilige Sprache ersetzt.

Deutsch = 0

Englisch = 1

{Feldname}

Über diese Konstruktion kann auf jedes Datenfeld in einem übergeordneten Datenobjekt zugegriffen werden.
Achtung: Dies funktioniert nur bei Datenobjekten und nicht bei Überschriften.

 

Der jeweilige SQL-Befehl kann direkt in das Feld SQL-Statement eingegeben werden, in dem der Befehl eingegeben oder editiert werden kann.

Da bei SQL-Select-Befehlen mehrere Tabellen miteinander verbunden werden können, weiß Docusnap im Falle eines Löschkommandos nicht, auf welche Tabelle sich der Primärschlüssel bezieht. Durch das Feld Primäre Tabelle kann die Tabelle angegeben werden, in der der Datensatz gelöscht werden soll. Wenn in dieses Feld keine Daten eingegeben werden, ist ein Löschen von Metaobjekten, die sich auf diese Tabelle beziehen, nicht möglich.

SNMP-Statements

Zusätzlich zu der Verwendung von SQL-Statements für die Ausgabe von Tabellen bietet Docusnap eine Sonderform für die Ausgabe von SNMP Tabellen. Bei der SNMP-Inventarisierung werden MIBs verwendet. Um die Ergebnisse auszugeben, werden in das Feld SQL-Statement zuerst der Text SNMP: geschrieben und anschließend in Klammern die MIB und mit Beistrich getrennt die Bezeichnung. Die MIBs werden durch Strichpunkte getrennt.

Dadurch ergibt sich folgende Syntax:

 

SNMP:(1.3.6.1.2.1.4.20.1.1,IPAddress;1.3.6.1.2.1.4.20.1.3,SubnetMask;1.3.6.1.2.1.4.20.1.2,InterfaceID)

 

Um Werte auszugeben, die für jedes SNMP-Gerät nur einmal vorkommen, wird das Statement mit SNMP-Single begonnen.

Dafür wird diese Syntax verwendet:

 

SNMP-Single: (1.3.6.1.2.1.43.8.2.1.14.1.1,Manufacturer;1.3.6.1.2.1.43.5.1.1.17.1,SerialNumber)

 

 

Wird für einen Wert eine Division zweier Spalten benötigt, wie z.B. beim Stand des Toners, werden die beiden MIBs der Spalten mit einem Schrägstrich getrennt und bei der Ausführung des Statements wird der Quotient in dieser Spalte ausgegeben.

Das Statement hat folgende Syntax:

 

SNMP-Single: (1.3.6.1.2.1.43.11.1.1.9.1.1/1.3.6.1.2.1.43.11.1.1.8.1.1,TonerBlack)

 

Anschließend werden die Spalten der Tabelle angelegt. Als Feldname wird die Bezeichnung verwendet, die im Statement für diese MIB verwendet wurde.

IT Asset Statements

Es ist möglich IT Assets an einer beliebigen Stelle im Baum auszugeben, zum Beispiel unterhalb eines Kontakts, dem sie zugewiesen wurden. Dafür muss eine Sicht mit SQL Statement erstellt werden das alle benötigten ObjectIDs auflistet. Der PropertyName wird mit dem Namen der Eigenschaft abgeglichen und der ObjectValue mit dem Primärschlüssel des übergeordneten Objekts. Da die Spalte ObjectValue vom Typ Text ist, muss die {FilterID} mit ' ' als Text angegeben werden. Durch eine Abfrage auf die {AccountID} kann gefiltert werden, dass nur Daten der jeweiligen Firma angezeigt werden. Im SQL Statement muss nur die ObjectID enthalten sein und die ObjectID muss als Spalte angelegt werden. Anschließend kann diese Sicht für ein Metaobjekt gewählt werden um die IT Assets anzuzeigen. Das folgende SQL Statement kann als Basis für das IT Asset Statement verwendet werden.

select tGOValue.ObjectID

from tGODirectory, tGO, tGOValue, tGOProperty

where tGODirectory.DirectoryID = tGO.DirectoryID and

tGO.ObjectID = tGOValue.ObjectID and

tGOValue.PropertyID = tGOProperty.PropertyID

and tGOProperty.PropertyName = 'Name of the Property' and

tGOValue.ObjectValue = '{FilterID}' and

tGODirectory.AccountID = {AccountID}

 

Datenfelder

Datenfelder stellen in einer Tabelle die verschieden Spalten dar. Den Feldern werden in Docusnap bestimmte Typen zugewiesen und auch die sprachliche Darstellung (Deutsch oder Englisch) erfolgt auf Basis dieser Metabeschreibung.

Eigenschaft

Beschreibung

Feldname

Hier wird ein eindeutiger Feldname vergeben. Verweisfelder sollten immer auf der Endung ID enden, um sie besser identifizieren zu können.
Felder, die nicht vom Hersteller definiert werden, erhalten als Präfix ein x, um Namenskollisionen zu vermeiden.

Datentyp

Typ des Feldes

Blob

Binärfeld zur Speicherung von Binärdaten wie z.B. Anlagen

Boolean

Ja/Nein-Feld

Byte

Nummerisches Ganzzahlfeld mit Werten von 0 bis 255

Date

Datumsfeld

Decimal

Dezimalfeld für Gleitkommazahlen

GUID

GUID-Wert

Kombination

Feld zur Kombination von mehreren Feldern. Feldnamen werden mit @-Zeichen identifiziert, normale Texte mit Hochkommas 'Text' geklammert. Durch den Operator + können die Werte verbunden werden.

Texte in <> Klammern werden nur angezeigt, wenn nach ihnen noch Texte folgen.

Beispiel

@Lastname + '<, >' + @ Firstname

 

Ausgabe:

Maier, Franz

oder, falls kein Vorname ausgefüllt ist,

Maier
 

Kombinationsfelder sollten ausschließlich als Anzeigefelder benutzt werden.

Int

Ganzzahl

BigInt

Der Datentyp BigInt ist für Fälle bestimmt, in denen ganzzahlige Werte den durch den Datentyp int unterstützten Bereich überschreiten.

Memo

Text ohne Längenbeschränkung

String

Text

SID

Konvertiert eine SID in den zugehörigen ADS Namen. Die Konvertierung ist nur möglich, wenn die Tabelle oder Sicht an einer Stelle eingebunden wird, bei der sich irgendwo in der übergeordneten Struktur der Knoten für die Firma befindet.

Version

Versionen stehen meist in einem String-Feld und würden daher alphabetisch sortiert werden. Um Version 12 nach Version 4 auszugeben, wird der Datentyp Version verwendet.

Zeit

Der Datentyp Zeit wird verwendet um einen Zeitpunkt auszugeben, wenn der Wert in Ticks inventarisiert wird.

Referenz

Über das Feld Referenz ist es möglich, eine ID in einen lesbaren Namen zu transferieren. Dazu muss ein Verweis auf eine Tabelle [TabellenName] oder ein Verweis auf einen Initialwert {WertName} eingegeben werden.

Wenn das Referenzfeld befüllt ist, nimmt Docusnap den nummerischen Inhalt des Feldes und führt eine Abfrage auf der angegebenen Tabelle oder in den Initialwerten mit Filter auf den jeweiligen Primärschlüssel durch. Ausgegeben wird dann der Wert, der in der Zieltabelle als Anzeigefeld definiert ist.

Beispiel:

Feld DomainID, Referenz [tdomains]

Statt z.B. der DomainID 1 wird dann docusnap.intern ausgegeben.

Name, Text
(Deutsch, Englisch)

Bezeichnung des Feldes in den jeweiligen Sprachen. Dieser Wert ist auch später in den Listen als Spaltenüberschrift sichtbar.

Sortierung

Die Reihenfolge der Felder in Listen ist nicht alphabetisch, sondern über diesen Wert bestimmt.

Anzeigegröße

Hier kann eine Spaltenbreite in den Ausgabelisten definiert werden (in Pixel). Falls kein Wert angegeben wird, verwendet Docusnap einen Standardwert von 80 Pixel.

Feldlänge

Dieses Feld kann nur bei dem Datentyp String definiert werden. Hier kann die maximale zulässige Anzahl von Zeichen bestimmt werden.

Import-Verweis

Dieses Feld definiert Felder von Verweisen, die für den Datenimport abgeglichen werden müssen. Das sind im wesentlichen Verweise wie z. B. Kommentartypen, Passworttypen usw.

Faktor

Hier kann ein Divisor zur Umrechnung von Zahlenwerten bestimmt werden. Das Feld ist nur bei nummerischen Datentypen aktiv.

Zum Beispiel würde ein Faktor von 1024 einen Wert von Byte in Kilobyte umrechnen.

Zahlenformat

Hier können nach Standardkonventionen Formatierungen für Zahlenwerte vorgenommen werden.

Gültige Platzhalter sind das #-Zeichen für beliebige Zahlenwerte und die Ziffer 0 für Zahlenwerte, die, wenn sie zu klein sind, mit führenden 0 aufgefüllt werden.

Tausendertrennzeichen ist das Komma ",", das Kommazeichen ist der ".".

 

Beispiele:

#,##0.00 MB

00 h

Icon

Mit der Eigenschaft Icon kann pro Feld ein spezifisches Icon hinterlegt werden. Dies ist nur notwendig, wenn das Metaobjekt, welches auf die Tabelle verweist, eine vertikale Ausrichtung hat.

Feld in Listen anzeigen

Wenn diese Option aktiviert ist, ist das Feld in Listen sichtbar.

Nicht vergleichen

Durch Aktivieren dieser Option kann verhindert werden, dass dieses Feld in den Datenvergleich einbezogen wird. Das ist z.B. beim verfügbaren Speicherplatz auf einer Festplatte sinnvoll, da dieser praktisch immer verändert sein wird.

NULL-Werte nicht anzeigen

Wenn bei der Ausgabe der Tabelle Vertikal ausgewählt wird, wird durch diese Option festgelegt, ob diese Spalte ausgegeben wird, wenn der Wert in der Datenbank NULL ist.

 

ADS Eigenschaften ausgeben

Die Werte der Active Directory Eigenschaften werden in den Tabellen tADSObjectValue (nur ein Wert pro AD Objekt) und in der Tabelle tADSObjectMultiValue (mehrere Werte pro AD Objekt möglich) gespeichert. Einige dieser Werte müssen für die Ausgabe unterschiedlich formatiert werden. In den Tabellen gibt es die Spalte ADSPropertyID, der Wert dieser Spalte wird von Docusnap verwendet um die AD Eigenschaften in der Spalte ADSObjectValue richtig darzustellen. Wenn eine Tabelle oder eine Sicht eine ADSObjectValue Spalte enthält wird immer eine ADSPropertyID Spalte erwartet.

Wenn eine Sicht erstellt wird, in der mehrere Spalten mit speziellen AD Eigenschaften enthalten sind, kann die Formatierung nicht über die ADSPropertyID Spalte definiert werden. Dafür wird bei der jeweiligen Spalte eine Referenz erstellt. Mit AD_PROP_ wird definiert, dass es sich um eine Referenz für AD Eigenschaften handelt. Beispielsweise wird im Feld Referenz {AD_PROP_whenCreated} für die Eigenschaft whenCreated (Erstelldatum des AD Objekts) eingetragen. Die Spalte, die den Wert enthält, darf nicht ADSObjectValue heißen, sondern wird im SQL Statement mit AS umbenannt.

 

Export und Import der Datenbank

Wenn die Daten von benutzerdefinierten Tabellen beim Datenbankimport bzw. -export berücksichtigt werden sollen, müssen diese Tabellen im Importbaum eingefügt werden.