II.5.3.2. Synonyme
Pour référencer une base de données dans
un système distribué, on utilise le nom global ou le lien de base
de données. Mais afin de converger plus vers l'un des objectifs de la
répartition des bases de données qui est la transparence
vis-à-vis de la localisation, Oracle utilise des synonymes. Un synonyme
est un alias d'un objet (table, vue, séquence, procédure,
fonction ou paquetage).
Les avantages d'utiliser des synonymes sont les suivants :
· simplifier l'accès aux objets en
abrégeant les noms de tables, par exemple, ou en regroupant dans un
même alias les noms du schéma et de l'objet, pour les objets qui
ne vous appartiennent pas, mais dont vous avez accès ;
· masquer le vrai nom des objets ou la localisation des
objets distants (réunis par liens de base de données : database
links) ;
· améliorer la maintenance des applications dans
la mesure où la nature du synonyme peut être modifiée sans
mettre à jour tous les programmes qui l'utilisent (le synonyme garde le
même nom tout en référençant un nouvel objet).
Il est ainsi possible d'attribuer plusieurs noms à un
même objet. Il est aussi permis de créer des synonymes publics (en
utilisant la directive PUBLIC) qui seront visibles et utilisables par tous. Les
autres synonymes (privés) ne seront pas accessibles par d'autres
utilisateurs à moins de donner les autorisations nécessaires (par
GRANT). Pour pouvoir créer un synonyme dans votre schéma, il faut
que vous ayez reçu le privilège CREATE SYNONYM. Si vous avez le
privilège CREATE ANY SYNONYM, vous pouvez créer des synonymes
dans tout schéma. Enfin, pour pouvoir créer un synonyme public,
il faut que vous ayez reçu le privilège CREATE PUBLIC SYNONYM.
La syntaxe pour la création de synonyme est la suivante
:
CREATE [OR REPLACE] [PUBLIC] SYNONYM
[schéma.]nomSynonyme
FOR [schéma.]nomObjet[@lienBaseDonnées];
Pour pouvoir supprimer un synonyme, il faut qu'il se trouve
dans votre schéma ou que vous ayez reçu le privilège DROP
ANY SYNONYM. Pour pouvoir supprimer un synonyme public il faut que vous ayez
reçu le privilège DROP PUBLIC SYNONYM.
La syntaxe SQL est la suivante :
DROP [PUBLIC] SYNONYM [schéma.]nomSynonyme [FORCE];
II.5.3.3. Procédure
Les unités de programmes PL/SQL, peuvent servir
à référer à des données distantes, appeler
des procédures distantes, utiliser des synonymes pour
référer à des procédures distantes. On peut
utiliser une procédure locale pour appeler une procédure
distante. La procédure distante pourra exécuter les instructions
LMD requises. L'emplacement approprié pour une procédure
dépend de la distribution et de l'utilisation des données.
L'objectif étant de limiter le trafic sur le réseau pour
résoudre les requêtes.
|