Crear XML desde MySQL es tan fácil como PI
MySQL es una opción popular entre las bases de datos, especialmente para datos webcéntricos. Ahora hay otra razón para amar esta base de datos: hace que la integración de sus datos en un documento XML sea tan fácil como un pastel. Desafortunadamente, importar XML en MySQL es más como pastel de queso de chocolate, pero hay soluciones disponibles. Simplemente siga esta guía y estará en camino de integrar servicios Web con su base de datos en poco tiempo.
A partir de cero
Con la creciente popularidad de XML, los desarrolladores han encontrado un método sencillo para presentar conjuntos de datos de forma estandarizada. ¿A qué más suena eso? Una base de datos! Es natural que sea fácil convertir su información sin mucho alboroto, y usted puede hacerlo.
Algunos fabricantes de bases de datos propietarios, como Microsoft e IBM, han tomado medidas para integrar XML en sus sistemas. Esto no es una sorpresa, ya que estas dos empresas están muy involucradas en el proyecto de estandarización XML.
No queriendo quedarse atrás, los creadores de la base de datos MySQL incorporaron un medio para generar un archivo de datos XML. Es compatible con la versión 3.23.48 y superior. Puede utilizar la línea de comandos o facilitar el proceso con el lenguaje de programación de su elección.
Para comenzar, puede descargar la base de datos MySQL de forma gratuita desde MySQL.com. La versión actual es suficiente para soportar esta característica, y no es necesario compilarla con ningún parámetro especial.
Relleno de frutas
Una vez que haya instalado, creado y rellenado la base de datos, ejecute el siguiente comando para generar un archivo XML:
mysqldumpename xml databasename
Si desea guardarlo en un archivo, simplemente utilice el método estándar *NIX para generar un archivo:
mysqldump
<?xml version= «1.0»?>
<table1>
<field1>data1</field1>
<field2>data1</field2>
<field3>data1</field3>
<field1>data2</field1>
<field2>data2</field2>
<field3>data2</field3>
</table1>
<table2></table2>
Ahora eres libre de utilizar este archivo de datos con cualquier aplicación que usted desea. Este método es útil de varias maneras. No solo creará una representación estandarizada de sus datos, sino que también puede tomar una instantánea de su base de datos (o parte de su base de datos) para mostrarla. En lugar de realizar llamadas repetidas al servidor de base de datos, solo genere un documento XML cuando cambie su base de datos y haga referencia a eso desde páginas web o lo que esté utilizando. Esto puede localizar llamadas de datos, reducir la sobrecarga de llamadas frecuentes a una base de datos y presentar fácilmente un subconjunto de su información para mejorar el rendimiento, la seguridad o la localización.
Helado al lado
Es muy fácil obtener XML de MySQL, pero ¿qué tal la otra dirección? Eso es un poco más complicado. MySQL en sí no soporta esta función, y por una buena razón. Actualmente, la base de datos no tiene forma de validar el archivo XML. Esto podría dar lugar a una serie de escenarios, que van desde una carga parcial hasta ignorar etiquetas y sentencias malformadas y simplemente forzar el fallo de toda la carga. MySQL solo admite back-outs en cascada en las versiones de desarrollo actuales. Si bien no es bonito desde un punto de vista nativo, tienes algunas opciones.
Una solución es DBIx de Perl::XML_RDB módulo. Puede usar este método para importar y exportar XML, aunque es comprensible que la importación dependa en gran medida de un archivo XML correctamente estructurado. Para obtener los datos, el módulo esencialmente ejecuta una consulta y formatea los resultados en un archivo XML. Por el contrario, puede usar el módulo para leer un archivo XML, crear una consulta SQL y ejecutarlo. También hay una opción más sencilla. El módulo DBIx::XML_RDB viene con dos scripts de utilidad para facilitar el proceso: xml2sql.pl y sql2xml.pl. Encontré un gran tutorial sobre el uso de este módulo de Perl en O’Reilly XML.com Sitio web. Te guiará a través del proceso.
Otro esfuerzo más generalizado proviene del proyecto XML-DBMS de Ron Bourret. Este es un esfuerzo continuo para admitir importaciones y exportaciones XML con bases de datos relacionales que utilizan Perl y Java. También hay un trabajo muy interesante que admite la asignación de una base de datos a otra utilizando XML como medio de software. Este es un proyecto de código abierto orientado a la comunidad que se gestiona en SourceForge.
Otros idiomas, en particular los lenguajes de scripting web, tampoco han ignorado la necesidad de importar XML a bases de datos SQL. Hay esfuerzos similares para Python, como los módulos xml2sql y dtd2sql, descritos en detalle en este artículo de IBM, y un par de proyectos en marcha para PHP, como el proyecto «XML MySQL class».
Delicioso
Con estas utilidades, importar y exportar XML hacia y desde MySQL es fácil! Dado que MySQL es popular y gratuito, ha sido el banco de pruebas para integrar muchos lenguajes de scripting en XML, y como resultado hay una serie de tutoriales y scripts específicos para esta base de datos. Con el poder de una base de datos relacional y la capacidad de crear fácilmente archivos XML, MySQL puede ser una parte integral de su solución de servicios Web.
¿Quieres una rebanada?
¿Cuáles son sus experiencias con bases de datos XML y relacionales? Únase a la discusión a continuación o envíenos un correo electrónico con sus pensamientos.