5

Qualcuno è a conoscenza di un XSD indipendente dal fornitore per descrivere uno schema di database relazionale? Il nostro sistema ha bisogno di afferrare informazioni sulla struttura di un database:XSD standard del database neutrale per descrivere uno schema di database relazionale

  • Tabelle
  • Colonne e tipi
  • chiavi primarie ed esterne Vincoli
  • indici
  • ecc

in un indipendente dal venditore e memorizzarlo in un file XML per un'elaborazione successiva.

Prima di fare ciò che di solito facciamo e arrotoliamo da soli. Volevo fare qualche ricerca e vedere se esisteva un XSD esistente su cui le persone si stanno uniformando per quello che presumo non sia un requisito non comune per strumenti di modellazione e simili. Non ho trovato nulla su Google che non fosse specifico per il database. Se conosci uno standard pubblico esistente, apprezzerei molto il collegamento.

Grazie in anticipo,

Terence

+0

Stai cercando di descrivere lo schema, giusto e non le istanze dello schema? Non dati conformi allo schema? –

+1

Perché non memorizzi semplicemente l'SQL necessario per costruire il database? Mi sto perdendo qualcosa o sei tu? – Pesto

+0

La parte difficile è che mentre la struttura della tabella stessa può essere piuttosto semplice, l'XSD generato da un fornitore specifico avrà probabilmente le proprie estensioni dello spazio dei nomi per conformarsi in modo specifico al loro prodotto. Trovare qualcosa di più generico senza doverlo codificare autonomamente se ciò che ritengo sia il problema. –

risposta

2

Questo non è esattamente quello che stai cercando, ma la PostgresSQL Wiki ha una interessante sezione sulle esportazioni XML, che descrive il modo in cui stanno sostenendo SQL e XML insieme . Mostra 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.

Wiki parla del riferimento a uno standard ISO/IEC 9075-14: 2006, che sembra essere adottato da alcuni grandi fornitori come base di riferimento. Una rapida ricerca sul sito ISO dice che: il 2006 è stato updated a 2008. Sono sicuro che puoi trovare una specifica coperta di ciò che non devi pagare per scaricare.

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

+0

Grazie darò un'occhiata. – Terence

+0

Ho dato un'occhiata e lo standard costa qualche centinaio di dollari quindi ho intenzione di sfruttare ciò che i ragazzi di Postgres hanno fatto. Grazie e Marc per i tuoi pensieri. – Terence

1

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

Si dovrebbe quasi avere una sorta di versione "neutralizzata" 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).

È possibile utilizzare solo i tipi definiti nello standard SQL: 2003, ma anche in questo caso è probabile che sia ancora necessario un tipo di mappatura/adattamento specifico del fornitore. Per non parlare di alcuni tipi di supporto per i dettagli di implementazione specifici del fornitore (come le 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 lanciare il tuo - considera la possibilità di renderlo open source su CodePlex o Google Code! Sono sicuro che molte persone sarebbero molto interessate!

Marc

+0

Se dobbiamo girare il nostro e non puzza :-) Daremo sicuramente un'occhiata a renderlo open source. Saluti Terence – Terence

0

L'Information UML gestione Metamodel (IMM) Specifica da OMG maggio la pena di provare.