Synonym vs Alias (In Oracle -Datenbanken) | Private Synonyme und öffentliche Synonyme
Auf Englisch haben Synonym und Alias fast die gleichen Bedeutungen. Aber in Datenbanken sind das zwei verschiedene Dinge. Besonders in Oracle -Datenbanken ist beide ihre Verwendung unterschiedlich. Synonyme werden verwendet, um Objekte eines Schemas oder einer Datenbank aus einem anderen Schema zu verweisen. Synonym ist also ein Datenbankobjekttyp. Aliase kommen jedoch auf andere Weise. Das bedeutet; Sie sind keine Datenbankobjekte. Aliase werden verwendet, um Tabellen, Ansichten und Spalten innerhalb von Abfragen zu verweisen.
Synonyme
Dies sind eine Art von Datenbankobjekten. Sie beziehen sich auf andere Objekte in der Datenbank. Die häufigste Verwendung des Synonyms besteht darin, ein Objekt eines separaten Schemas mithilfe eines anderen Namens zu verweisen. Synonyme können jedoch erstellt werden, um auch die Objekte einer anderen Datenbank zu verweisen (in verteilten Datenbanken unter Verwendung von Datenbanklinks) (in verteilten Datenbanken)). Tabellen, Ansichten, Funktionen, Prozeduren, Pakete, Sequenzen, materialisierte Ansichten, Java -Klassenobjekte und Trigger 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 Synonym MySchema.mytable1 für [E -Mail geschützt] _link1
Da haben wir ein Synonym mit dem Namen mytable1 In Myschema für [E -Mail geschützt] _link1 (Distributed Database -Tabelle), Wir können die verteilte Datenbanktabelle einfach mithilfe der Tabelle verweisen mytable1. Wir müssen den langen Objektnamen nicht überall mit Datenbanklink 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 in der Schema/Datenbank nicht überall 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
von user1.Tab1 Tab1, Benutzer1.Tab2 Tab2
wo tab1.col1 = tab2.col2
Hier sind C1 und C2 Säulenaliase, die für TAB1 verwendet werden.col1 und tab2.col2 und tab1 und tab2 sind Tabellenaliase, die für User1 verwendet werden.Tabelle 1 und User2.Tabelle 2. Alle diese Aliase sind nur in dieser Abfrage gültig.
Was ist der Unterschied zwischen Synonym und Alias (In Oracle -Datenbanken)?
|