Когда Вы решили сохранить XML в реляционной базе данных? [дубликат]

Вы могли попробовать svn2git nirvdrum (кажется самым актуальным) для импорта svn в репозиторий мерзавца?
(В начале 2009, Paul упомянул это svn2git iteman в замене этого svn2git исходного jcoglan, который был, поскольку его автор упомянул: "быстрый взлом для вытаскивания моего кода из Подверсии")

лучше, чем git svn clone потому что, если у Вас есть этот код в svn:

  trunk
    ...
  branches
    1.x
    2.x
  tags
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0

git-svn пройдет историю фиксации для создания нового мерзавца repo.
Это импортирует все ответвления и теги как удаленные ответвления svn, тогда как то, что Вы действительно хотите, является собственными мерзавцем локальными ответвлениями и объектами тега мерзавца .
Поэтому после импорта этого проекта, Вы добрались бы:

  $ git branch
  * master
  $ git branch -a
  * master
    1.x
    2.x
    tags/1.0.0
    tags/1.0.1
    tags/1.0.2
    tags/1.1.0
    tags/2.0.0
    trunk
  $ git tag -l
  [ empty ]

После того, как svn2git сделан с Вашим проектом, Вы получите это вместо этого:

  $ git branch
  * master
    1.x
    2.x
  $ git tag -l
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0

, Конечно, это решение не предназначено как перелет без возвращения.

можно всегда возвращаться к репозиторию SVN, с... git2svn (также существующий там )

идея останьтесь:

  • SVN на работе как центральный репозиторий.

  • Мерзавец "в другом месте" для быстрого экспериментирования среди нескольких Частных на мерзавца ответвлений.

  • импорт назад только объединенный Мерзавец переходит в официальные ответвления SVN.

6
задан Community 23 May 2017 в 11:48
поделиться

6 ответов

Никогда.

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

​​Если это и есть ваше намерение, хорошо, но тогда будьте откровенны и просто не беспокойтесь об использовании реляционной СУБД, просто выгрузите ваш XML в какой-нибудь локальный / псевдолокальный файл.

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

3
ответ дан 10 December 2019 в 02:51
поделиться

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

2
ответ дан 10 December 2019 в 02:51
поделиться

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

2
ответ дан 10 December 2019 в 02:51
поделиться

Ваш код может захотеть обрабатывать XML-данные следующими способами:

  1. Сохранять их только в базе данных, выполнять всю обработку на бизнес-уровне, например, очередь или контрольный журнал SOAP сообщения в / из веб-службы. Для этого я бы использовал простой текстовый столбец.
  2. Сохранять его в базе данных и время от времени выполнять запросы на уровне базы данных, например, документ XHTML, в котором пользователи могут искать. Для этого я бы использовал тип данных xml в SQL Server 2005 или выше или эквивалент в других СУБД.
  3. Полномасштабные сложные реляционные запросы на уровне базы данных, например, большой двоичный объект реляционных данных, который был просто сериализован в XML и теперь должен храниться в надлежащей форме. Очевидно, это будет храниться в наборе таблиц, соответствующих десериализованной структуре данных.
2
ответ дан 10 December 2019 в 02:51
поделиться

Я обычно храню объявления в формате XML (или другие непрозрачные данные, такие как сериализованные данные в формате json), когда сами данные не нуждаются в связях.

0
ответ дан 10 December 2019 в 02:51
поделиться

Я использую эти условия для хранения данных XML в базе данных.

  1. У меня нет времени на разработку реляционных таблиц (правда, иногда я начинаю с этого, просто чтобы получить прототип запущен и работает).

  2. Данные слишком большие и сложные по структуре, чтобы их можно было разбить на таблицы без значительных усилий

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

0
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: