Forum Webscript.Ru

Общие => Веб-технологии => Тема начата: Maniac от 01 Марта 2004, 15:17:47

Название: XML и реляционные БД
Отправлено: Maniac от 01 Марта 2004, 15:17:47
Совсем меня замучал вопрос: как наиболее корректно и выгодно с точки зрения поиска хранить XML в реляционной БД? Все, что я находил в инете - как-то куцевато и некрасиво.
Может, кто знает?
Название: XML и реляционные БД
Отправлено: Макс от 01 Марта 2004, 15:30:12
приведи пример, как будет вестись поиск (а то все очень абстрактно описал)
Чем не устроили те решения, которые ты нашел ?

Почитай еще это (http://xpoint.ru/forums/internet/XML/thread/21078.xhtml)
Название: XML и реляционные БД
Отправлено: Maniac от 01 Марта 2004, 16:14:03
Макс
Я это уже читал. Много флейма - мало толку. Собственно, конкретная задача примерно такая же, как на том форуме: необходим инструмент, который бы отображал XML на БД (MySQL) и мог возвращать данные по XPath запросу.

А не устраивают все найденные решения следующим: они подразумевают загрузку всего xml документа в память. Это нереально и не нужно.
Название: XML и реляционные БД
Отправлено: Макс от 01 Марта 2004, 16:37:58
как вариант:
http://detail.phpclub.net/article/myXTree
Название: XML и реляционные БД
Отправлено: Макс от 01 Марта 2004, 16:51:13
кстати, на каком языке тебе надо ?
А то я по привычке тебе на ПХП предложил
Название: XML и реляционные БД
Отправлено: Maniac от 05 Марта 2004, 02:34:02
Макс Ну, в т.ч. и на PHP
А вообще, после долгих поисков я сделал вывод: нечего изгаляться и писать XPath2SQL интерфейсы. Реляционная БД один черт не очень подходит для хранения XML данных.
Тот же самый MyXTree - классный зверь, но при выборке очень любит делать join\'ы сам на себя. Конечно, в случае небольших xml-файлов это еще куда ни шло. Но в случае небольших файлов их можно обрабатывать и на клиентской стороне.
Наиболее удобоваримым по скорости/сложности мне кажется такой вариант: хранить данные в таблице по-элементно, при запросе производить базовый парсинг XPath-выражения, выделять все NodeName в нем, потом из таблицы их вытаскивать, собирать в файл, а уж затем на клиентской стороне натравливать через тот же самый XSLT-парсер на этот файл XPath.
Название: XML и реляционные БД
Отправлено: Макс от 05 Марта 2004, 12:55:53
Цитировать
Maniac:
Тот же самый MyXTree - классный зверь, но при выборке очень любит делать join\'ы сам на себя

я очень бегло его просматривал. Там автор объяснял, почему такой путь избрал.
А есть ли смысл вообще использовать в данном случае XML ?
Название: XML и реляционные БД
Отправлено: Maniac от 05 Марта 2004, 13:54:32
Цитировать
Макс:
А есть ли смысл вообще использовать в данном случае XML ?

Смысл есть. Я сейчас пишу веб-сервис для хранения данных. И хотелось бы, чтобы данные могли храниться разными способами. При этом данные могут быть не жестко сткруктурированы (т.е. просто таблица не подходит). Естественно, я использую XML для хранения. И в качестве универсального способа доступа к информации логично использовать XPath/XQuery.