PDA

Просмотр полной версии : База данных на XML


LITWIN.BY
04.07.2011, 17:31
Для Flash проекта требуется база данных на XML. Как и какими инструментами можно быстро создать базу и загнать туда информацию?

mooncar
04.07.2011, 22:01
С помощью текстового редактора, то есть руками.
Если маленький объем данных. Тогда либо пишите админку для редактирования XML (например в PHP есть хороший класс simpleXML для этих целей). Или поищите готовую.

Astraport
04.07.2011, 23:34
А сейчас информация в чём?

Vier
04.07.2011, 23:36
Даже в mySQL уже есть экспорт в XML. Другое дело, что со слишком денормализованной базой работать в виде xml'ников неудобно.

dark256
05.07.2011, 00:21
XML - это в данном способ обмена между БД и клиентом.
Само по себе ХМЛ - это не есть База Данных.
Вы типа смешиваете теплое с мягким ;)

NikolyA
05.07.2011, 02:17
если не беспокоит безопасность данных, храни всю информацию в xml, но флеш не плохо работает с базами через пхп, и о безопасности данных можешь быть почти спокоен

andrew911
05.07.2011, 02:23
XML - это в данном способ обмена между БД и клиентом.
Само по себе ХМЛ - это не есть База Данных.
Вы типа смешиваете теплое с мягким ;)

Вики говорит:
XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML).

Вполне себе можно хранить данные.

Astraport
05.07.2011, 08:41
если не беспокоит безопасность данных, храни всю информацию в xml, но флеш не плохо работает с базами через пхп, и о безопасности данных можешь быть почти спокоен
Какое противоречивое предложение.

dark256
05.07.2011, 12:09
Вполне себе можно хранить данные.

Безусловно. Еще их можно на стикерах писать и хранить на стенке.
Очень удобный формат, структуризация, дружественный интерфейс и даже не нужен комп. :)

andrew911
05.07.2011, 17:16
Безусловно. Еще их можно на стикерах писать и хранить на стенке.
Очень удобный формат, структуризация, дружественный интерфейс и даже не нужен комп. :)

Не надо утрировать. ХМЛ вполне себе понятен для человека, доступ к данным тоже довольно прост.
Для небольших объемов информации пойдет.

Что именно вас не устраивает?

DaFive
05.07.2011, 17:26
Тем, что перегенеривать каждый раз придется и записывать. Да и геморроя хапнуть придется на больших объемах. Пока неясно что за флеш-проект и из чего он состоит. Если БД просто читать - сойдет, если модифицировать - лучше смотреть в сторону SQL.

wvxvw
05.07.2011, 18:38
XML - это формат представления данных, он не предназначен / плохо приспособлен для хранения / обновления / установления отношений между элементами из которых состоят данные. XML - это древовидная структура, а это значит, что она может представить только отношения 1 к многим, отношения многие к многим она представить технически не может, либо нам прийдется делать много допущений, и даже при этом файлы будут расти в геометрической прогрессии в зависимости от количества отношений между элементами данных.
Именно поэтому не нужно делать базы данных на XML. XML относятся к базе данных как фотография к фотографируемому объекту - вы можете использовать фотографию для получения какой-то интересующей вас в данный момент информации, но использовать ту же фотографию для получения информации о том же объекте, но с другой стороны может оказаться невозможным.
AIR позволяет вместе с приложением использовать SQLite (встраиваиваемую базу данных), можно смотреть в сторону Zinc / SWFStudio и им подобным на предмет наличия готовых драйверов для других баз данных, но XML - только для незначительных и очень простых по структуре данных.

dark256
05.07.2011, 19:58
Не надо утрировать. ХМЛ вполне себе понятен для человека, доступ к данным тоже довольно прост.
Для небольших объемов информации пойдет.

Что именно вас не устраивает?

Сама ХМЛ - меня устраивает.
Для небольших объемов - подойдет.
Но это все равно, черт побери, не База, и уж совсем - не СУБД.
Как только возникнет вопрос сортировок, индексирований и т.п., к вашему ХМЛ-ю начнется написание всевозможных приблуд. И тут смысл моих слов станет ясен. Но будет поздно.

Котяра
05.07.2011, 19:59
Я когда то делал вполне нормально работающие сайты на SAPID (http://sapid.sourceforge.net/en/), xml-based cms.
Если изменение данных редкое и объём данных небольшой, то имеет право на жизнь.
Плюсы - не требует наличия mySQL на хостинге - только php.
Минусов тоже много) Но иногда можно ими и пренебречь.

andrew911
05.07.2011, 20:45
Я и писал все время, что для небольших объемов данных.
Полноценную СУБД он в любом случае не заменит.
Но для каждого случая можно использовать подходящий инструмент, не обязательно все делать по-максимуму

goodguy
05.07.2011, 21:01
А если подумать, сейчас трудно найти хостинг с php, на котором бы не было mysql и наоборот. Реализация записи нужных данных в XML с помощью php явно не уложится в пару строк, так почему бы не сделать несколько строчек, реализующих запись и получение нужной инфы из / в mysql?
Зачем тут xml?

Я понимаю, если создали вручную файл XML, положили на сервер, а потом флешка просто читает его и что-либо делает на основе этих данных, не умея ничего обновлять.

В другом случае, я смысла не вижу.

mooncar
05.07.2011, 21:58
Писал как-то CMS-ку для флеш-сайта на основе XML с использованием PHP-класса SimpleXML. Получилось красивенько... Но только вот повторять не стану, реально, если есть MySQL, то связываться не стоит.
Обновление-добавление узлов, создание новых структур, формирование новых xml-файлов, уфф...

Но, тем не менее, если файлов XML мало и их структуру менять не нужно, то БД на такой основе имеет свои плюсы против SQL. Т.е. не надо иметь полноценную SQL БД, если что, редактировать файлы можно руками, то есть в текстовом редакторе, не используя запросы, да скорость работы может быть выше (пруфлинка сейчас не дам, но были тесты) и т.п.

Я когда то делал вполне нормально работающие сайты на SAPID (http://sapid.sourceforge.net/en/), xml-based cms.

Спасибо, не знал, любопытно.