Synonym gegen Alias (in Oracle-Datenbanken) | Private Synonyme und öffentliche Synonyme
Im Englischen haben Synonym und Alias fast die gleiche Bedeutung. In Datenbanken sind dies jedoch zwei verschiedene Dinge. Insbesondere in ORACLE-Datenbanken unterscheiden sich beide. Synonyme werden verwendet, um Objekte eines Schemas oder einer Datenbank aus einem anderen Schema zu referenzieren. Synonym ist also ein Datenbankobjekttyp. Aber Aliase kommen anders. Das bedeutet; Sie sind keine Datenbankobjekte. Aliase werden verwendet, um auf Tabellen, Ansichten und Spalten in Abfragen zu verweisen.
Synonyme
Dies ist ein Typ von Datenbankobjekten. Sie beziehen sich auf andere Objekte in der Datenbank. Die häufigste Verwendung von Synonym ist das Verweisen auf ein Objekt eines separaten Schemas unter Verwendung eines anderen Namens. Es können jedoch Synonyme erstellt werden, um auf die Objekte einer anderen Datenbank zu verweisen (in verteilten Datenbanken über Datenbankverknüpfungen). Tabellen, Ansichten, Funktionen, Prozeduren, Pakete, Sequenzen, materialisierte Ansichten, Java-Klassenobjekte und Auslöser können als Referenzen für die Synonyme verwendet werden. Es gibt zwei Arten von Synonymen.
Hier ist eine einfache Syntax, um ein Synonym in einer separaten Datenbank zu erstellen,
Erstellen Sie das Synonym myschema.mytable1 für [E-Mail geschützt]_link1
Da haben wir ein Synonym namens mytable1 im myschema zum [E-Mail geschützt]_link1 (verteilte Datenbanktabelle), Wir können die verteilte Datenbanktabelle leicht mit verweisen mytable1. Wir müssen den langen Objektnamen nicht überall mit Datenbankverknüpfungen verwenden.
Alias
Dies sind nur ein anderer Name für eine Ansicht, eine Tabelle oder eine Spalte in einer Abfrage. Sie sind keine Datenbankobjekte. Daher sind Aliase nicht überall im Schema / in der Datenbank gültig. Sie sind nur in der Abfrage gültig. Lassen Sie uns dieses Beispiel sehen,
Wählen Sie tab1.col1 als c1, tab2.col2 als c2 aus
von user1.tab1 tab1, user1.tab2 tab2
Dabei ist tab1.col1 = tab2.col2
Hierbei sind c1 und c2 Spaltenaliase, die für tab1.col1 und tab2.col2 verwendet werden, und tab1 und tab2 sind Tabellenaliase, die für user1.table1 und user2.table2 verwendet werden. Alle diese Aliase sind nur in dieser Abfrage gültig.
Was ist der Unterschied zwischen Synonym und Alias? (in Oracle-Datenbanken)?
|