Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 13h07   #1
Invité régulier
 
Inscription : janvier 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 32
Points : 9
Points : 9
Par défaut FK sur table d'un autre schéma

Bonjour,

Voici mon problème, ou plutot ma question.

On me demande si il est possible d'avoir une FK sur une table TA1 d'un schéma A qui fait référence à une table TB1 d'un schéma B. Le tout sur la même instance.

Cela semble possible avec les droits qui vont bien, mais ça ne risque pas de poser un jour des soucis ?

Je voudrais mettre en balance avec une vue classique ou une vue matérialisée.
Le but est d'éviter de copier tous les jours la table de B vers A.

Je suis en 10.2.0.4.

Merci
sgonzale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h06   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Techniquement, il n'y a pas de problème, on peut tout à fait faire pointer une clé étrangère vers une table d'un autre schéma.
Il faudra que B fasse :
Code :
 GRANT REFERENCES ON la_table TO A;
Sur la partie philosophique, je n'ai pas d'avis car votre besoin fonctionnel n'est pas très clair à mon goût...
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/01/2011, 11h30   #3
Invité régulier
 
Inscription : janvier 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 32
Points : 9
Points : 9
Bonjour,

et merci.

Le besoin fonctionnel est le suivant :
Nous avons un schéma qui a les tables de références, tel que civilité ou autre.
Plutot que de dupliquer la table des civilités du schéma A vers le schéma B, on voudrait utiliser une FK dans une table de B qui pointe vers l'id civilité de B.

Est-ce plus clair ?
sgonzale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 14h27   #4
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
C'est surtout ça que je ne trouve pas clair, car ces 3 options me paraissent hors sujet.
Citation:
Je voudrais mettre en balance avec une vue classique ou une vue matérialisée.
Le but est d'éviter de copier tous les jours la table de B vers A.
Pour moi ce besoin est ultra ordinaire.
Il suffit de donner le droit SELECT sur cette table.
Pour le confort, vous ajoutez éventuellement un synonyme.
Et vous garantissez l'intégrité par un clé étrangère.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 16h36   #5
Invité régulier
 
Inscription : janvier 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 32
Points : 9
Points : 9
Si ce besoin vous semble ordinaire, ok.

Comme pour moi c'est la première fois que je fais ça, je voulais avoir un avis d'expert sur ce point, car ça me semblait source de problèmes de lier comme ça 2 schémas par une fk.
Pour ma part je préfère dupliquer la table tous les soirs que de lié les schémas.
La vieille école sans doute...
sgonzale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 18h03   #6
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Citation:
Envoyé par sgonzale Voir le message
Pour ma part je préfère dupliquer la table tous les soirs que de lié les schémas.
Sur le principe, ce n'est pas souhaitable.
Il faut éviter de dupliquer inutilement les données de référence, car c'est une source d'incohérences. Une donnée de référence devrait exister en un seul endroit.
Comme vous êtes dans la même base, la solution simple et carrée, c'est d'utiliser les privilèges et les clés étrangères interschémas.
Ca vous assure des données cohérentes en permanence, sans aucun souci de synchronisation.

Une table des civilités, ça ne bouge pas souvent, mais sur une table beaucoup plus évolutive, le système de la copie une fois par jour ne tient plus la route.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/01/2011, 09h29   #7
Invité régulier
 
Inscription : janvier 2004
Messages : 32
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 32
Points : 9
Points : 9
Bonjour,

Merci pour cet avis.

On va surement faire ça, une FK plutôt qu'une copie de table.

Encore merci
sgonzale est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h28.


 
 
 
 
Partenaires

Hébergement Web