powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / зачем нужен XML
37 сообщений из 37, показаны все 2 страниц
зачем нужен XML
    #35061501
Фотография kaban_nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде изучил теорию XML. Возник вопрос - для чего его (XML) применять.
Единственное что приходит в голову хранить однотипные настройки например проги и чегонить есче. Или у меня извращенное понимание мира...
Создание простеньких Web страничек...
...
Рейтинг: 0 / 0
зачем нужен XML
    #35061503
Фотография kaban_nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работа с базами данных. Подобно традиционным базам данных, XML может быть использован для присвоения метки каждому полю информации внутри каждой записи базы данных. (Например, можно пометить каждое имя, адрес и номер телефона внутри записей списка адресов.) После этого вы сможете отображать данные различными способами и организовывать поиск, сортировку, фильтрацию и иную обработку данных.
Структурирование документов. Иерархическая структура XML-до-кументов идеально подходит для разметки структуры таких документов, как романы, научные труды, пьесы. Например, вы можете использовать XML для разметки пьесы на акты, сцены, размечать действующих лиц, сюжетные линии, декорации и т. д. XML-разметка дает возможность программам отображать или распечатывать документ в необходимом формате; находить, извлекать или манипулировать информацией в документе; генерировать оглавления, резюме и аннотации; обрабатывать информацию иными способами.
Работа с векторной графикой (VML - Vector Markup Language).
Мультимедиа презентации (SMIL - Synchronized Multimedia Integration Language, HTML + TIME - HTML Timed Interactive Multimedia Extensions).
Описание каналов. Каналы представляют собой Web-страницы, которые автоматически рассылаются подписчикам. (CDF - Channel Definition Format).
Описание программных пакетов и их взаимосвязей. Такие описания обеспечивают распространение и обновление программных продуктов в сети (OSD - Open Software Description).
Взаимодействие приложений через Web с использованием XML-co-общений. Эти сообщения являются независимыми от операционных систем, объектных моделей и компьютерных языков (SOAP — Simple Object Access Protocol).
Отправка электронных бизнес-карт через e-mail.
Обмен финансовой информацией. Обмен информацией в открытом и понятном формате осуществляется между финансовыми программами (такими как Quicken и Microsoft Money) и финансовыми институтами (банками, общественными фондами) (OFX - Open Financial Exchange).
Создание, управление и использование сложных цифровых форм для коммерческих Internet-транзакций. Подобные формы могут включать оцифрованные подписи, которые делают их признанными юридически (XFDL - Extensible Forms Description Language).
Обмен запросами по приему на работу и резюме (HRMML - Human Resource Management Markup Language).
Форматирование математических формул и научной информации в
Web (MathML - Mathematical Markup Language).
Описание молекулярных структур (CML — Chemical Markup Language).
Кодирование и отображение информации о ДНК, РНК и цепочках (BSML - Bioinformatic Sequence Markup Language).
Кодирование генеалогических данных (GeDML - Genealogical Data Markup Language).
Обмен астрономическими данными (AML — Astronomical Markup Language).
Создание музыкальных партитур (MusicML -Music Markup Language).
Работа с голосовыми сценариями для доставки информации по телефону. Голосовые сценарии могут быть использованы, например, для генерирования голосовых сообщений, справок о наличии товаров и прогнозов погоды (VoxML).
Обработка и доставка информации курьерскими службами. Служба Federal Express, например, уже использует XML для этих целей.
Представление рекламы в прессе в цифровом формате (AdMarkup).
Заполнение юридических документов и электронный обмен юридической информацией (XCL - XML Court Interface).
Кодирование прогнозов погоды (OMF - Weather Observation Markup Format).
Обмен информацией по операциям с недвижимостью (RETS — Real Estate Transaction Standard).
Обмен страховой информацией.
Обмен новостями и информацией с использованием открытых Web-стандартов (XMLNews).
Представление религиозной информации и разметка текстов богослужений (ThML - Theological Markup Language, LitML - Liturgical Markup Language).
...
Рейтинг: 0 / 0
зачем нужен XML
    #35061504
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OPEN XML
открытый формат, понятный большенству современных систем,
ОФИСС2007 весь перешёл на него
...
Рейтинг: 0 / 0
зачем нужен XML
    #35061527
