Domanda

Qualcuno è a conoscenza di un XSD neutro del fornitore per descrivere uno schema di database relazionale? Il nostro sistema deve raccogliere informazioni sulla struttura di un database:

  • Tabelle
  • Colonne e tipi
  • Vincoli di chiavi primarie ed esterne
  • Indici
  • etc

in modo indipendente dal fornitore e archiviarlo in un file XML per l'elaborazione successiva.

Prima di fare ciò che facciamo di solito e fare il nostro. Volevo fare qualche ricerca e vedere se esisteva un XSD esistente su cui le persone si stanno standardizzando per quello che presumo non sia un requisito raro per strumenti di modellazione e simili. Non ho trovato nulla su Google che non fosse specifico del fornitore del database. Se conosci uno standard pubblico esistente apprezzerei molto un link.

Grazie in anticipo,

Terence

È stato utile?

Soluzione

Questo non è esattamente quello che stai cercando, ma il PostgresSQL Wiki ha un'interessante sezione sulle esportazioni XML, che descrive come supportano insieme SQL e XML. Visualizza una sezione su come una tabella verrebbe esportata come XML e XSD che la supporterebbe, che sembra piuttosto generica. Potrebbe servire da modello per crearne uno tuo.

Il Wiki parla del riferimento a uno standard ISO / IEC 9075-14: 2006, che sembra essere adottato da alcuni grandi fornitori come base. Scorro rapidamente sul sito ISO afferma che: il 2006 è stato aggiornato al 2008. Sono sicuro che puoi trovare una specifica coperta di questo che non devi pagare per il download.

L'articolo indica anche una definizione standard SQL / XML che è un po 'obsoleta, ma potrebbe servire le tue esigenze se stai cercando alcune nozioni di base.

Altri suggerimenti

Problema interessante - Non sono a conoscenza di standard o strumenti per raggiungere questo obiettivo.

Dovresti quasi avere una sorta di "neutralizzato" versione con adattatori per ogni singolo sistema di database che si desidera targetizzare - anche solo per mappare tutti i vari tipi di dati (VARCHAR e NVARCHAR in SQL Server, VARCHAR2 in Oracle e così via).

Potresti semplicemente usare i tipi definiti nello standard SQL: 2003 - ma anche allora probabilmente dovresti comunque avere una sorta di mappatura / adattamento specifica del fornitore. Per non parlare di un qualche tipo di supporto per i dettagli dell'implementazione specifici del fornitore (come colonne IDENTITY in SQL Server vs. SEQUENCE in Oracle e altri).

Domanda molto interessante! Spero che altri saranno in grado di far luce sul problema e magari raccomandare uno strumento esistente.

In caso contrario, e decidi di crearne uno tuo, considera di renderlo open-source su CodePlex o Google Code! Sono sicuro che molte persone sarebbero più interessate!

MARC

Le specifiche del metamodello UML Information Management (IMM) di OMG potrebbero valere la pena di provarle.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top