Différence entre Synonyme et Alias
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.
- Synonymes publics (peuvent être utilisés par tous les utilisateurs disposant des privilèges appropriés)
- 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.
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