Question

Quelqu'un sait-il qu'un XSD neutre en termes de fournisseur permet de décrire un schéma de base de données relationnelle? Notre système doit récupérer des informations sur la structure d'une base de données:

  • Tableaux
  • Colonnes et types
  • Contraintes de clés primaires et étrangères
  • index
  • etc

de manière indépendante du fournisseur et stockez-le dans un fichier XML pour un traitement ultérieur.

Avant de faire ce que nous faisons habituellement, nous faisons notre propre. Je voulais faire des recherches et voir s'il existait déjà une XSD que les gens normalisent pour ce que je suppose n'est pas une exigence inhabituelle pour les outils de modélisation, etc. Je n'ai rien trouvé sur Google qui ne soit pas spécifique au fournisseur de base de données. Si vous connaissez une norme publique existante, j'apprécierais beaucoup un lien.

Merci d'avance,

Terence

Était-ce utile?

La solution

Ce n'est pas exactement ce que vous recherchez, mais le Wiki PostgresSQL a une section intéressante sur les exportations XML, décrivant comment elles prennent en charge SQL et XML ensemble. Il affiche une section sur la manière dont une table serait exportée en tant que XML et le format XSD qui la prend en charge, ce qui semble plutôt générique. Cela pourrait vous servir de modèle pour créer le vôtre.

Le wiki parle de la référence à une norme ISO / IEC 9075-14: 2006, qui semble être adoptée par quelques gros fournisseurs comme base de référence. Je navigue rapidement sur le site de l’ISO qui dit: 2006 était mis à jour à 2008. Je suis sûr que vous pouvez trouver une spécification couverte de ce que vous n'avez pas à payer pour télécharger.

L'article indique également une définition de norme standard / SQL / XML un peu dépassée, mais qui pourrait servir vos besoins si vous recherchez des bases.

Autres conseils

Problème intéressant - Je ne connais aucune norme ni aucun outil pour y parvenir.

Il vous faudrait presque une sorte de "neutralisé" version avec des adaptateurs pour chaque système de base de données que vous souhaitez cibler, même pour mapper tous les types de données (VARCHAR et NVARCHAR dans SQL Server, VARCHAR2 dans Oracle, etc.).

Vous pouvez simplement utiliser les types définis dans la norme SQL: 2003 - mais même dans ce cas, vous devrez probablement toujours disposer d’un type de mappage / d’adaptation spécifique au fournisseur. Sans parler de la prise en charge des détails d’implémentation propres aux fournisseurs (comme les colonnes IDENTITY dans SQL Server par opposition à SEQUENCE dans Oracle et autres).

Question très intéressante! J'espère que d'autres seront en mesure de faire la lumière sur ce problème et de recommander peut-être un outil existant.

Sinon, et vous décidez de lancer le vôtre - envisagez de le rendre open-source sur CodePlex ou Google Code! Je suis sûr que beaucoup de gens seraient plus intéressés!

MARC

Les spécifications du métamodèle de gestion de l'information UML (IMM) d'OMG méritent d'être essayées.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top