Schemaanmerkungen erstellen und verwalten
Schemaannotationen sind Freiformtextfelder, die erweiterte oder benutzerdefinierte Eigenschaften von Datenbankobjekten wie Tabellen, Views, Spalten, Indizes und Datenanwendungsfalldomänen enthalten. Annotationen sind eine einfache deklarative Funktion zur zentralen Registrierung von Nutzungseigenschaften für Datenbankschemaobjekte. Sie können als leichtgewichtiges standardisiertes Markup für Datenbankmetadaten betrachtet werden, mit dem Anwendungen erweiterte und benutzerdefinierte Nutzungseigenschaften registrieren und verarbeiten können.
Siehe auch: Oracle AI Database-Konzepte für zusätzliche allgemeine Informationen zu Anmerkungen
Annotationen erstellen
Annotationen sind Eigenschaften von Schemaobjekten und können in der CREATE-Anweisung für das Objekt angegeben werden.
-
Mit der folgenden Anweisung wird eine neue Tabelle mit Annotationen für die Tabelle selbst und die zugrunde liegenden Spalten erstellt.
CREATE TABLE employees ( id NUMBER(5) PRIMARY KEY ANNOTATIONS (Identity, Display 'Employee Name'), ename VARCHAR2(50) ANNOTATIONS(Display 'Employee Name'), salary NUMBER ANNOTATION(Display 'Employee Name', Confidential) ) ANNOTATIONS (Display 'Employee Table'); -
Die folgende Anweisung enthält eine Anmerkung bei der Erstellung der Anwendungsnutzungsdomain
dept_codesim Schemahr.CREATE DOMAIN dept_codes AS NUMBER(3) CONSTRAINT dept_chk CHECK (dept_codes > 99 AND dept_codes != 200) ANNOTATIONS (Title 'Domain Annotation);
Siehe auch: Oracle AI Database Development Guide für Informationen zu DDL-Anweisungen für Anmerkungen
Anmerkungen auflisten
Mit Dictionary Views können Sie die Liste der Annotationen abrufen, die für bestimmte Objekte verwendet werden.
Die folgenden Dictionary Views sind für die Verwendung von Annotationen und Annotationen definiert.
-
ALL_ANNOTATION_VALUES, DBA_ANNOTATION_VALUES, USER_ANNOTATION_VALUES
-
ALL_ANNOTATIONEN, DBA_ANNOTATIONEN, USER_ANNOTATIONEN
-
ALL_ANNOTATIONS_USAGE, DBA_ANNOTATIONS_USAGE, USER_ANNOTATIONS_USAGE
Die Ansichten ALL_* enthalten alle Annotationen für Objekte, deren Eigentümer der Benutzer ist, alle Annotationen für Objekte, deren Eigentümer andere Benutzer sind, deren Benutzer über die ALTER-Berechtigung verfügt, sowie alle Annotationen für Objekte, deren Benutzer über Systemberechtigungen für diesen Objekttyp verfügt. Die DBA_*-Views enthalten alle Annotationen für alle Objekte in der Datenbank. Die Ansichten USER_* enthalten alle Annotationen für Objekte, deren Eigentümer der Benutzer ist.
-
Die folgende Anweisung ruft die Annotationen auf Tabellenebene für die Tabelle
EMPLOYEEab:SELECT * from USER_ANNOTATIONS_USAGE WHERE Object_Name = 'EMPLOYEE' AND Object_Type = 'TABLE' AND Column_Name IS NULL; -
Die folgende Anweisung ruft die Annotationen auf Spaltenebene für die Tabelle
EMPLOYEEab:SELECT * from USER_ANNOTATIONS_USAGE WHERE Object_Name = 'EMPLOYEE' AND Object_Type = 'TABLE' AND Column_Name IS NOT NULL; -
Die folgende Anweisung ruft die Anmerkungen auf Spaltenebene für die Tabelle
EMPLOYEEals einzelne JSON-Collection pro Spalte ab:SELECT U.Column_Name, JSON_ARRAYAGG(JSON_OBJECT(U.Annotation_Name, U.Annotation_Value)) FROM USER_ANNOTATIONS_USAGE U WHERE Object_Name = 'EMPLOYEE' AND Object_Type = 'TABLE' AND Column_Name IS NOT NULL GROUP BY Column_Name;
Siehe auch: Oracle AI Database Reference enthält Informationen zu den Dictionary Views für Annotationen.
Anmerkungen ändern
Um eine Annotation zu ändern, verwenden Sie die ALTER-Anweisung für das annotierte Schemaobjekt.
-
Die folgende Anweisung fügt der Tabelle
employeeseine zusätzliche AnnotationDepartmentmit dem WertHRhinzu.ALTER TABLE employees ANNOTATIONS (ADD Department 'HR'); -
Die folgende Anweisung löscht die Annotation
Titleund fügt der Domaindept_codeeine neue AnnotationNamemit dem WertDomainhinzu.ALTER DOMAIN dept_codes ANNOTATIONS(DROP Title, ADD Name 'Domain');
Siehe auch: Oracle AI Database Development Guide für Informationen zu DDL-Anweisungen für Anmerkungen