1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML - просто древовидная модель описания все, что можно описать древовидным образом. В частности html страницы можно, в частности таксономию любого вида и т.п. - объекты с атрибутами и другими объектами.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35061854
Серж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaban_nikВроде изучил теорию XML. Возник вопрос - для чего его (XML) применять.
Единственное что приходит в голову хранить однотипные настройки например проги и чегонить есче. Или у меня извращенное понимание мира...
Создание простеньких Web страничек...Простенькие веб-странички можно в блокноте хтмл-ем рисовать. Если сейчас нет потребности применять, то не надо старательно искать место куда бы приткнуть его, чтобы было, потому что модно. Пусть процессор делает что-нибудь полезное вместо бесконечного парсинга хмл.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35068779
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1XML - просто древовидная модель описания все, что можно описать древовидным образом. В частности html страницы можно, в частности таксономию любого вида и т.п. - объекты с атрибутами и другими объектами.

внутри XML возможны еще и переклестные ссылки.
Если например имеется огромный документ или пакет документов - например договор страхования, где описываются разные типы страховых объектов, в разном количестве, то если побить его на таблицы - получится несколько сотен. Валидировать все это очень трудно. А если нужно еще и между системами обмениваться - то репликацию настраивать, отслеживать целостность сотен таблиц -тоже может оказаться накладно. При этом структура подобных таблиц часто меняется. В результате система всегда плывет - становится неустойчивой. Данные в результате изменений могут исказиться и т.д.

Поэтому проще хранить такие объемные трудно структуируемые вещи как одно целое, но иметь возможность иногда парсить эти документы чтобы вытаскивать некоторые данные (XQuery) и заполнять не очень большое количество ключевых таблиц, по которым и ведется основная обработка.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35091178
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
зачем нужен XML
    #35097648
Oracle_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodron почитай
+1
...
Рейтинг: 0 / 0
зачем нужен XML
    #35098050
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цитата из статьи:

автор
В отличие от простого текстового документа, документ XML можно просмотреть и определить значение каждого элемента. Но преимущество ли это? В конце концов, файлы данных будут читать не люди, а машины. Что более эффективно для машины: считывать данные или генерировать? Что лучше для ограниченной полосы пропускания сети? Файл XML занимает в 6 раз больше места, чем текстовый файл. В моих исследованиях файлы XML были в 45 раз больше, чем такие же файлы с разделителями. Из-за раздутой сущности XML поставщики аппаратного обеспечения уже предлагают ускорители для компенсации этой проблемы. Что еще хуже, появляется все больше и больше нестандартных анализаторов XML, которые написаны для «оптимизации» XML, но полностью уничтожают всякую иллюзию о «совместимости».


Ну если XML хранить в CLOB или TEXT или еще где-то... то да.
Но ведь все зависит от реализации.
Например DB2 хранит это в ДЕРЕВЕ и парсить всякий раз XML НЕТ НЕОБХОДИМОСТИ.
И тэги т этом дереве - это обыкновенные INTEGER, И размер получается ужатым.
И скорость поиска возрастает. И по этим "тэгам" строятся ИНДЕКСЫ,
которые отличаются от прочих индексов тем, что позволяют хранить дублированные значения.
И для запроса по табличке с XML создается свой план, кстати весьма эффективный.
Кроме того шрединг тоже поддерживается.

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

PS. Никто не говорит - забъем на реляционные БД и давайте делать все на XML.
Но))... в некоторых случаях XML эффективней чем реляционная модель. Опять же, эффективность применения зависит от глубины понимания, опыта и способностей творчески относиться к решению задачи, умение адекватно выбирать инструмент решения задачи и пользоваться этим инструментом.

А написать можно все что угодно. Интернет все стерпит.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35105540
eternalko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodron почитай
Хотел на нее же дать, линк, да меня обогнали(:
...
Рейтинг: 0 / 0
зачем нужен XML
    #35105554
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodron почитай
Ну и что с того? Очередной неудачник измарал лист бумаги.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35105778
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
Ну и что с того? Очередной неудачник измарал лист бумаги.
Возможно. А возможно и нет.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35105924
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И где эти самые нестандартные анализаторы XML, которые так пугают автора статьи?
...
Рейтинг: 0 / 0
зачем нужен XML
    #35106340
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eternalko goodron почитай
Хотел на нее же дать, линк, да меня обогнали(:Основной аргумент: XML требует больше памяти и времени на парсинг и передачу данных. Ну и что? Java тоже работает медленнее чем C или Fortran, и памяти требуется больше для байт кода... Очевидно, у автора мало денег чтобы купить новый компьютер с гигабайтами и гигагерцами :).

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

Очень странная статья:)
...
Рейтинг: 0 / 0
зачем нужен XML
    #35108646
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaban_nikВроде изучил теорию XML. Возник вопрос - для чего его (XML) применять.
Единственное что приходит в голову хранить однотипные настройки например проги и чегонить есче. Или у меня извращенное понимание мира...
Создание простеньких Web страничек...
По своему опыту:
С помощью XML очень удобно производить сериализацию таблицы (таблиц) с данными с целью персылки их куда-либо. (файл, хранимая процедура SQL сервера и пр.)
С уважением, Алексей.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35109529
Фотография Степан H.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил goodron почитай
Ну и что с того? Очередной неудачник измарал лист бумаги.

