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 erweitert und Erweiterungen für sie bereitstellt. Eine übergeordnete Klasse, die keine Erweiterung einer anderen Tabelle ist, wird als Basisklassebezeichnet.
- Schemakarte
- System-Dictionary
- Tabellenmodul
- Verknüpft die neue Tabelle mit der Erweiterungstabelle.
- Erstellt Systemfelder in der neuen Tabelle.
- Erstellt eine oder mehrere Datenbanktabellen, um die übergeordneten und untergeordneten Klassen zu speichern. Die Anzahl der vom System erstellten Tabellen hängt vom Erweiterungsmodell ab, das bei der Tabellenerstellung ausgewählt wurde.
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.
- Für die übergeordnete Klasse erstellte Wörterbuchdatensätze
- Eine übergeordnete Klasse verfügt über einen Dictionary-Datensatz für die Sammlung und für jedes Feld, das von ihr abgeleitet werden kann. Zum Beispiel verfügt die Tabelle „Vertrag“ [ast_contract] über 59 Dictionary-Datensätze, die die Tabelle und ihre Felder definieren.
- Für untergeordnete Klassen erstellte Wörterbuchdatensätze
- 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 Datensatz, der in ihren untergeordneten Klassen gespeichert ist. 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, in den übereinstimmenden Datensatz in der übergeordneten Tabelle. Zum Beispiel 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 aus der Aufgabentabelle ab.
- Für die übergeordnete Klasse erstellte Wörterbuchdatensätze
Eine übergeordnete Klasse verfügt über einen Dictionary-Datensatz für die Sammlung und für jedes Feld, das von ihr abgeleitet werden kann. Zum Beispiel ist die Aufgabentabelle eine übergeordnete Klasse mit 66 Dictionary-Datensätzen, die die Tabelle und ihre Felder definieren.
Der Dictionary-Eintrag für die übergeordnete Klasse enthält eine Spalte sys_class_name, deren Wert angibt, zu welcher untergeordneten Klasse jeder Datensatz gehört. Zum Beispiel haben Incident-Datensätze den sys_class_name-Wert Incident und Change-Datensätze den sys_class_name-Wert der Änderung.
- Für untergeordnete Klassen erstellte Wörterbuchdatensätze
- 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 in der Aufgabentabelle noch nicht definiert sind.
- Datensätze repliziert
- Datensatzreplikation ist nicht erforderlich, da die übergeordnete Klasse alle Datensätze speichert, die zur Hierarchiegehören. Beispielsweise enthält die Aufgabentabelle alle Datensätze aus ihren 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 verfügt jede untergeordnete Klasse über eine eigene Liste von Feldern. Zum Beispiel haben die Tabellen „Basiskonfigurationselement“ [cmdb], „Konfigurationselement“ [cmdb_ci] und „Hardware“ [cmdb_ci_hardware] jeweils eigene Felddefinitionen.
- Für die übergeordnete Klasse erstellte Wörterbuchdatensätze
Eine übergeordnete Klasse verfügt über einen Dictionary-Datensatz für die Sammlung und jedes für sie relevante Feld. Zum Beispiel ist die Tabelle „Basiskonfigurationselement“ [cmdb] eine übergeordnete Klasse mit 48 Dictionary-Datensätzen.
Das System repliziert Änderungen an Dictionary-Einträgen der übergeordneten Klasse in Dictionary-Einträgen der untergeordneten Klasse. Wenn Sie beispielsweise die Namensspalte in der Tabelle „Basiskonfigurationselement“ der übergeordneten Klasse [cmdb] ändern, repliziert das System dies in Dictionary-Einträge der untergeordneten Klasse wie die Tabellen „Konfigurationselement“ [cmdb_ci] und „Hardware“ [cmdb_ci_hardware].
Der Dictionary-Eintrag 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. Zum Beispiel haben Hardware-Datensätze den sys_class_name-Wert von cmdb_ci_hardware und Computer-Datensätze den 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, um Spalten für sys_storage_alias und storage_table_name einzubeziehen. Mit diesen Dictionary-Einträgen für Speicherspalten können Administratoren die übergeordnete Klasse und ihre Speichertabellen als eine einzige logische Einheit verwalten.
- Für untergeordnete Klassen erstellte Wörterbuchdatensätze
- Jede untergeordnete Klasse verfügt über einen Dictionary-Datensatz für die Sammlung und jedes für sie relevante Feld. Zum Beispiel verfügt die Tabelle „Hardware“ über 73 Dictionary-Datensätze, wobei einige Datensätze Spalten in der übergeordneten Klasse duplizieren.
- Datensätze repliziert
- 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].