Использование XML в большой БД

orka

Новичок
Использование XML в большой БД

Всем привет!
Я новичок в XML, так что если какие-то вопросы будут нелепыми - не судите строго.
Ситуация такая - готовится проект, который будет работать с большой БД, в которой будут храниться объекты с разными атрибутами.

Для примера можно привести такую ситуацию - объекты "хлеб","молоко","пиво" - все они "продукты", имеют поля "цена" и "изготовитель", но у объекта "молоко" есть поле "жирность", а у объекта "пиво" - поле "крепкость".

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

Вопрос следующий - как лучше хранить такие данные? Мне кажется, что использование БД будет здесь неуместно. Если применять XML - то какие нюансы стоит сразу предусмотреть? Как лучше работать с такими данными?

Спасибо.
 

hermit_refined

Отшельник
orka
есть три варианта:
1. если выборка по этим полям - за исключением нескольких строго определенных - производиться не будет, сериализовать все дополнительные параметры в одно поле, и не мучиться.
2. иначе, если есть возможность - использовать PostgreSQL, в котором реализовано наследование таблиц, и не мучиться.
3. почитать про Single Table Inheritance, Class Table Inheritance и Concrete Table Inheritance у Фаулера и реализовать наиболее подходящий вариант (или их комбинацию) - в зависимости от того, какие выборки будут производиться. Ну и вообще рекомендуется почитать о способах отображения объектных моделей на бд.

об XML - в данном контексте - забудьте, он не для того предназначен. а olpa, видимо, ещё не протрезвел :))
 

olpa

Новичок
об XML - в данном контексте - забудьте, он не для того предназначен.
Не согласен. То, что есть у orka, называется "слабоструктурированные данные". А их однозначно надо пихать в XML.

Другое дело, что ему ещё нужна база данных.

Так что ждём отчёта о практическом использовании XML и баз данных.
 

orka

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

Нет проблем сделать подключение к сущности произвольного числа различных атрибутов. Это называется модель Тенцера.

У Вас есть время, талант и деньги что бы разработать инструментарий, который сможет в приемлемое время обрабатывать запросы к XML-данным? Если есть - смело идите за Нобелевкой.

Если уж Вы совсем не можете выйти из парадигмы "дерева", то кажется, Cashe это умеет делать.
===========
Еще раз хорошенько подумайте.
Может быть будет достаточно иметь в базе записи:

Молоко, 2% жирности
Молоко, 3% жирности
Пиво Белый медведь светлое
Пиво Белый медведь крепкое
???
 

Фанат

oncle terrible
Команда форума
Не затруднит тебя назвать этот замечательный форум, на котором дают такие прекрасные ответы?
 

HraKK

Мудак
Команда форума
orka
не будет, напиши)) Это будет скорее антирекламой)
 

Фанат

oncle terrible
Команда форума
спасибо.
чуваку с ником Cat2 - респект и уважуха.
Даже я не смог бы столь красочно донести до читателя основную мысль.
 

HraKK

Мудак
Команда форума
Фанат
Вы серьезно?
Или я что-то не понимаю?
 

Фанат

oncle terrible
Команда форума
У тебя есть замечания к приведённой выше цитате?
Выскажи их.
 

HraKK

Мудак
Команда форума
Еще раз хорошенько подумайте.
Может быть будет достаточно иметь в базе записи:

Молоко, 2% жирности
Молоко, 3% жирности
Пиво Белый медведь светлое
Пиво Белый медведь крепкое
Это мне кажется не совсем корректным решением, к данной проблеме.

-~{}~ 02.01.07 23:37:

С тем что выше я согласен на все 100%
 

Фанат

oncle terrible
Команда форума
А это и не решение. А предложение подумать.
Решение, которое нравится ортодоксальному тебе, озвучено выше.
А здесь человеку предлагается сделать лицо чуточку попроще, и предположить, выборку по жирности пива никто никогда делать не будет.
Не как ОКОНЧАТЕЛЬНЫЙ ИДЕАЛЬНЫЙ вариант, за который ты его, судя по всему, принял, а как один из вариантов. Вполне имеющий право на осуществление, в зависимости от реальных условий.
 

HraKK

Мудак
Команда форума
Хм, действительно.
Спасибо, за разъяснение.
 

hermit_refined

Отшельник
я всё-таки в таких случаях (если не требуется выборки) за сериализацию. решение столь же простое, зато сохраняется информация о структуре. даже если сейчас она ни к чему, всё в мире меняется, наверняка позже потребуется.

P.S. а модель Тенцера для объектов - примерно такая же спасительная палочка, как Nested Sets для деревьев.
 
Сверху