Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour 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 12/10/2011, 16h35   #1
Invité de passage
 
Inscription : mai 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 22
Points : 3
Points : 3
Par défaut Possible de faire jointure sur des tables de bases différentes ?

Bonjour,

j'aimerai travailler sur Oracle XE, mais comme Oracle XE n'accepte qu'une base et que je j'avais l'habitude de travailler sur le 8i avec 2 bases (une prod et une de test),

je me pose la question:

est une possible de faire une jointure entre ARTICLE@XE et LIGNE_ARTICLE@BASE8I???

Si oui, comment cela peut se faire?

merci de m'avoir lu même si cela ne semble n'avoir aucun sens

THOMAS Patrice
THOMAS Patrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 17h36   #2
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
Pour pouvoir faire une jointure, elle doit concerner deux tables de la même BD donc si tu peux construis une BD qui contiendra les 2 tables que tu souhaites manipuler et le tour est joué!
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin Franklin
L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin Franklin
Le hasard, c'est le déguisement que prend Dieu pour voyager incognito: Albert Einstein
bon je m'arrête là au risque de me faire buter
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/10/2011, 18h01   #3
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Chef de projets Générix
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
Je pense que la question est plutôt "comment créer un dblink avec Oracle XE"
=> Oracle XE ne permettant qu'une base à la fois, il faudra deux instances de Oracle XE (sur deux serveurs) pour gérer deux bases. A ce moment, pour utiliser les tables de la base distance, on doit passer par un DBLINK.

Autre solution, distinguer les données de "deux bases différentes" en utilisant des schémas : tout est dans la même base, mais les notions de droits notamment sont distinctes d'un schéma à l'autre. Ce moment, on peut faire des jointures d'un schéma à l'autre en préfixant la table du nom du schéma dans lequel elle se situe.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 14h52   #4
Invité de passage
 
Inscription : mai 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 22
Points : 3
Points : 3
Par défaut Merci pour vos réponses

bonsoir,

je n'ai pas bien bien compris,

dans le premier cas: je pense que google suffira (merci pour le mot dblink)

dans le deuxieme cas: c'est quoi cette histoire de schéma???

Merci quand même

THOMAS Patrice
THOMAS Patrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 15h11   #5
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Chef de projets Générix
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
Je suis pas le mieux placé pour parler de schema, car j'ai jamais rien compris aux schema (jamais trop fait l'effort non plus).

En gros, sous Oracle, quand tu crées un utilisateur, il a son propre schema.

Donc si tu crée un user "toto" et un user "titi", alors toto et titi peuvent tous les deux créer une table "matable", car elles seront dans deux schema différents.

Si toto veut voir la table de titi, alors il peut faire :

Code :
1
2
 
SELECT * FROM titi.matable;
Et donc, pour faire une jointure :
Code :
1
2
3
4
 
SELECT *
FROM toto.matable m1
INNER JOIN titi.matable m2 ON m2.id = m1.id;
Les schema sont une façon de cloisonner les objets d'une même base de données, un peu comme s'il y avait deux bases de données distinctes.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 15h51   #6
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Disons plutôt : deux parties distinctes de la base de données (mais qui peuvent avoir des liens forts). Cela permet notamment d'avoir des utilisateurs qui ont accès à une partie de la base, mais pas à l'autre (simple à gérer par délégation de droits sur un schéma et pas sur un autre).
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h46.


 
 
 
 
Partenaires

Hébergement Web