2009-12-10 7 views
0

Nous envisageons de créer un nouveau schéma avec ses propres 3 tables qui seront créées à la volée pour un client individuel.exécuter des requêtes sql sous un contexte de schéma particulier

Pour exécuter une requête particulière pour ces tables dans une procédure, devrions-nous avoir quelque chose comme ceci. Dans ce scénario, les clients simultanés de divers schémas peuvent-ils mettre à jour leur propre table de schémas, sinon ils entreront en conflit.

Vos suggestions sont les bienvenues. Anil

Répondre

0

La plupart des bases de données SQL ont créé chaque table en tant qu'entité unique dans cette base de données. Cela signifie que chaque table peut être modifiée et modifiée individuellement sans relation avec les autres tables. CUSTOMERA.TABLE_ONE est un objet différent dans la base de données que CUSTOMERB.TABLE_ONE. Ils partagent le même nom, mais ils ne sont pas le même objet avec des dispositions potentiellement différentes (car ils ont des schémas différents). Par conséquent, à moins d'une restriction sur le SGBDR, vous pouvez le faire. Maintenant, avoir des schémas différents pour chaque utilisateur peut ne pas être bon. Si vous développez la même application pour gérer plusieurs clients, vous devez vous assurer qu'il fonctionnera avec tous les schémas et tous les clients. Dans des versions potentiellement différentes du schéma.

Si vous optez pour une architecture multi-locataires, il peut être plus judicieux d'utiliser une sorte d'extension pour la table. Vous avez donc un DB.TABLE_ONE unique, avec une colonne CUSTOMER_DATA dans laquelle vous placez les données dans un format connu et flexible (disons JSON ou XML). Certains SGBDR ont cela en tant que fonctionnalités natives (je crois que DB2 en fait partie).

Espérons que cela aide.

Questions connexes