Différence entre Synonyme et Alias ​​

Anonim

Synonyme vs Alias ​​ (dans les bases de données ORACLE) | Synonymes privés et synonymes publics

En anglais, synonyme et alias ont presque le même sens. Mais dans les bases de données, ce sont deux choses différentes. Surtout dans les bases de données ORACLE, leur utilisation est différente. Les synonymes sont utilisés pour référencer des objets d'un schéma ou d'une base de données d'un autre schéma. Le synonyme est donc un type d'objet de base de données. Mais les alias viennent d'une manière différente. Cela signifie; ils ne sont pas des objets de base de données. Les alias sont utilisés pour référencer des tables, des vues et des colonnes dans des requêtes.

Synonymes

Il s'agit d'un type d'objets de base de données. Ils se réfèrent à d'autres objets dans la base de données. L'usage le plus courant du synonyme est de référer un objet d'un schéma distinct en utilisant un autre nom. Mais des synonymes peuvent être créés pour référencer les objets d'une autre base de données (dans des bases de données distribuées, en utilisant des liens de base de données). Les tables, les vues, les fonctions, les procédures, les packages, les séquences, les vues matérialisées, les objets de classe java et les triggers peuvent être utilisés comme références pour les synonymes. Il existe deux types de synonymes.

  1. Synonymes publics (peuvent être utilisés par tous les utilisateurs disposant des privilèges appropriés)
  2. Voici un simple syntaxe pour créer un synonyme dans une base de données séparée,

créer un synonyme myschema. mytable1 pour userA. table1 @ database_link1

Puisque nous avons un synonyme nommé

mytable1 dans myschema pour userA. table1 @ database_link1 (table de base de données distribuée) , nous pouvons facilement référer la table de base de données distribuée en utilisant mytable1. Nous n'avons pas besoin d'utiliser le nom d'objet long avec le lien de base de données partout.

Alias ​​

Ce sont juste un autre nom pour une vue, une table ou une colonne à l'intérieur d'une requête. Ce ne sont pas des objets de base de données. Par conséquent, les alias ne sont pas valides partout dans le schéma / base de données. Ils sont valides uniquement dans la requête. Voyons cet exemple,

sélectionnez tab1. col1 comme c1, tab2. col2 comme c2

de user1. tab1 tab1, user1. tab2 tab2

où tab1. col1 = tab2. col2

Ici, c1 et c2 sont des alias de colonne, qui sont utilisés pour tab1. col1 et tab2. col2, et tab1 et tab2 sont des alias de table, qui sont utilisés pour user1. table1 et user2. Tableau 2. Tous ces alias sont valides uniquement dans cette requête.

Quelle est la différence entre Synonyme et Alias ​​

(dans les bases de données ORACLE) ? Les synonymes sont un type d'objet de base de données. Mais les alias ne sont qu'un nom pour référencer une table, une vue ou une colonne dans une requête. Pas un objet de base de données.