мда .. неудачник еще тот ... ;)
Дон Петерсон (Don Peterson), председатель правления и президент Avaya
...
Рейтинг: 0 / 0
зачем нужен XML
    #35109642
RomaNA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос ко всем. В теме как лучше делать связи? обсуждается пример
playnetНапример, есть 2 таблицы:
client:
ID
photo

photo:
ID
client
На самом деле для связи N:M между client и photo приходится использовать еще и третью таблицу. Неудобно конечно. Еще и с идентификаторами надо разбираться.

А как проще представить эти таблицы в XML?
...
Рейтинг: 0 / 0
зачем нужен XML
    #35109823
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomaNA...На самом деле для связи N:M между client и photo приходится использовать еще и третью таблицу. Неудобно конечно. Еще и с идентификаторами надо разбираться.
...в чём неудобство?
...
Рейтинг: 0 / 0
зачем нужен XML
    #35109864
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomaNAНа самом деле для связи N:M между client и photo приходится использовать еще и третью таблицу. Неудобно конечно.Придумайте удобный способ.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35111147
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
okdoky Класс-реляционный подход к представлению табличных и XML данных . Очередной неудачник измарал лист бумаги.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35111960
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomaNAВопрос ко всем. В теме как лучше делать связи? обсуждается пример
[quot playnet]Например, есть 2 таблицы:
client:
ID
photo

photo:
ID
client
Это слишком простой пример, фактически с одной связью client - photo. На XML может быть два уровня данных.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<data>
<client id>
  <photo id>
  <photo id>
  <photo id>
</client>. 
<client id>
  <photo id>
  <photo id>
  <photo id>
</client>. 
</data>
Если не нравятся идентификаторы, используйте одну таблицу с естесственными ключами client photo. В XML тоже используют идентификаторы, хотя не так активно. Например при передаче данных от одной системы к другой, в другой системе тот же клиент может находиться под другим идентификатором, увы...
...
Рейтинг: 0 / 0
зачем нужен XML
    #35111967
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir okdoky Класс-реляционный подход к представлению табличных и XML данных . Очередной неудачник измарал лист бумаги.Это вы о Савушкине? Он сейчас работает в Redwood City.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35112351
RomanA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdokyЕсли не нравятся идентификаторы, используйте одну таблицу с естесственными ключами client photo. В XML тоже используют идентификаторы, хотя не так активно. Например при передаче данных от одной системы к другой, в другой системе тот же клиент может находиться под другим идентификатором, увыПонятно,. То есть для таблицы
Код: plaintext
1.
2.
3.
4.
client  photo type    color
Вася     1      паспорт цв
Коля     2      паспорт чб
Вася     3      общая   цв
Коля     4      общая   цв
можно так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<client>
  Вася
  <photo> 
     1 
    <type>паспорт</type>
    <color>чб</color>
  </photo>
  <photo>
     3 
    <type>общая</type>
    <color>цв</color>
  </photo>
</client>
<client>
  Коля
  <photo>
     2 
    <type>паспорт</type>
    <color>чб</color>
  </photo>
  <photo>
     4 
    <type>общая</type>
    <color>цв</color>
  </photo>
</client>
Таблица выглядит проще .
...
Рейтинг: 0 / 0
зачем нужен XML
    #35112981
KGP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomanA
Таблица выглядит проще .
Тогда 'проще' (но разве 'простота' самацель?)
<client name = "Вася" photo = "1" type = "паспорт" color="чб">
...
...
Рейтинг: 0 / 0
зачем нужен XML
    #35113108
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица проще, потому что она не перегружена избыточной информацией. в хмл-е слишком много мусора, имхо
...
Рейтинг: 0 / 0
зачем нужен XML
    #35114981
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomanA okdokyЕсли не нравятся идентификаторы, используйте одну таблицу с естесственными ключами client photo. В XML тоже используют идентификаторы, хотя не так активно. Например при передаче данных от одной системы к другой, в другой системе тот же клиент может находиться под другим идентификатором, увыПонятно,. То есть для таблицы
Код: plaintext
1.
2.
3.
4.
client  photo type    color
Вася     1      паспорт цв
Коля     2      паспорт чб
Вася     3      общая   цв
Коля     4      общая   цв
можно так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<client>
  Вася
  <photo> 
     1 
    <type>паспорт</type>
    <color>чб</color>
  </photo>
  <photo>
     3 
    <type>общая</type>
    <color>цв</color>
  </photo>
