Модераторы: diadiavova

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Философия построения сайта на XML 
:(
    Опции темы
Gold Dragon
  Дата 26.7.2005, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



У меня вот такой вопрос. Желаю построить сайт, но вместо MySQL использовать в качестве хранения данных XML и с ними работать.

Почему XML? У меня очень много вложенных и повторяющихся данных число которых всегда разное. Если строить в БД, то получается очень много таблиц, да и работать .... много приходиться запросов писать. Оправдано ли это будет? Или всё же придётся использовать БД совместно с XML? Или я вообще не так использую эту технологию.

Данные: это описание торгующего заведение, т.е. начиная с названия, адреса, телефона и заканчивая количеством комнат, ассортиментом, обслуживанием... в общем что-то типа спецификации

Ваши советы и мысли..


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
batigoal
Дата 26.7.2005, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Можно найти промежуточный вариант. У нас, например, такая ситуация: есть некая сложная структура, которую неудобно хранить в базе напрямую. Пихаем ее в XML-документ, и сохраняем в базе как BLOB. В базе также остаются сведения о дате, сроках действия, авторе и т.д.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Gold Dragon
Дата 26.7.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Lamer George
Слушай я это наверное и есть выход...(!) Т.е. можно делать и резервные копии.. Но у меня ещё есть некоторая информация, которую не выгодно хранить в XML и привязка у меня идёт по id, который в XML.

Вот короткий пример структуры
Код

    <kabak id='0'>
        <name>Название кафе</name>
        <adress>
            <sity>Город</sity>
            <area>Район в городе</area>
            <travel>Улица, дом</travel>
            <ps>Уточнение местонахождения</ps>
        </adress>
        <tel>(8312)123-456</tel>
        <site>www.adres.ru</site>
        <email>[email protected]</email>
        ......
    </kabak>

Весь документ и будет состоять их этих блоков. Может тогда сделать базу со следующей структурой
Цитата
id (INT)- номер заведения (<kabak id='0'>)
desc (TEXT) - именно описание заведения, структура данных в XML
....

Можно смело доставать данные и работать уже с XML, да и собрать всё во едино очень легко



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
batigoal
Дата 26.7.2005, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Именно так у нас и делается. Если на твоем примере, то ситуация у нас такая: у кабака может быть несколько телефонов, их количество заранее неизвестно (и подобных параметров множество). Чем плодить кучу записей в БД, проще записать это все в документ, а в таблицу вынести ID, сервисную информацию, и еще несколько существенных параметров (например, для удобства группировки).

Это сообщение отредактировал(а) Lamer George - 26.7.2005, 12:37


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Gold Dragon
Дата 26.7.2005, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Ну в принципе можно вынести название, район, улицу. Этого точно много быть не может, но поиск можно будет упростить.


Ещё у кого есть мнения по этому поводу?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Bikutoru
Дата 26.7.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



Цитата
да и работать .... много приходиться запросов писать

Если все данные будут в XML-файлах и их объём будет приличный, то и XPath-запросов тоже будет немало и, думается, они тоже не мгновенно выполняться будут.

Цитата
Данные: это описание торгующего заведение, т.е. начиная с названия, адреса, телефона и заканчивая количеством комнат, ассортиментом, обслуживанием... в общем что-то типа спецификации

Т.е. данные будут вводиться пользователем через админ-интерфейс? Или будут статичны в течении продолжительного периода времени?

Цитата
у кабака может быть несколько телефонов, их количество заранее неизвестно (и подобных параметров множество)

В таком случае XML удобнее будет.

А вот если будут какие-то прайсы, то их удобнее (читай "привычнее") в базе держать.
Хотя распостраняют-то их часто как XML-файлы


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Gold Dragon
Дата 27.7.2005, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(Bikutoru @ 26.7.2005, 19:08)
Т.е. данные будут вводиться пользователем через админ-интерфейс? Или будут статичны в течении продолжительного периода времени?
Вводиться будут пользователем и публиковаться после проверки. А насчёт статичности, ну так название и адрес кабаки не так часто меняют, а вот обстановка, меню, отзывы будут меняться чаще.

Прайсов не будет. Будет например,
- первые блюда
разнообразие - 5 баллов
ценавая политика - 4 балла



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Bikutoru
Дата 27.7.2005, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



Ну под прайсами я имел в виду меню. Его, наверное, лучше хранить в базе. Но если будет публиковаться состав блюда, то XML будет предпочтительнее.

А вот отзывы я бы только в базе хранил...


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Gold Dragon
Дата 27.7.2005, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



в общем получается следующее:
будет две таблицы
первая
- id
- название кабака
- адрес
- поле TEXT в котором хранятся данные о кабаке в структуре XML
- ещё что-то

вторая
- id
- id кабака
- отзыв

наверное это будет оптимальным вариантом, просто сведения о кабаке просто так не всунуть в таблицы.

Интересное получается совмещение технологий


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Bikutoru
Дата 27.7.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



Цитата

- id
- название кабака
- адрес
- поле TEXT в котором хранятся данные о кабаке в структуре XML
- ещё что-то


А бывает что один кабак имеет несколько адресов? Ну то есть, кабаков несколько, но все они входят в какую-то сеть и имеют одно название...


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Gold Dragon
Дата 28.7.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Само сабой, но смысл заключается в характеристики именно одного кабака. Например, есть несколько заведений с одним названием, но у одного есть стоянка, у другого три зала, у третьего живая музыка. Так что пусть будет несколько кабаков с одним названием


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Bikutoru
Дата 28.7.2005, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 2
Всего: 22



Цитата
Само сабой, но смысл заключается в характеристики именно одного кабака. Например, есть несколько заведений с одним названием, но у одного есть стоянка, у другого три зала, у третьего живая музыка. Так что пусть будет несколько кабаков с одним названием

Тогда у меня никаких вопросов/предложений нет...


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Andrey1
Дата 12.8.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: нет
Всего: 5



Есть специализированные XML базы данных: Sedna, eXist, dbXML "заточенные" под поисковые запросы на и хранение XML данных.

Есть также реализации языка XQuery: http://www.gnu.org/software/qexo/, ...


XML и XQuery дают много широких возможностей. Вопрос, как правильно ими воспользоваться...



Андрей


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Gold Dragon
Дата 13.8.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Andrey1
Для меня это поко очень сложно smile да и не так это всё распространено в сети...

а так я уже почти всё уже сдалал, т.е. всё отлично сохраняется и ищется.. если кому нужно, могу рассказать как это всё работает..


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Render
Дата 13.8.2005, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 12.5.2005

Репутация: нет
Всего: 3



Red Dragon, если не трудно!
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.