5

Quelqu'un at-il connaissance d'un XSD non fournisseur pour décrire un schéma de base de données relationnelle? Notre système a besoin de saisir des informations sur la structure d'une base de données:XSD neutre de base de données standard pour décrire un schéma de base de données relationnelle

  • Tables
  • Colonnes et types
  • clés primaires et étrangères contraintes
  • Indices
  • etc

dans un fournisseur indépendant et le stocker dans un fichier XML pour un traitement ultérieur. Avant de faire ce que nous faisons habituellement et de rouler le nôtre. Je voulais faire des recherches et voir s'il y avait un XSD existant sur lequel les gens standardisent pour ce que je suppose n'est pas une exigence rare pour les outils de modélisation et autres. Je n'ai rien trouvé sur Google qui ne soit spécifique au fournisseur de base de données. Si vous connaissez une norme publique existante, j'apprécierais beaucoup un lien.

Merci à l'avance,

Terence

+0

Vous cherchez à décrire le schéma, à droite, et non les instances du schéma? Pas de données conformes au schéma? –

+1

Pourquoi ne pas simplement stocker le SQL nécessaire pour construire la base de données? Ai-je manqué quelque chose ou êtes-vous? – Pesto

+0

La partie délicate est que même si la structure de la table elle-même peut être plutôt simple, le XSD généré par un fournisseur spécifique aura très probablement ses propres extensions d'espace de noms pour se conformer spécifiquement à leur produit. Trouver quelque chose de plus générique sans avoir à le coder lui-même si ce que je crois est le problème. –

Répondre

2

Ce n'est pas exactement ce que vous cherchez, mais le PostgresSQL Wiki a une section intéressante sur les exportations XML, qui décrit comment ils soutiennent ensemble SQL et XML . Il affiche une section sur la façon dont une table serait exportée en XML et le XSD qui la supporterait, 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 grands fournisseurs comme référence. Je navigue rapidement sur le site ISO dit que: 2006 était updated à 2008. Je suis sûr que vous pouvez trouver une spécification couverte de ce que vous n'avez pas à payer pour le téléchargement.

L'article pointe également vers une définition SQL/XML standard qui est un peu désuète, mais qui pourrait répondre à vos besoins si vous cherchez des notions de base.

+0

Merci, je vais jeter un coup d'oeil. – Terence

+0

J'ai jeté un coup d'oeil et le standard coûte quelques centaines de dollars, donc je vais juste tirer parti de ce que les gars de Postgres ont fait. Merci et Marc pour vos pensées. – Terence

1

Problème intéressant - Je ne connais aucun standard ou outil pour y parvenir. Vous devriez presque avoir une sorte de version "neutralisée" avec des adaptateurs pour chaque système de base de données que vous voulez cibler - même juste 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 encore avoir une sorte de mappage/adaptation de type spécifique au fournisseur. Sans parler de la prise en charge des détails d'implémentation spécifiques au fournisseur (comme les colonnes IDENTITY dans SQL Server et 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 la question et peut-être recommander un outil existant. Si ce n'est pas le cas, et que vous décidez de lancer le vôtre, pensez à le rendre open-source sur CodePlex ou Google Code! Je suis sûr que beaucoup de gens seraient plus intéressés!

MArc

+0

Si nous devons rouler les nôtres et ça ne pue pas :-) Nous allons certainement essayer de le rendre open source. Salutations Terence – Terence

0

L'UML gestion de l'information métamodèle (IMM) Spécification d'OMG peut la peine d'essayer.