5

¿Alguien conoce un XSD neutral del proveedor para describir un esquema de base de datos relacional? Nuestro sistema tiene que agarrar la información sobre la estructura de una base de datos:Base de datos estándar XSD neutral para describir un esquema de base de datos relacional

  • Tablas
  • Columnas y tipos
  • claves primarias y externas Restricciones
  • índices
  • etc

en una de manera independiente del vendedor y almacenarlo en un archivo XML para su posterior procesamiento.

Antes de hacer lo que normalmente hacemos y rodar el nuestro. Quería investigar un poco y ver si existía un XSD en el que las personas se estaban estandarizando, por lo que supongo que no es un requisito poco común para las herramientas de modelado y demás. No encontré nada en Google que no fuera específico del proveedor de la base de datos. Si conoce un estándar público existente, apreciaría mucho un enlace.

Gracias de antemano,

Terence

+0

¿Está buscando describir el esquema, a la derecha, y no las instancias del esquema? ¿No hay datos que se ajusten al esquema? –

+1

¿Por qué no solo almacena el SQL necesario para construir la base de datos? ¿Me estoy perdiendo algo o eres tú? – Pesto

+0

La parte engañosa es que, si bien la estructura de la tabla en sí misma puede ser bastante simple, es probable que el XSD generado por un proveedor específico tenga sus propias extensiones de espacio de nombres para cumplir específicamente con su producto. Encontrar algo más genérico sin tener que codificarlo él mismo si lo que creo es el problema. –

Respuesta

2

esto no es exactamente lo que está buscando, pero el PostgresSQL Wiki tiene una interesante sección de la exportación XML, que describe la forma en que están apoyando SQL y XML juntos . Muestra una sección sobre cómo se exportaría una tabla como XML y el XSD que lo admitiría, lo que parece bastante genérico. Podría servir como modelo para que usted cree el suyo propio.

El Wiki se refiere a la referencia a un estándar ISO/CEI 9075-14: 2006, que parece ser adoptado por algunos grandes proveedores como referencia. Navego rápidamente en el sitio ISO dice que: 2006 fue updated hasta 2008. Estoy seguro de que puede encontrar una especificación cubierta de esto que no tiene que pagar para descargar.

El artículo también apunta a una definición SQL/XML standard que está un poco desactualizada, pero podría satisfacer sus necesidades si está buscando algunos conceptos básicos.

+0

Gracias, voy a echar un vistazo. – Terence

+0

Eché un vistazo y el estándar cuesta unos cientos de dólares, así que solo voy a aprovechar lo que hicieron los chicos de Postgres. Gracias y Marc por tus pensamientos. – Terence

1

Problema interesante: no conozco ningún estándar o herramienta para lograr esto.

Casi tendría que tener algún tipo de versión "neutralizada" con adaptadores para cada sistema de base de datos individual al que desee apuntar, incluso para mapear todos los diferentes tipos de datos (VARCHAR y NVARCHAR en SQL Server, VARCHAR2 en Oracle y así).

Puede usar simplemente los tipos definidos en el estándar SQL 2003: pero incluso entonces, probablemente todavía tenga que tener algún tipo de asignación/adaptación específica del proveedor. Sin mencionar algún tipo de soporte para detalles de implementación específicos del proveedor (como columnas de IDENTIDAD en SQL Server frente a SEQUENCE en Oracle y otros).

¡Pregunta muy interesante! Espero que otros puedan arrojar más luz sobre el tema y tal vez recomendar una herramienta existente.

Si no es así, y decide lanzar el suyo propio, considérelo como código abierto en CodePlex o Google Code. ¡Estoy seguro de que mucha gente estaría muy interesada!

MArc

+0

Si tenemos que rodar el nuestro y no apesta :-) Definitivamente vamos a considerar hacerlo de código abierto. Saludos Terence – Terence

0

El UML de Información de Gestión Metamodel (IMM) Especificación de OMG puede vale la pena intentarlo.

Cuestiones relacionadas