Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 07/07/2011, 13h36   #1
Invité de passage
 
Inscription : avril 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 25
Points : 2
Points : 2
Par défaut problème de logique

Bonjour a tous,

Voila, je développe actuellement une application de gestion des stocks (je gère les produits, les fournisseurs, les catégories).
Mon problème est que pour des raisons de suivi, je dois aussi gérer les agents et les services.

Les agents et les services sont stockés sur une autre base de données sur le même serveur car cette BDD est commune à plusieurs logiciels.

Je ne sais pas trop comment gérer les sorties de stocks (les informations qui doivent y figurer doivent-être la référence du produit, le nom du service et le nom de l'agent) ... je récupère donc des infos de 2 bases de données et je ne sais pas comment le gérer avec merise (pour me représenter le fonctionnement)

J'aimerais savoir s'il est possible d'interconnecter 2 bases de données MySQL (j'utilise Xamp) afin de piocher les infos à afficher et aussi au niveau conceptuel, savoir comment gérer le fait qu'UN produit est emprunté par UN agent qui appartient à UN service ...

Si vous pouviez m'éclairer je vous en saurais gré ^^
H4rDBuG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 14h00   #2
Membre habitué
 
Développeur informatique
Inscription : juillet 2002
Messages : 96
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2002
Messages : 96
Points : 120
Points : 120
Bonjour,


Si tes deux bases sont sur le meme serveur et que les utilisateurs avec lesquelles tu te connectes ont les droits suffisant :

tu peux faire depuis BASE1
Code :
1
2
 
SELECT * FROM BASE2.TABLEB2
et depuis BASE2
Code :
1
2
 
SELECT * FROM BASE1.TABLEB1
Tu peux aussi faire
Code :
1
2
 
SELECT * FROM BASE1.T1 JOIN BASE2.T2 ON .....
Cordialement
__________________
Je connais des gens qui ne sont pas aware, il ne sont pas qu courant. il ne sont pas a l'attention de savoir qu'ils existent.
"J-C Van dam"
Lharuun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 14h10   #3
Invité de passage
 
Inscription : avril 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 25
Points : 2
Points : 2
oh eh bien je ne pensais pas que c'était aussi simple !

Merci beaucoup
H4rDBuG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 14h58   #4
Invité de passage
 
Inscription : avril 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 25
Points : 2
Points : 2
Dans le cas où j'ai besoin d'ajouter une clé étrangère sur la base1 et que la référence à cette clé est située sur la base2 ... comment je fais ?

J'ai essayé ça :

Code :
1
2
ALTER TABLE emprunter 
ADD FOREIGN KEY NoService REFERENCES Users.Service.NoService;
et il me retourne cette erreur :

Citation:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES Users.Service.NoService' at line 1
déjà, cela est-il possible ? si oui quelle est la syntaxe ?
H4rDBuG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h02   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 007
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 007
Points : 18 278
Points : 18 278
Envoyer un message via MSN à CinePhil
MySQL te dit que tu as une erreur de syntaxe. Regarde la syntaxe de FOREIGN KEY !

Par contre, je ne sais pas si c'est possible de référencer une table qui n'est pas dans la même BDD. Je n'ai jamais essayé.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h03   #6
Invité de passage
 
Inscription : avril 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 25
Points : 2
Points : 2
Oui l'erreur vient du fait que je fait appel a une table d'une autre base de données ... je me renseigne sur le sujet, car je ne sais pas si c'est possible :/
H4rDBuG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h09   #7
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
et en faisant

Code :
1
2
3
ALTER TABLE emprunter 
ADD CONSTRAINT MyFKName
FOREIGN KEY (NoService) REFERENCES Users.Service(NoService);
C'est pas mieux ?

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h12   #8
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 007
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 007
Points : 18 278
Points : 18 278
Envoyer un message via MSN à CinePhil
L'erreur indiquée est une erreur de syntaxe !
Tu aurais dû écrire ceci :
Code :
1
2
ALTER TABLE emprunter 
ADD FOREIGN KEY NoService REFERENCES Users.Service(NoService);
Mais il est probable qu'ensuite il te donne une autre erreur relative au fait que les deux tables ne sont pas dans la même BDD. Imagine que dans quelques temps les responsables système décident pour des raisons de performance de séparer physiquement les deux BDD sur deux serveurs séparés ; la contrainte ne peut plus être testée et la BDD est corrompue !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h15   #9
Invité de passage
 
Inscription : avril 2010
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 25
Points : 2
Points : 2
Merci beaucoup Yanika_bzh ça marche sans soucis !

@CinePhil : je me suis renseigné si il y avait l'éventualité de séparer les 2 bases de données sur des serveur différent, et ça ne sera pas la cas pour des raisons de gestion

Merci beaucoup pour l'aide apportée !
H4rDBuG 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 21h49.


 
 
 
 
Partenaires

Hébergement Web