| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Философия построения сайта на XML |
| Автор: Gold Dragon 26.7.2005, 07:47 |
| У меня вот такой вопрос. Желаю построить сайт, но вместо MySQL использовать в качестве хранения данных XML и с ними работать. Почему XML? У меня очень много вложенных и повторяющихся данных число которых всегда разное. Если строить в БД, то получается очень много таблиц, да и работать .... много приходиться запросов писать. Оправдано ли это будет? Или всё же придётся использовать БД совместно с XML? Или я вообще не так использую эту технологию. Данные: это описание торгующего заведение, т.е. начиная с названия, адреса, телефона и заканчивая количеством комнат, ассортиментом, обслуживанием... в общем что-то типа спецификации Ваши советы и мысли.. |
| Автор: batigoal 26.7.2005, 10:19 |
| Можно найти промежуточный вариант. У нас, например, такая ситуация: есть некая сложная структура, которую неудобно хранить в базе напрямую. Пихаем ее в XML-документ, и сохраняем в базе как BLOB. В базе также остаются сведения о дате, сроках действия, авторе и т.д. |
| Автор: Gold Dragon 26.7.2005, 11:09 | ||||
| Lamer George Слушай я это наверное и есть выход...(!) Т.е. можно делать и резервные копии.. Но у меня ещё есть некоторая информация, которую не выгодно хранить в XML и привязка у меня идёт по id, который в XML. Вот короткий пример структуры
Весь документ и будет состоять их этих блоков. Может тогда сделать базу со следующей структурой
Можно смело доставать данные и работать уже с XML, да и собрать всё во едино очень легко |
| Автор: batigoal 26.7.2005, 12:09 |
| Именно так у нас и делается. Если на твоем примере, то ситуация у нас такая: у кабака может быть несколько телефонов, их количество заранее неизвестно (и подобных параметров множество). Чем плодить кучу записей в БД, проще записать это все в документ, а в таблицу вынести ID, сервисную информацию, и еще несколько существенных параметров (например, для удобства группировки). |
| Автор: Gold Dragon 26.7.2005, 12:33 |
| Ну в принципе можно вынести название, район, улицу. Этого точно много быть не может, но поиск можно будет упростить. Ещё у кого есть мнения по этому поводу? |
| Автор: Bikutoru 26.7.2005, 19:08 | ||||||
Если все данные будут в XML-файлах и их объём будет приличный, то и XPath-запросов тоже будет немало и, думается, они тоже не мгновенно выполняться будут.
Т.е. данные будут вводиться пользователем через админ-интерфейс? Или будут статичны в течении продолжительного периода времени?
В таком случае XML удобнее будет. А вот если будут какие-то прайсы, то их удобнее (читай "привычнее") в базе держать. Хотя распостраняют-то их часто как XML-файлы |
| Автор: Gold Dragon 27.7.2005, 08:28 | ||
Прайсов не будет. Будет например, - первые блюда разнообразие - 5 баллов ценавая политика - 4 балла |
| Автор: Bikutoru 27.7.2005, 09:31 |
| Ну под прайсами я имел в виду меню. Его, наверное, лучше хранить в базе. Но если будет публиковаться состав блюда, то XML будет предпочтительнее. А вот отзывы я бы только в базе хранил... |
| Автор: Gold Dragon 27.7.2005, 09:54 |
| в общем получается следующее: будет две таблицы первая - id - название кабака - адрес - поле TEXT в котором хранятся данные о кабаке в структуре XML - ещё что-то вторая - id - id кабака - отзыв наверное это будет оптимальным вариантом, просто сведения о кабаке просто так не всунуть в таблицы. Интересное получается совмещение технологий |
| Автор: Bikutoru 27.7.2005, 19:53 | ||
А бывает что один кабак имеет несколько адресов? Ну то есть, кабаков несколько, но все они входят в какую-то сеть и имеют одно название... |
| Автор: Gold Dragon 28.7.2005, 07:46 |
| Само сабой, но смысл заключается в характеристики именно одного кабака. Например, есть несколько заведений с одним названием, но у одного есть стоянка, у другого три зала, у третьего живая музыка. Так что пусть будет несколько кабаков с одним названием |
| Автор: Bikutoru 28.7.2005, 09:19 | ||
Тогда у меня никаких вопросов/предложений нет... |
| Автор: Andrey1 12.8.2005, 17:42 |
| Есть специализированные XML базы данных: http://modis.ispras.ru/download_sedna_dbms.htm, http://exist.sourceforge.net, http://www.dbxml.com/product.html "заточенные" под поисковые запросы на и хранение XML данных. Есть также реализации языка XQuery: http://www.gnu.org/software/qexo/, ... XML и XQuery дают много широких возможностей. Вопрос, как правильно ими воспользоваться... Андрей |
| Автор: Gold Dragon 13.8.2005, 11:59 |
| Andrey1 Для меня это поко очень сложно а так я уже почти всё уже сдалал, т.е. всё отлично сохраняется и ищется.. если кому нужно, могу рассказать как это всё работает.. |
| Автор: Render 13.8.2005, 12:23 |
| Red Dragon, если не трудно! |
| Автор: 3,14 15.8.2005, 13:11 |
| Red Dragon, а что используешь для работы с XML файлами? Единственный вариант что мне понравился это Oracle-овая поддержка XML. |