powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / XML поля для хранения данных
23 сообщений из 23, страница 1 из 1
XML поля для хранения данных
    #36312587
Гуэст_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
день добрый.
Сижу думаю как хранить данные по контрагентам. И что то кажется, что реквизиты можно сунуть в XML, что бы потом можно было легко добавить недостающее. Прошу общественность высказаться за и против такого подхода.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36312600
Гуэст_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или скажем такие данные которые будут дергаться ну очень редко. И вообще стоит ли связываться с XML полями. Пока что никаких за и против не встретил.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36312776
Toshik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сколько против встретил?
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36312871
Гуэст_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пока только встретил что "XML не потому необходимо, а только потому что "ЗА НАДОМ""

типа если принципиально-технически не требуется то и нафиг не нужен.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36313255
Kosto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_день добрый.
Сижу думаю как хранить данные по контрагентам. И что то кажется, что реквизиты можно сунуть в XML, что бы потом можно было легко добавить недостающее. Прошу общественность высказаться за и против такого подхода.

Или скажем такие данные которые будут дергаться ну очень редко. И вообще стоит ли связываться с XML полями. Пока что никаких за и против не встретил.
Хранить в XML реквизиты по контрагентам - вредно для душевного здоровья.
Рано или поздно, всегда появиться необходимость искать по этим реквизитам (даже если сейчас заказчик уверяет в обратном).
Рано или поздно, появится необходимость манипулирования данными из реквизитов: обновить некоторые из них по определенной логике.

Указанные варианты сами по себе не страшны: для поиска можно прикрутить мощный движок сбоку БД и кормить его данными из XML; а для модификации данных в XML использовать встроенный функционал БД или внешнюю утилиту, которая последовательно обработает все записи.

Но:
- большие объемы данных XML
- "кривая" реализация работы с XML встроенного функционала БД
- в сочетании с ограниченным по времени технологическим окном
- бурной фантазией заказчика о новой бизнес логике
нарушат ваше душевное спокойствие :)
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36313770
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KostoУказанные варианты сами по себе не страшны: для поиска можно прикрутить мощный движок сбоку БД и кормить его данными из XML; а для модификации данных в XML использовать встроенный функционал БД или внешнюю утилиту, которая последовательно обработает все записи.



у вас устаревшие данные. DB2 маппит XML документ внутренние таблицы и работа внутри с ним ничем не отличается для обычных таблиц
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36313847
aston
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем в реляционной БД нужно организовывать хранение данных в виде XML?
Извлечь в виде XML полезно (что является стандартной фичей например в Oracle). Но хранить то зачем?
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36315139
Гуэст_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В связи с чем возник вопрос:

У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее.

разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу.
Так же не хочется сползать EAV реализации данного вопроса. Если кто подскажет какой нибудь выход из этой ситуации, буду благодарен.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36315156
Фотография актуалфорум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_,

в вашем случае имхо EAV будет то что надо, вот еслиб у вас был например некий workflow и вам нужно было бы хранить данные контрагента между этапами обработки то xml было бы самое то
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36315262
Гуэст_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том то и беда, сроки, сроки и еще раз сроки. Проект проморозили на уровне счета денег, а когда выдали ТЗ на разработку оказалось что нужно было еще вчера. Это первая причина.

Вторая в том, что почитав и прочитав, даже поиграв с такой системой уяснил для себя, что этот вид реализации для таких случаев действительно плох, очень плох. Тормоза на выборках и апдэйтах такие что в пору переписывать БД. Не говорите про индексы, оптимизацию и железо. Конечному заказчику до этих вопросов никакого дела нет. Для него важна стоимость и функционал.

Третья причина это лень. Писать запросы к такой системе сравнимо с дерганьем волос на заднице. Да и интерфейц требуется не "вертикальный" а понятный, модульный, т.е. если это название котрагента, то оно идет одним полем и одной строкой, а не просто вываливанием списка свойств объекта где ID = 101.

Вот такие соображения.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36315520
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее.

разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу.
Так же не хочется сползать EAV реализации данного вопроса. Если кто подскажет какой нибудь выход из этой ситуации, буду благодарен.Так не сползайте к EAV. Делайте отдельные таблицы для телефонов, адресов и т.д., или введите сужность "контакт" с "типом контакта".
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36315599
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТак не сползайте к EAV. Делайте отдельные таблицы для телефонов, адресов и т.д., или введите сущность "контакт" с "типом контакта" .Это начало сползания к EAV
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36341172
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_В том то и беда, сроки, сроки и еще раз сроки. Проект проморозили на уровне счета денег, а когда выдали ТЗ на разработку оказалось что нужно было еще вчера. Это первая причина.