</client>
<client>
  Коля
  <photo>
     2 
    <type>паспорт</type>
    <color>чб</color>
  </photo>
  <photo>
     4 
    <type>общая</type>
    <color>цв</color>
  </photo>
</client>
Таблица выглядит проще .Для людей проще таблица. Для компьютера возможно проще XML, особенно если так:
client 1
photo 2
type 3
<1>Вася<2>1<3>...

Системе принимающей решение (не только при передаче данных), фотографию лучше идентифицировать в XML, а не использовать специальные идентификаторы в нескольких таблицах. Например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<photo>
  <client .../>
  <type .../>
  <color .../>
  что-то из др. таблиц
</photo>
<photo>
...
Вся информация о фотографии будет под рукой.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35116911
чал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdokyДля людей проще таблица. Для компьютера возможно проще XML, ...
Интересный подход, но мне кажется дело вовсе не в том что кому проще.

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

Более конкретно вопрос можно поставить так: на основе каких критериев мы выбираем порядок (вложенности) в XML исходя из исходного набора таблиц? По мне, так тут есть явная неоднозначность, что является бичом практически всех моделей основанных на вложенности или иерархии, что еще отмечалось в старинной модели вложенных отношений (nested relation model). Хотя, возможно, в данном подходе эта проблема как-то решается (если так, то хотелось бы услышать как именно).
...
Рейтинг: 0 / 0
зачем нужен XML
    #35118116
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чалБолее конкретно вопрос можно поставить так: на основе каких критериев мы выбираем порядок (вложенности) в XML исходя из исходного набора таблиц? По мне, так тут есть явная неоднозначность, что является бичом практически всех моделей основанных на вложенности или иерархии, что еще отмечалось в старинной модели вложенных отношений (nested relation model).Нужно смотреть на информацию (отношение) внутри таблицы, а не на таблицу. По-моему таблица
FIRST NAME; LAST NAME
несет ту же информацию, что и таблица
NAME

Если в обеих таблицах просто перечисляются возможные значения, то здесь на самом деле речь идет только о классе согласно упомянутой работе Класс-реляционный подход к представлению табличных и XML данных

В описываемом подходе класс, это - множество текущих (хранимых в БД или рассматриваемых в данный момент) значений сгруппированных одним именем. Типом класса является определение множества всех возможных значений данного класса. Иерархия имен задает иерархию классов. Допускается и даже является весьма полезным использование одного имени для класса и соответствующего ему типа, особенно на верхних уровнях иерархии. Только в случае совпадения имен между классом и типом, срабатывает ODMG-подход к определению класса. Что следует понимать под значением? Все что угодно. Важно чтобы оно хранилось внутри БД. Сочетание имени класса и его значения может использоваться, например, в качестве идентификатора объекта.
Можно ли говорить, что эти таблицы отображают отношение? Получается в отношении всегда должна присутствовать какая-то зависимость? Вот пример отношения :)
Код: plaintext
1.
2.
3.
<СОТРУДНИК ID='1'>
  <ИМЯ> Ваня </ИМЯ>
  <ФАМИЛИЯ> Рощев </ФАМИЛИЯ>
</СОТРУДНИК>
Здесь однозначная зависимость СОТРУДНИК -> ИМЯ, ФАМИЛИЯ
...
Рейтинг: 0 / 0
зачем нужен XML
    #35118408
чал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdokyПолучается в отношении всегда должна присутствовать какая-то зависимость? Вот пример отношения :)
Код: plaintext
1.
2.
3.
<СОТРУДНИК ID='1'>
  <ИМЯ> Ваня </ИМЯ>
  <ФАМИЛИЯ> Рощев </ФАМИЛИЯ>
</СОТРУДНИК>
Здесь однозначная зависимость СОТРУДНИК -> ИМЯ, ФАМИЛИЯ

Пусть есть таблица с тремя колонками A, B и C. Данных пока никаких нет. Никаких ограничений на данные тоже нет. Какая будет структура в XML-модели? Из соображений симметрии следует, что однозначно такую структуру выбрать нельзя. Правильно? Это легко решить, если предположить, что всегда есть нечто вроде идентификатора.

