partir net esquema documento crear basado .net sql database xsd code-generation

.net - net - ¿Cómo puedo crear tablas de base de datos a partir de archivos XSD?



crear un documento xml basado en un esquema xsd (8)

Cree un modelo de Java utilizando Axis wsdl2java (que puede incluir archivos .xsd).

Use una herramienta de generación de base de datos para Java que tome un Modelo Java. Seguramente algo como Hibernate puede hacer esto? Escribí mi propia herramienta (lleva un par de días, también genera código CRUD en Java) para ahorrarme tiempo en el trabajo, ¿quizás sería un buen proyecto personal?

¡O simplemente hazlo manualmente para que puedas comprobar que todo está correcto y bien! Las herramientas de base de datos son lo suficientemente buenas ahora que puede crear tablas para un modelo sin demasiados problemas.

Tengo un conjunto de XSD a partir de los cuales genero clases de acceso a datos, procedimientos almacenados y más.

Lo que no tengo es una forma de generar una tabla de base de datos a partir de estos - ¿hay alguna herramienta que genere las declaraciones DDL para mí?

Esto no es lo mismo que crear tabla de BD desde la tabla de conjunto de datos , ya que no tengo tablas de conjunto de datos, sino XSD.


Hay una herramienta de línea de comandos llamada XSD2DB , que genera una base de datos a partir de archivos xsd, disponible en sourceforge.


La mejor forma de crear el esquema de base de datos SQL usando un archivo XSD es un programa llamado Altova XMLSpy, esto es muy simple:

  1. Crea un nuevo proyecto
  2. En la carpeta DTD / Schemas, haga clic derecho y seleccione agregar archivos
  3. Selecciona el archivo XSD
  4. Abra el archivo XSD agregado haciendo doble clic
  5. Ve a la barra de herramientas y mira Conversión
  6. Seleccionan Crear base de datos de estructura a partir del esquema XML
  7. Selecciona la fuente de datos
  8. Y finalmente, para exportar las llamadas de ruta, inmediatamente deje sus esquemas de scrip con SQL Server para ejecutar la consulta.

Espero eso ayude.


Los esquemas XML describen modelos de datos jerárquicos y es posible que no se correspondan bien con un modelo de datos relacional. Asignar XSD a tablas de bases de datos es muy similar al mapeo de objetos a tablas de bases de datos; de hecho, podría usar un marco como Castor que hace ambas cosas, le permite tomar un esquema XML y generar clases, tablas de base de datos y código de acceso a datos. Supongo que ahora hay muchas herramientas que hacen lo mismo, pero habrá una curva de aprendizaje y a las asignaciones predeterminadas les gustará no ser lo que quieres, así que tienes que dedicar tiempo a personalizar cualquier herramienta que uses.

XSLT podría ser la forma más rápida de generar exactamente el código que desea. Si se trata de un esquema pequeño de codificación rígida, podría ser más rápido que evaluar y aprender un montón de nuevas tecnologías.


Podría echar un vistazo a la herramienta XSD en Visual Studio 2k8 ... He creado un conjunto de datos relacionales de un xsd y podría ayudar de alguna manera.


Producto comercial: XML Spy de Altova.

Tenga en cuenta que no hay una solución general para esto. Un XSD puede describir fácilmente algo que no se asigna a una base de datos relacional.

Si bien puede tratar de "automatizar" esto, sus XSD deben diseñarse con una base de datos relacional en mente, o no funcionará bien.

Si los XSD tienen características que no se mapean bien, tendrás que (1) diseñar un mapeo de algún tipo y luego (2) escribir tu propia aplicación para traducir los XSD a DDL.

Estado allí, hecho eso. Trabaja por contrato, no hay fuente abierta disponible.


Yo uso XSLT para hacer eso. Escriba su XSD y luego pase sus modelos de datos a través de un XSLT escrito a mano que emite comandos SQL. Escribir un XSLT es mucho más rápido y reutilizable que un programa / script personalizado que puede escribir.

Al menos así es como lo hago en el trabajo, y gracias a eso tengo tiempo para pasar el rato en SO :)


hyperjaxb (versiones 2 y 3) en realidad genera archivos de mapeo hibernate y objetos de entidades relacionadas y también realiza una prueba de ida y vuelta para un XSD determinado y un archivo XML de muestra. Puede capturar el resultado del registro y ver las declaraciones DDL por usted mismo. Tuve que ajustarlos un poco, pero para empezar, te da una impresión básica azul.