Писать запросы к такой системе сравнимо с дерганьем волос на заднице. Да и интерфейц требуется не "вертикальный" а понятный, модульный, т.е. если это название котрагента, то оно идет одним полем и одной строкой, а не просто вываливанием списка свойств объекта где ID = 101.

Вот такие соображения.

Используйте XDB. На XDB надевается view, и связывайте свои xml данные с реляционными таблицами или объектами сколько угодно.
Через XSD легко организуются многозначные атрибуты. Мапинг позволит организовать физическую модель данных без лишних хлопот. XML индексы надо построить по view и структуре запросов.
Схему можно наращивать.
Cмотри
http://sql.ru/forum/actualthread.aspx?tid=713110
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36341456
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_ пишет:

> Сижу думаю как хранить данные по контрагентам. И что то кажется, что
> реквизиты можно сунуть в XML, что бы потом можно было легко добавить
> недостающее. Прошу общественность высказаться за и против такого подхода.

Я не понимаю, зачем останавливаться на пол-пути ?
Засунь вообще всю БД в одно поле типа XML !
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36341475
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, да.
Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36342028
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_,
нормальное решение. но нужно понимать чем оно черевато.
как уже сказали DB2 хорошо с xml работает.
поиск и отбор можно мутить с использованием xpath

короче, если бд предоставляет сервисы облегчающие работу с xml, то можно попробовть, если нет, то скорее всего не надо
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36342139
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуэст_У контрагента может быть скажем 4-5 телефонов, несколько электронных адресов и так далее.
разводить в таблице кашу из 4-5 полей по каждому свойству как то не хочется, как и выносить каждое свойство в отдельную таблицу.

если выносить в отдельные сущности не хочется, то почему бы не хранить в одном поле список с разделителями?: 11111;2222;
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36352668
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник,

есть понятие - многозначные атрибуты. В XSD они объявляются complextype. Создавайте элемент данного типа и реализуйте многозначность атрибутов. Но для этого надо использовать модель object relation store, которая связана с XSD или DTD. А это пока есть только в Oracle и DB2. Может и другие реляционки подтянутся. В нашем Linter могли бы лет 10 назад такое реализовать, но не стали технологию Невод тащить в ядро СУБД (модель надо было только подправить) , а ведущие игроки надумали...
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36352685
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не нужно городить xml type, там где без него можно обойтись.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36355032
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникне нужно городить xml type, там где без него можно обойтись.

Не нужно в XML хранить, его надо парсить и хранить в объектно-реляционной структуре.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36359207
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander_111Не нужно в XML хранить, его надо парсить и хранить в объектно-реляционной структуре.Не нужно делать категорических заявлений :)
Такой подход - источник большой головной боли. Если РСУБД поддерживает нативное хранение XML (а нативнее всего он сейчас в DB2, там под него отдельный движок и storage с бинарным хранением), можно смело использовать хорошо типизированные документы и XQuery с XML-индексами для манипуляций. То есть все, включенное в SQL:2006. Для сложных иерархических структур весьма полезно.
Если этого в РСУБД нет - XML для хранения лучше не использовать.
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36359254
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FavnЕсли РСУБД поддерживает нативное хранение XML (а нативнее всего он сейчас в DB2, там под него отдельный движок и storage с бинарным хранением), можно смело использовать хорошо типизированные документы и XQuery с XML-индексами для манипуляций.Что, и не будет потерь в произвордительности (или хотя бы потери не больше сем в 10 раз)?

Интересно, IBM для достижения побед в TPC-C уже делает чемпионские заходы на этом новом движке?
...
Рейтинг: 0 / 0
XML поля для хранения данных
    #36359303
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgЧто, и не будет потерь в произвордительности (или хотя бы потери не больше сем в 10 раз)?Странный вопрос. В обработке именно сложного XML по сравнению с маппингом в таблицы и тем более с хранением в CLOB конечно будет серьезный выигрыш, т.к. уже сохраненные XML лежат в бинарных иерархиях с индексами и XQuery работает именно с ними.
alexeyvgИнтересно, IBM для достижения побед в TPC-C уже делает чемпионские заходы на этом новом движке?Простите, но это бред. Любопытно, какую связь Вы увидели между XML полями и TPC, который о них ничего не знает. Реляционный движок занимается таблицами через SQL, XMLный - иерархиями XML через XQuery.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / XML поля для хранения данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]