¿Qué es XML y cómo se usa en las bases de datos? Si esto parece una tarea para hacer, lo es.XML y sus usos en las bases de datos
Respuesta
Las bases de datos a menudo se usan para almacenar bloques de XML para aplicaciones que no desean serializarlo en un esquema de base de datos real. Pero en general, XML no se usa en las bases de datos.
Esto se debe a que las bases de datos tratan sobre el almacenamiento de datos cuando, como XML, se trata de transmitirlo de manera independiente.
(simplificado) Por lo general, lo que ocurre es una aplicación convierte los datos de la base de datos A en una secuencia XML que se transmite a la aplicación B. Aplicación B a continuación, convierte el XML en una serie de sentencias SQL que crean los registros de la base de datos B.
Hay muchos otros escenarios, pero esto le da una idea general.
gracias esto ayudó. – user431372
En general, la mayoría de los puntos de la respuesta de Derek se aplican.
Definitivamente lo pensaría dos veces antes de usar XML en la base de datos.
La mayoría de las aplicaciones utilizan comúnmente bases de datos relacionales. Sin embargo, a veces, la información en el sistema es de naturaleza más jerárquica. Almacenar jerarquía en una estructura RDBMS es definitivamente posible, pero requiere mucha manipulación recuperarlo para volver a su estructura deseada (cosas como los CTE recursivos en SQL Server hacen que esta tarea sea más fácil pero no necesariamente más rápida)
Entonces, si encuentra algo así como tener que almacenar una jerarquía de carpetas de nivel o tal vez una jerarquía organizacional, ambas de naturaleza jerárquica, a veces es mejor almacenarla como XML. La base de datos suele ser el mecanismo de almacenamiento común y porque facilita la sincronización de los cambios, por lo tanto, estos datos se almacenan como tales en DB, aunque también podrían almacenarse como archivos planos.
La mayoría de bases de datos relacionales hoy en dia por lo tanto, ofrecen una gran cantidad de soporte XML donde se puede utilizar T-SQL para consultar los datos/actualización de los nodos seleccionados etc.
Re: ¿Qué es XML - para empezar ven here
muchas gracias En Sane. – user431372
Xml (Lenguaje de marcado extensible) es un lenguaje de marcado para que codifica documentos en un formato legible a máquina , con énfasis en flexibilidad, simplicidad y usabilidad a través de Internet.
Sus principales ventajas sobre otras codificaciones son la interoperabilidad: muchos entornos de programación tienen la capacidad de leer y analizar XML, y tiene la ventaja de ser legible por el ser humano. Por esta razón, xml se usa comúnmente al transportar o comunicar datos (como en Internet).
El Wikipedia page on xml tiene mucha información más específica, sin embargo, algunos ejemplos de los diversos usos de XML son:
- RSS, un protocolo utilizado para publicar las alimentaciones de contenido actualizado con frecuencia.
- XHTML, una extensión de HTML
- SOAP (Simple Object Access Protocol), un protocolo comúnmente utilizado para estructurar la información en los servicios web
Por el contrario, la verbosidad de xml y estructura flexible se consigue a costa de ser relativamente costoso de leer (en términos de potencia computacional) y, por lo tanto, xml generalmente no se utiliza como una codificación de almacenamiento en aplicaciones orientadas al rendimiento (como las bases de datos).
En términos de cómo xml sería se utilizará en bases de datos - una base de datos puede optar por exponer datos a su cliente en un formato xml o aceptar datos del cliente en un formato xml. Las bases de datos también se pueden usar para almacenar "Blobs" de datos xml como registros en una tabla, sin embargo, esto tiene el costo de que sea difícil consultar la base de datos en función del contenido de ese xml.
Gracias Kragen, este hepls mucho – user431372
Las publicaciones de Derek, In Sane y Kragen son correctas, pero me gustaría dar un paso más.
Dado que XML utiliza intrínsecamente un esquema (un esquema para definir qué representa el marcado), XML por sí solo puede considerarse una base de datos similar al concepto de cualquier otra base de datos.
Puede definir su propio esquema para XML (un XSD) y luego conservar los datos en su formato XML elegido.
Cierto, puede elegir rellenar un montón de XML en un campo de texto en una base de datos SQL, pero también podría usar XML como base de datos ya que una base de datos podría ser nada más que datos persistentes en un esquema diseñado para contener esa información. Aquí hay un área gris considerando que incluso un archivo de texto simple delimitado por comas podría considerarse una base de datos si usted escribió un programa para almacenar y acceder a datos en formato CSV también.
De todos modos, con XML, ya hay definido estándares para cómo el esquema puede ser definido (las normas XSD) y analizadores están construidos para cumplir con los estándares de lo que puede poner datos en y leer datos de documentos excoded en XML que se ajusta a un esquema con nombre (XSD).
Supongo que cuando pregunta cómo se utiliza XML en una base de datos, supongo que mi primera pregunta es ¿qué quiere decir exactamente con "base de datos"?
¿Quiere decir una implementación de proveedor específica de una base de datos SQL? O tal vez "base de datos" como un concepto lógico? O quizás, ¿cómo se puede usar XML para mejorar la interacción con un tipo específico de base de datos?
De las respuestas hasta ahora, creo que todos estamos respondiendo con una idea diferente de lo que quiere decir con "base de datos".
XQUERY, por ejemplo, se puede utilizar de una manera estandarizada a "consulta" datos en un conjunto de archivos XML, o en un XML contexto completamente diferente se pueden utilizar para pasar fácilmente a los datos dentro y fuera de Oracle o SQL Servidor porque Microsoft y Oracle proporcionan interfaces que cumplen con los estándares XML.
gracias por su respuesta. – user431372
Ok, cuando dije "base de datos" Estoy en general referente a las bases de datos creadas por, y se accede a través de un motor relacional como Oracle, SQL Server, etc.
Sí que sin duda puede utilizar como archivos XML medios de almacenar datos.A menudo se hace para cantidades muy pequeñas y simples de datos. pero esta es una decisión arquitectónica a menudo impulsada por la cantidad de esfuerzo que el desarrollador debería tener para implementar una base de datos relacional frente a la lectura y escritura de archivos XML, y/o el uso futuro de esos datos. A veces es más fácil usar un archivo XML, a veces no es así.
Es relativamente fácil generar XML a partir de datos relacionales. Ejemplo: generar un feed Atom a partir de datos relacionales. Ejemplo: http://h2database.googlecode.com/svn/trunk/h2/src/test/org/h2/samples/newsfeed.sql
Los documentos XML o HTML (o fragmentos) a menudo se almacenan tal cual (sin procesamiento) en las bases de datos.
- 1. OpenSocial y sus usos
- 2. C# Atributos y sus usos
- 3. ¿Dónde almacena RegexBuddy sus datos de trabajo entre usos?
- 4. Bases de datos, codificación de caracteres, archivos PDF y XML
- 5. Entender las claves en bases de datos
- 6. atributos multivalor en las bases de datos
- 7. ¿Cuál es la diferencia entre las bases de datos basadas en gráficos y las bases de datos orientadas a objetos?
- 8. ¿Están las bases de datos orientadas a documentos destinadas a reemplazar las bases de datos relacionales?
- 9. Matrices y bases de datos
- 10. En mysql, las bases de datos show; el comando no enumera todas mis bases de datos
- 11. ¿Cómo funcionan las bases de datos internamente?
- 12. SOA y bases de datos compartidas
- 13. ¿Cómo son las bases de datos eficientes?
- 14. MongoDB soltar todas las bases de datos
- 15. Bases de datos relacionales y Matemáticas?
- 16. ¿Dónde almacena sus configuraciones de script PHP como datos de acceso a bases de datos?
- 17. TFS bifurcación y bases de datos
- 18. Clojure y bases de datos NoSQL
- 19. Entity Framework y bases de datos multilingües
- 20. ¿Las actualizaciones de diseño de bases de datos aún se usan en Magento?
- 21. Usos creativos de las flechas
- 22. Espacio en disco hambriento Las bases de datos de NoSQL
- 23. ¿Los sistemas grandes usan claves foráneas en sus bases de datos?
- 24. Pasa por las bases de datos en el servidor y actualiza los datos
- 25. ¿Qué son las extensiones .db-shm y .db-wal en las bases de datos Sqlite?
- 26. Cómo manejar las conexiones de bases de datos en Qt?
- 27. ¿Cómo pruebo las migraciones de bases de datos?
- 28. ¿Son buenas las bases de datos de archivos planos?
- 29. StructureMap, NHibernate y bases de datos múltiples
- 30. Bases de datos translúcidas
http://www.oracle.com/technetwork/articles/quinlan-xml-095823.html – abhi