Tabellenerweiterung und -klassen
Aktivieren Sie eine oder mehrere untergeordnete Tabellen, um Felder und Datensätze für eine übergeordnete Tabelle freizugeben. Administratoren und Anwendungsentwickler können Tabellen nur während der Tabellenerstellung erweitern.
| Ursprüngliche Tabelle | Zugehörige Tabellen, die aus der ursprünglichen Tabelle erweitert wurden |
|---|---|
| Aufgabe [task] |
|
| Konfigurationselement [cmdb_ci] |
|
Eine Tabelle, die eine andere Tabelle erweitert, wird als untergeordnete Klassebezeichnet, und die Tabelle, die sie erweitert, ist die übergeordnete Klasse. Eine Tabelle kann sowohl eine übergeordnete als auch eine untergeordnete Klasse sein, die andere Tabellen erweitern und Erweiterungen für andere Tabellen bereitstellen. Eine übergeordnete Klasse, die keine Erweiterung einer anderen Tabelle ist, wird als Basisklassebezeichnet.
- Schemakarte
- Systemwörterbuch
- Tabellenmodul
- Verknüpft die neue Tabelle mit der erweiternden Tabelle.
- Erstellt Systemfelder in der neuen Tabelle.
- Erstellt eine oder mehrere Datenbanktabellen zum Speichern der übergeordneten und untergeordneten Klassen. Die Anzahl der vom System erstellten Tabellen hängt vom bei der Tabellenerstellung ausgewählten Erweiterungsmodell ab.
Erweiterungsmodelle
- Tabelle pro Klasse
- Tabelle pro Hierarchie
- Tabelle pro Partition
- Die Anzahl der erstellten Datenbanktabellen
- Die Ableitung von Feldern aus übergeordneten Klassen
- Die Replikation von Datensätzen aus untergeordneten Klassen
Tabelle pro Klasse
- Tabellen erstellt
- Erstellt eine separate Datenbanktabelle für die übergeordnete Klasse und jede untergeordnete Klasse.
- Von der übergeordneten Klasse abgeleitete Felder
- Untergeordnete Klassen leiten Felder von übergeordneten Klassen ab.
- Wörterbuchdatensätze, die für die übergeordnete Klasse erstellt wurden
- Eine übergeordnete Klasse hat einen Dictionary-Datensatz für die Sammlung und für jedes Feld, das von ihr abgeleitet werden kann. Zum Beispiel hat die Tabelle „Vertrag“ [ast_contract] 59 Wörterbuchdatensätze, die die Tabelle und ihre Felder definieren.
- Wörterbuchdatensätze, die für untergeordnete Klassen erstellt wurden
- Jede untergeordnete Klasse hat nur Dictionary-Einträge für Felder, die für die Klasse eindeutig sind.
- Datensätze repliziert
- Die übergeordnete Klasse repliziert jeden in ihren untergeordneten Klassen gespeicherten Datensatz. Jede untergeordnete Klasse speichert nur Datensätze, die für die Klasse eindeutig sind. Replizierte Datensätze haben in jeder Tabelle denselben Sys-ID-Wert. Das System repliziert alle Änderungen, die Sie an einem untergeordneten Datensatz vornehmen, im entsprechenden Datensatz in der übergeordneten Tabelle. Beispielsweise repliziert die Tabelle „Vertrag“ [ast_contract] Datensätze aus den Tabellen „Lease“ [ast_lease] und „Garantie“ [ast_warranty].
Tabelle pro Hierarchie
- Tabellen erstellt
- Erstellt eine Datenbanktabelle für die übergeordnete Klasse, in der alle Datensätze für die übergeordneten und untergeordneten Klassen gespeichert werden. Untergeordnete Klassen haben keine separaten Datenbanktabellen.
- Von der übergeordneten Klasse abgeleitete Felder
- Untergeordnete Klassen leiten Felder von übergeordneten Klassen ab. Beispielsweise leitet die Incident-Tabelle Felder von der Aufgabentabelle ab.
- Wörterbuchdatensätze, die für die übergeordnete Klasse erstellt wurden
Eine übergeordnete Klasse hat einen Dictionary-Datensatz für die Sammlung und für jedes Feld, das von ihr abgeleitet werden kann. Zum Beispiel ist die Task Table eine übergeordnete Klasse mit 66 Dictionary-Datensätzen, die die Tabelle und ihre Felder definieren.
Der Wörterbucheintrag für die übergeordnete Klasse enthält eine Spalte „sys_class_name“, deren Wert angibt, zu welcher untergeordneten Klasse jeder Datensatz gehört. Beispiel: Incident-Datensätze haben für sys_class_name den Wert „incident“ und Change-Datensätze für sys_class_name den Wert „change“.
- Wörterbuchdatensätze, die für untergeordnete Klassen erstellt wurden
- Jede untergeordnete Klasse hat nur Dictionary-Einträge für Felder, die für die Klasse eindeutig sind. Beispielsweise verfügt die Incident-Tabelle nur über 22 Dictionary-Datensätze, die noch nicht in der Task Table definiert wurden.
- Datensätze repliziert
- Eine Datensatzreplikation ist nicht erforderlich, da die übergeordnete Klasse alle Datensätze speichert, die zur Hierarchiegehören. Beispielsweise enthält die Tabelle „Aufgaben“ alle Datensätze aus den untergeordneten Klassen, z. B. die Tabellen „Change“, „Incident“ und „Problem“.
Tabelle pro Partition
- Tabellen erstellt
- Erstellt eine Datenbanktabelle für die übergeordnete Klasse, in der alle Datensätze für die übergeordneten und untergeordneten Klassen gespeichert werden. Untergeordnete Klassen haben keine separaten Datenbanktabellen. Wenn die Datenbanktabelle ein Speicherlimit erreicht, fügt das System dynamisch Speichertabellen (Partitionen) hinzu, um zusätzliche Datensätze zu speichern.
- Von der übergeordneten Klasse abgeleitete Felder
- Untergeordnete Klassen leiten keine Felder von übergeordneten Klassen ab. Stattdessen hat jede untergeordnete Klasse eine eigene Liste von Feldern. Beispielsweise haben die Tabellen Basiskonfigurationselement [cmdb], Konfigurationselement [cmdb_ci] und Hardware [cmdb_ci_hardware] jeweils eigene Felddefinitionen.
- Wörterbuchdatensätze, die für die übergeordnete Klasse erstellt wurden
Eine übergeordnete Klasse hat einen Wörterbuchdatensatz für die Sammlung und für jedes für sie relevante Feld. Zum Beispiel ist die Tabelle Base Configuration Item [cmdb] eine übergeordnete Klasse mit 48 Dictionary-Datensätzen.
Das System repliziert Änderungen, die an Wörterbucheinträgen der übergeordneten Klasse vorgenommen wurden, in die Einträge des Wörterbuchs der untergeordneten Klasse. Wenn Sie beispielsweise die Namensspalte in der Tabelle der übergeordneten Klasse „Basiskonfigurationselement“ [cmdb] ändern, repliziert das System dies in untergeordneten Klassenwörterbucheinträgen wie den Tabellen „Konfigurationselement“ [cmdb_ci] und „Hardware“ [cmdb_ci_hardware].
Der Wörterbucheintrag für die übergeordnete Klasse enthält Spalten für „sys_class_name“ und „sys_class_path“, deren Werte angeben, zu welcher untergeordneten Klasse jeder Datensatz gehört. Hardwaredatensätze haben beispielsweise einen sys_class_name-Wert von cmdb_ci_hardware, und Computerdatensätze haben einen sys_class_name-Wert von cmdb_ci_computer.
Wenn die Datenbanktabelle ein Speicherlimit erreicht, aktualisiert das System den Wörterbucheintrag für die übergeordnete Klasse und fügt Spalten für „sys_storage_alias“ und „storage_table_name“ hinzu. Mit diesen Speicherspalten-Dictionary-Einträgen können Administratoren die übergeordnete Klasse und ihre Speichertabellen als eine einzige logische Einheit verwalten.
- Wörterbuchdatensätze, die für untergeordnete Klassen erstellt wurden
- Jede untergeordnete Klasse hat einen Wörterbuchdatensatz für die Sammlung und für jedes für sie relevante Feld. Zum Beispiel hat die Tabelle „Hardware“ 73 Dictionary-Datensätze, wobei einige Datensätze Spalten in der übergeordneten Klasse duplizieren.
- Datensätze repliziert
- Eine Datensatzreplikation ist nicht erforderlich, da die übergeordnete Klasse alle Datensätze speichert, die zur Hierarchiegehören. Beispielsweise enthält die Tabelle „Basiskonfigurationselement“ [cmdb] alle Datensätze aus ihren untergeordneten Klassen, z. B. die Tabellen „Anwendung“ [cmdb_ci_appl], „Computer“ [cmdb_ci_computer] und „Hardware“ [cmdb_ci_hardware].