Différence Entre Synonyme Et Alias

Table des matières:

Différence Entre Synonyme Et Alias
Différence Entre Synonyme Et Alias

Vidéo: Différence Entre Synonyme Et Alias

Vidéo: Différence Entre Synonyme Et Alias
Vidéo: Différence entre an et année - Synonymes & Nuances 2024, Mai
Anonim

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

En anglais, synonyme et alias ont à peu près 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 aux 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 alias 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 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 font référence à d'autres objets de la base de données. L'utilisation la plus courante du synonyme est de faire référence à un objet d'un schéma distinct en utilisant un autre nom. Mais des synonymes peuvent également être créés pour faire référence aux 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, 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 existe deux types de synonymes.

  1. Synonymes privés (ne peuvent être utilisés que par l'utilisateur qui les a créés.)
  2. Synonymes publics (peuvent être utilisés par tous les utilisateurs disposant des privilèges appropriés)

Voici une syntaxe simple pour créer un synonyme dans une base de données séparée, créer le synonyme myschema.mytable1 pour [email protected] _link1

Puisque nous avons un synonyme nommé mytable1 dans myschema pour [email protected] _link1 (table de base de données distribuée), nous pouvons facilement faire référence à 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 un lien de base de données partout.

Alias

Il s'agit simplement d'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 / la base de données. Ils ne sont valides que dans la requête. Voyons cet exemple,

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

depuis 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.table2. Tous ces alias ne sont valides que 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 à l'intérieur d'une requête. Pas un objet de base de données

Des synonymes peuvent être créés pour des tables, des vues, des fonctions, des procédures, des packages, des séquences, des vues matérialisées, des types d'objets de classe Java et des déclencheurs. Mais les alias ne sont utilisés que pour les vues, les tables et leurs colonnes

Les synonymes étant un objet de base de données, ils sont valides dans le schéma (synonyme privé) ou dans la base de données (synonyme public). Mais les alias sont valides dans la requête où ils sont utilisés

Chaque schéma a besoin du privilège «Créer un synonyme» pour créer des synonymes. Mais il n'y a aucun privilège pour utiliser des alias

Recommandé: