3 stycznia, 2022

Tworzenie XML z MySQL jest tak proste jak PI

MySQL jest popularnym wyborem wśród baz danych, szczególnie dla danych Webcentrycznych. Teraz jest jeszcze jeden powód, aby pokochać tę bazę danych-sprawia, że integracja danych z dokumentem XML jest tak łatwa jak ciasto. Niestety, importowanie XML do MySQL jest bardziej jak sernik czekoladowy, ale są dostępne rozwiązania. Po prostu postępuj zgodnie z tym przewodnikiem, a będziesz na dobrej drodze do integracji usług internetowych z bazą danych w mgnieniu oka.
zaczynając od zera
wraz z rosnącą popularnością XML, Programiści znaleźli łatwą metodę prezentacji zbiorów danych w ustandaryzowany sposób. Jak to jeszcze brzmi? Baza danych! To naturalne, że konwersja informacji powinna być prosta bez większego zamieszania—i możesz to zrobić.
niektórzy producenci zastrzeżonych baz danych, tacy jak Microsoft i IBM, podjęli kroki w celu zintegrowania XML z ich systemami. Nie dziwi to, ponieważ obie firmy są silnie zaangażowane w projekt standaryzacji XML.
nie chcąc pozostać w tyle, twórcy bazy danych MySQL wprowadzili sposób na generowanie pliku danych XML. Jest obsługiwany w wersji 3.23.48 i nowszej. Możesz użyć wiersza poleceń lub ułatwić proces za pomocą wybranego języka programowania.
aby zacząć, możesz pobrać bazę danych MySQL za darmo z MySQL.com. aktualna wersja jest wystarczająca do obsługi tej funkcji i nie musisz kompilować jej z żadnymi specjalnymi parametrami.
wypełnianie owoców
po zainstalowaniu, utworzeniu i wypełnieniu bazy danych wykonaj następujące polecenie, aby wygenerować plik XML:
mysqldump –XML databasename
jeśli chcesz zapisać to do pliku, po prostu użyj standardowej metody *NIX wyprowadzania do pliku:
mysqldump –XML databasename > filename.xml
tworzy to dobrze uformowany dokument XML. Ponieważ XML jest datacentric, jeśli zrzucisz całą bazę danych i nie zawiera ona żadnych informacji, Twój plik spowoduje serię pustych znaczników opartych na nazwach tabel. Twoje wyjście powinno wyglądać mniej więcej tak:
<?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>
teraz możesz korzystać z tego pliku danych z dowolną aplikacją. Ta metoda jest przydatna na wiele sposobów. Nie tylko stworzy ustandaryzowaną reprezentację danych, ale może również wykonać migawkę bazy danych (lub jej części) do wyświetlenia. Zamiast wykonywać powtarzające się połączenia z serwerem bazy danych, po prostu Wygeneruj dokument XML, gdy zmieni się baza danych i odwołaj się do niego ze stron internetowych lub czegokolwiek, czego używasz. Może to lokalizować połączenia z danymi, zmniejszać koszty związane z częstymi połączeniami z bazą danych i łatwo prezentować podzbiór informacji w celu poprawy wydajności, bezpieczeństwa lub lokalizacji.

lody na boku
naprawdę łatwo jest pobrać XML z MySQL, ale co z drugim kierunkiem? To trochę trudniejsze. Sam MySQL nie obsługuje tej funkcji i nie bez powodu. Baza danych nie ma obecnie możliwości walidacji pliku XML. Może to skutkować wieloma scenariuszami, począwszy od częściowego obciążenia, poprzez ignorowanie zniekształconych znaczników i instrukcji, a skończywszy na zmuszaniu całego obciążenia do niepowodzenia. MySQL obsługuje tylko kaskadowe back-outy w aktualnych wersjach rozwojowych. Chociaż nie jest to ładne z rodzimego punktu widzenia, masz kilka opcji.
jednym z rozwiązań jest DBIx Perla::Moduł XML_RDB. Możesz użyć tej metody zarówno do importowania, jak i eksportowania pliku XML, choć co zrozumiałe, import jest w dużym stopniu zależny od poprawnie ustrukturyzowanego pliku XML. Aby uzyskać dane, moduł zasadniczo uruchamia zapytanie i formatuje wyniki w pliku XML. Z drugiej strony moduł można wykorzystać do odczytu pliku XML, utworzenia zapytania SQL i wykonania go. Istnieje również prostsza opcja. Moduł DBIx:: XML_RDB jest dostarczany z dwoma skryptami narzędziowymi, aby ułatwić proces: xml2sql.pl oraz sql2xml.pl. znalazłem świetny tutorial na temat korzystania z tego modułu Perla w O 'Reilly’ s XML.com strona www. Przeprowadzi Cię przez proces.
kolejny, bardziej uogólniony wysiłek pochodzi z projektu XML-DBMS Rona Bourreta. Jest to ciągły wysiłek, aby wspierać import i eksport XML z relacyjnymi bazami danych przy użyciu Perl i Java. Istnieje również kilka bardzo interesujących prac, które wspierają mapowanie jednej bazy danych do drugiej za pomocą XML jako ułatwiającego oprogramowanie pośrednie. Jest to zorientowany na społeczność projekt open source zarządzany na SourceForge.
inne języki, zwłaszcza webowe języki skryptowe, również nie zignorowały potrzeby importowania XML do baz danych SQL. Istnieją podobne wysiłki dla Pythona, takie jak moduły xml2sql i dtd2sql, opisane szczegółowo w tym artykule od IBM, i kilka projektów w pracach dla PHP, takich jak projekt” XML MySQL class”.
przepyszny
dzięki tym narzędziom importowanie i eksportowanie XML do iz MySQL jest łatwe! Ponieważ MySQL jest popularny i darmowy, jest to łóżko testowe do integracji wielu języków skryptowych w XML, w wyniku czego istnieje wiele samouczków i skryptów specyficznych dla tej bazy danych. Dzięki mocy relacyjnej bazy danych i możliwości łatwego tworzenia plików XML, MySQL może być integralną częścią Twojego rozwiązania usług internetowych.
chcesz kawałek?
jakie masz doświadczenia z XML i relacyjnymi bazami danych? Dołącz do dyskusji poniżej lub wyślij nam e-mail ze swoimi przemyśleniami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.