Synonyme vs Alias (dans les bases de données ORACLE) | Synonymes privés et synonymes publics
En anglais, synonyme et alias ont presque les mêmes significations. 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 faire référence à des objets d'un schéma ou d'une base de données à partir d'un autre schéma. Donc, synonyme est un type d'objet de base de données. Mais les pseudonymes arrivent d'une manière différente. Cela signifie; ce ne sont pas des objets de base de données. Les alias sont utilisés pour faire référence à des tables, des vues et des colonnes à l'intérieur de requêtes.
Synonymes
Ce sont un type d'objets de base de données. Ils font référence à d'autres objets de la base de données. L'utilisation la plus courante de synonyme est de faire référence à un objet d'un schéma séparé en utilisant un autre nom. Mais des synonymes peuvent être créés pour faire référence aux objets d'une autre base de données (dans les bases de données distribuées, en utilisant des liens de base de données). Les tableaux, vues, fonctions, procédures, packages, séquences, vues matérialisées, objets de classe java et déclencheurs peuvent être utilisés comme références pour les synonymes. Il y a deux types de synonymes.
Voici une syntaxe simple pour créer un synonyme dans une base de données séparée,
créer un synonyme myschema.mytable1 pour [email protégé]_link1
Puisque nous avons un synonyme nommé mytable1 dans myschema pour [email protégé]_link1 (table de base de données distribuée), on peut facilement se 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
Celles-ci ne sont qu'un autre nom pour une vue, une table ou une colonne dans 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 / la base de données. Ils ne sont valables que dans la requête. Voyons cet exemple,
sélectionnez tab1.col1 en tant que c1, tab2.col2 en tant que c2
de user1.tab1 tab1, user1.tab2 tab2
où tab1.col1 = tab2.col2
Ici, c1 et c2 sont des alias de colonne utilisés pour tab1.col1 et tab2.col2, et tab1 et tab2 sont des alias de table utilisés pour user1.table1 et user2.table2. Tous ces alias ne sont valides que dans cette requête.
Quelle est la différence entre Synonym et Alias (dans les bases de données ORACLE)?
|