Bonjour.
J'ai plusieurs
Christophe Chauvet/ = 9 Avril, 2006 - 12:41
Bonjour.
J'ai plusieurs bases (qui pour le moment n'en sont qu'une mais ce n'est pas optimum du point de vue clarté pour les utilisateurs) avec des tables qui sont communes et d'autres non.
Je voudrai pouvoir faire une base avec les tables communes et d'autres spécifiques à chaque domaine.
Si vos bases de données se trouvent sur la même machine, alors je vous conseillerais de jouer avec les schémas, un schéma par utilisateur, puis les données communes se trouveront dans le schéma public.
je prend un exemple.
je crée un utilisateur toto, pour créer les tables communes a tous le monde, ajouter SET search_path to toto; au début du script de création des tables.
par défaut, la variable search_path est positionnée $user,public, ce qui veut dire si un schéma possède le même nom que l'utilisateur de connexion, alors pour la requête ci dessous :
SELECT * FROM ma_table
le moteur d'analyse recherchera la table dans le schéma du même nom que l'utilisateur, si celui-ci ou ma_table n'existe pas alors il la cherchera dans le schéma public.
Les tables communes sont par exemple des données météo qui quelque soit le lieu sont identiques en tout points et donc utilisent la même architecture.
Dans ce cas les tables météo se trouveront dans le schéma public.
Mes inquiétudes sont que je ne connais pas bien ce qu'implique l'utilisation de plusieurs bases qui auront des connexions plutôt fréquentes d'un point de vue requêtes.
Pour vérifier si vos requêtes sont performantes, je vous recommande l'utilisation de l'EXPLAIN PLAN, ainsi vous pourrez améliorer vos requêtes éventuellement positionner des index au bon endroit.
Peut on raisonnablement prévoir une telle architecture (plusieurs bases) ou n'est ce pas souhaitable.
Sachant que vous avez des données communes à tous vos utilisateurs, je vous déconseille fortement l'utilisation de plusieurs base de données.
Quel est l'impact sur la construction des requêtes, peut on assurer l'intégrité réferentielle entre 2 bases ?? autant de questions qui me posent probléme
Il serait toujours possible de crée une pseudo intégrité avec une multitude de trigger, mais cela se ferait au détriment de performance plus que dégradée.
Si mes réponses ont pus vous apporter quelques éléments de réponses.
Cordialement.
Christophe Chauvet
http://kryskool.org/
[ Vous devez
vous connecter pour poster des commentaires ]