Но есть другая проблема. Может быть несколько зависимостей внутри одной таблицы. Тогда опять же из соображений симметрии мы не можем выбрать ни одну из них. При выборе любой одной, остальные остаются непредставленными в модели (по крайней мере теми же средствами, что и первая).
...
Рейтинг: 0 / 0
зачем нужен XML
    #35118511
RomanA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чалНо есть другая проблема. Может быть несколько зависимостей внутри одной таблицы. Тогда опять же из соображений симметрии мы не можем выбрать ни одну из них. При выборе любой одной, остальные остаются непредставленными в модели (по крайней мере теми же средствами, что и первая).Что ВАм мешает представить все зависимости? Я так понимаю, все можно задать в одном XML
<A><B></A>
<B><A/><B>
...
<C><A/><B/><C/>
...
Рейтинг: 0 / 0
зачем нужен XML
    #35118736
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эх, давно это было:
/topic/103823
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
зачем нужен XML
    #35121170
okdoky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чалПусть есть таблица с тремя колонками A, B и C. Данных пока никаких нет. Никаких ограничений на данные тоже нет. Какая будет структура в XML-модели? Из соображений симметрии следует, что однозначно такую структуру выбрать нельзя. Правильно? Это легко решить, если предположить, что всегда есть нечто вроде идентификатора.Если вы не знаете или не решили какая зависимость, да, можете значения этих трех колонок идентифицировать четвертой колонкой. В XML это будет
Код: plaintext
1.
2.
3.
4.
<X>
  <A>
  <B>
  <C>
</X>
В примере, который я приводил с таблицей FIRST NAME; LAST NAME при желании тоже можно найти зависимости. Чтобы представить эти зависимости не нужно менять таблицу. Например, описать схему в XML. То есть XML может очень неплохо использоваться для уточнения табличных данных, например для описания зависимостей
...
Рейтинг: 0 / 0
зачем нужен XML
    #35136593
x_mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
okdoky : А как быть с ограничением целостности? Вы предлагаете поддерживать целостность программно, а не структурно. Обратно к реляционному корыту? :)
...
Рейтинг: 0 / 0
зачем нужен XML
    #35146681
Albatross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaban_nikВроде изучил теорию XML. Возник вопрос - для чего его (XML) применять.
Единственное что приходит в голову хранить однотипные настройки например проги и чегонить есче. Или у меня извращенное понимание мира...
Создание простеньких Web страничек...

Лично мне очень понравилось использовать XML для такой вещи:

Представьте себе накладную в БД. Там есть шапка и строки. Т.е. шапка в одной таблице хранится, строки в другой.

Теперь подумайте, как Вы будете изменять накладную из пользовательского приложения - например, третью позицию отредактировал, десятую удалил и ещё поменял шапку.
Мы хотим использовать транзакцию, т.е. либо поменял накладную целиком, либо вообще не поменял (если произошёл сбой). Поэтому, если мы будем делать это из приложения, то выглядеть это должно примерно так:

con.BeginTran

cmd.Execute "UPDATE ШапкаНакладной ..."

cmd.Execute "UPDATE ТретьяПозиция .."
cmd.Execute "DELETE ДесятаяПозиция"

....
con.Commit


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

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

Но самое простое решение - использовать XML. В этом случае фактически клиентское приложение в процедуру передаёт только XML текст, который в хранимой процедуре парсится через OpenXML, которой уже известно, что в теге UPDATE находятся строки по изменению, DELETE - по удалению... И в рамках одной транзакции процедура быстро выполнит все изменения одним махом. Это очень и очень полезное качество.
...
Рейтинг: 0 / 0
зачем нужен XML
    #35147054
Qer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Qer
Гость
Albatross
есть ещё библиотеки кэширования на каждом ЯП, которые сами всё делают (ClientDataSet)
...
Рейтинг: 0 / 0
зачем нужен XML
    #35147811
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlbatrossНо самое простое решение - использовать XML. В этом случае фактически клиентское приложение в процедуру передаёт только XML текст, который в хранимой процедуре парсится через OpenXML, которой уже известно, что в теге UPDATE находятся строки по изменению, DELETE - по удалению... И в рамках одной транзакции процедура быстро выполнит все изменения одним махом. Это очень и очень полезное качество.В локальной сети (да и вообще в любой сети с малым временем отклика) предлагаемое решение почти наверняка будет медленнее, чем приведенное чуть выше. Уже не говоря о куче других очевидных недостатков.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / зачем нужен XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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