crearea XML din MySQL este la fel de ușoară ca PI
MySQL este o alegere populară printre bazele de date, în special pentru datele Webcentric. Acum există un alt motiv pentru a iubi această bază de date—face integrarea datelor într-un document XML la fel de ușor ca placinta. Din păcate, importul XML în MySQL este mai mult ca cheesecake de ciocolată, dar există soluții disponibile. Doar urmați acest ghid și veți fi pe cale de a integra servicii Web cu baza de date în cel mai scurt timp.
pornind de la zero
odată cu popularitatea crescândă a XML, dezvoltatorii au găsit o metodă ușoară de a prezenta seturi de date într-un mod standardizat. Cum mai sună asta? O bază de date! Este firesc să fie simplu să vă convertiți informațiile fără multă agitație-și puteți.
unii producători de baze de date proprietare, cum ar fi Microsoft și IBM, au luat măsuri pentru a integra XML în sistemele lor. Acest lucru nu este o surpriză, deoarece aceste două companii sunt implicate puternic în proiectul de standardizare XML.
nedorind să fie lăsați în urmă, creatorii bazei de date MySQL au încorporat un mijloc de generare a unui fișier de date XML. Este acceptat în versiunea 3.23.48 și în sus. Puteți utiliza linia de comandă sau puteți facilita procesul cu limbajul de programare la alegere.
pentru a începe, puteți descărca gratuit Baza de date MySQL de pe MySQL.com. versiunea curentă este suficientă pentru a susține această caracteristică și nu este nevoie să o compilați cu parametri speciali.
umplere fructe
după ce ați instalat, creat și populat baza de date, executați următoarea comandă pentru a genera un fișier XML:
mysqldump –xml databasename
dacă doriți să salvați acest lucru într-un fișier, pur și simplu utilizați metoda standard *NIX de ieșire într-un fișier:
mysqldump –xml databasename > nume de fișier.xml
aceasta produce un document XML bine format. Deoarece XML este datacentric, dacă vă aruncați întreaga bază de date și nu conține informații, fișierul dvs. va avea ca rezultat o serie de etichete goale bazate pe numele tabelelor. Ieșirea dvs. ar trebui să arate cam așa:
<?versiunea xml=”1.0″?>
<table1>
<field1>data1</field1>
<field2>data1</field2>
<field3>data1</field3>
<field1>data2</field1>
<field2>data2</field2>
<field3>data2</field3>
</table1>
<table2></table2>
acum sunteți liber să utilizați acest fișier de date cu orice aplicație doriți. Această metodă este utilă în mai multe moduri. Nu numai că va crea o reprezentare standardizată a datelor dvs., dar poate, de asemenea, să ia un instantaneu al bazei de date (sau o parte din Baza de date) pentru afișare. În loc să efectuați apeluri repetate către serverul bazei de date, generați doar un document XML atunci când baza de date se schimbă și se referă la paginile Web sau la orice utilizați. Aceasta poate localiza apelurile pentru date, reduce cheltuielile generale ale apelurilor frecvente către o bază de date și poate prezenta cu ușurință un subset al informațiilor dvs. pentru performanțe, securitate sau localizare îmbunătățite.
înghețată pe partea
este foarte ușor să obțineți XML de la MySQL, dar ce zici de cealaltă direcție? E puțin mai complicat. MySQL în sine nu acceptă această funcție și cu un motiv întemeiat. Baza de date are în prezent nici o modalitate de a valida fișierul XML. Acest lucru ar putea duce la o serie de scenarii, variind de la o sarcină parțială la ignorarea etichetelor și declarațiilor malformate până la forțarea pur și simplu a întregii încărcări să eșueze. MySQL acceptă numai back-out-uri în cascadă în versiunile actuale de dezvoltare. Deși nu este frumos din punct de vedere nativ, aveți câteva opțiuni.
o soluție este Dbix-ul lui Perl::Modulul XML_RDB. Puteți utiliza această metodă pentru a importa și exporta XML, deși este de înțeles că importul depinde în mare măsură de un fișier XML structurat corect. Pentru a obține datele, modulul rulează în esență o interogare și formatează rezultatele într-un fișier XML. În schimb, puteți utiliza modulul pentru a citi un fișier XML, a crea o interogare SQL și a-l executa. Există și o opțiune mai simplă. Modulul DBIx::xml_rdb este livrat cu două scripturi utilitare pentru a facilita procesul: xml2sql.pl și sql2xml.pl. am găsit un tutorial excelent despre utilizarea acestui modul Perl la O ‘Reilly’ s XML.com site-ul web. Acesta vă va ghida prin procesul.
un alt efort mai generalizat provine din proiectul XML-DBMS al lui Ron Bourret. Acesta este un efort continuu de a sprijini importurile și exporturile XML cu baze de date relaționale folosind Perl și Java. Există, de asemenea, o lucrare foarte interesantă care acceptă maparea unei baze de date la alta folosind XML ca mijloc de facilitare. Acesta este un proiect open source orientat către comunitate gestionat pe SourceForge.
alte limbi, în special limbajele de script Web, nu au ignorat nici necesitatea importării XML în bazele de date SQL. Există eforturi similare pentru Python, cum ar fi modulele xml2sql și dtd2sql, prezentate în detaliu în acest articol de la IBM și câteva proiecte în lucrările pentru PHP, cum ar fi proiectul „XML MySQL class”.
Scrumptious
cu aceste utilități, importul și exportul XML în și de la MySQL este ușor! Deoarece MySQL este popular și gratuit, a fost patul de testare pentru integrarea multor limbaje de script în XML și, ca rezultat, există o serie de tutoriale și scripturi specifice acestei baze de date. Cu puterea unei baze de date relaționale și capacitatea de a crea cu ușurință fișiere XML, MySQL poate fi o parte integrantă a soluției dvs. de servicii Web.
vrei o felie?
care sunt experiențele Dvs. cu bazele de date XML și relaționale? Alătură-te discuției de mai jos sau trimite-ne un e-mail cu gândurile tale.