Unterschied zwischen Synonym und Alias

Unterschied zwischen Synonym und Alias

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.

  1.  Private Synonyme (kann nur vom Benutzer verwendet werden, der sie erstellt hat.)
  2.  Öffentliche Synonyme (können von allen Benutzern verwendet werden, die über die entsprechenden Berechtigungen verfügen)

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)?

  • Synonyme sind ein Datenbankobjekttyp. Aliase sind jedoch nur ein Name, um eine Tabelle, eine Ansicht oder eine Spalte in einer Abfrage zu verweisen. Kein Datenbankobjekt.
  • Synonyme können für Tabellen, Ansichten, Funktionen, Verfahren, Pakete, Sequenzen, materialisierte Ansichten, Objekttypen und Trigger der Java -Klasse erstellt werden. Aliase werden jedoch nur für Ansichten, Tabellen und ihre Spalten verwendet.
  • Da Synonyme ein Datenbankobjekt sind, sind sie innerhalb des Schemas (privates Synonym) oder in der Datenbank (öffentliches Synonym) gültig. Aber Aliase in der Abfrage gültig, wo sie verwendet werden.
  • Jedes Schema braucht "Synonym erstellen" Privileg, Synonyme zu erstellen. Es gibt jedoch kein Privileg, Aliase zu verwenden.