|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 10 ![]() |
Bonjour a tous,
Est-il possible d'avoir une table commune entre deux DB MySQL (v5)? J'ai cherché pas mal dans la doc et sur le web sans succes... L'idee est la suivante: J'ai un nombre X de DB de meme structure. J'aimerais que certaines tables de ces DB soit "shared", par exemple n'avoir qu'une seule table 'codes postaux' pour toutes les DB. En effet, il est inutile et inefficace d'avoir une table 'codes postaux' dans chaque DB puisque ce sont les memes données. Aussi, si j'ajoute/delete/update un record dans cette table, cette modifaction de données serait visibles dans toutes les DB. J'espere avoir ete clair. Avec Oracle, on sait faire cela avec les "schemas" mais avec MySQL, je ne sais pas. Merci d'avance de votre aide. P ps : si vous pensez que je ne suis pas dans la bonne section du forum MySQL, merci de me le signaler... |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Avec MySQL les tables sont accessibles directement via "schema.table", même si l'on utilise actuellement un autre schéma. Un requête peut même mélanger des tables de différents schémas.
Sinon pour éviter d'aller taper n'importe où une vue pourrait faire office de proxy dans les schémas ayant besoin d'une table distante. Si le schéma contenant la table étrangère change seule la vue sera à mettre à jour. Je n'ai pas d'expérience avec les vues mais les modifications devraient être possibles sur une vue qui se contente de rediriger sur une autre table. Par contre j'ai un doute sur le comportement de tout ça vis à vis des transactions... (à tester quoi) |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 10 ![]() |
Bonjour et merci pour ta reponse.
Avec MySQL, qu'entend-tu par "schema"? A ma connaissance, la notion de schema n'existe pas dans MySql. En effet, si je pouvais faire, a partir d'une DB, une requete qui appelle une table contenue dans une autre DB/schema, cela est ce que je veux. Mais je ne vois pas comment creer un "schema" au sens Oracle du terme avec MySQL. Sais-tu m'aiguiller? Merci d'avance P |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Dans mysql c'est le bon vieux "CREATE DATABASE". D'ailleurs sur la 5.0 il y a "CREATE SCHEMA" qui en est un synonyme. C'est peut-être plus pauvre que la notion Oracle mais ici ça fait l'affaire.
Si on a des bases "toto" et "titi" on peut accéder à leurs tables directement par "toto.tableA", "titi.tableB", etc. Même si l'on est actuellement dans la base "tutu" (ou dans aucune base en particulier). |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2005 Messages : 10 ![]() |
Merci, je vois bien ce qu tu veux dire. Effectivement, je vais voir si cela est assez souple pour ce que je veux faire. Mais je crois, que par exemple, cela ne gere pas les 'foreign key'.
Merci encore et bonne continuation, P |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com