Если мои XML-данные очень сложны, есть ли способ сохранить это в БД?
Как хранить данные XML в базе данных mysql? Я не хочу, чтобы внешние ключи как сумасшедшие
Ответ 1
"Обычный" способ - хранить XML в CLOB (Large Large Object), а MySQL поддерживает CLOB с 4 типами данных:
- TINYTEXT - столбец CLOB с максимальной длиной 255 символов (2 ** 8 - 1).
- ТЕКСТ - столбец CLOB с максимальной длиной 65 535 символов (2 ** 16 - 1).
- MEDIUMTEXT - столбец CLOB с максимальной длиной 16,777,215 (2 ** 24 - 1) символов.
- LONGTEXT - столбец CLOB с максимальной длиной 4 294 967 295 или 4 ГБ (2 ** 32 - 1).
Использование одного или другого зависит от ваших потребностей.
Ответ 2
Все зависит от того, что вы хотите, чтобы ваша база данных работала с XML.
- Если вы хотите сохранить XML-документ для последующего извлечения, просто используйте поле blob или text. Также проверьте Документы MySQL.
- Если вы пытаетесь выгрузить/импортировать модель, используйте mysqldump.
- Если вы планируете запрашивать XML, скорее всего, вы должны использовать собственную XML-базу данных, такую как eXist-db.
Ответ 3
Я бы рекомендовал использовать базу данных с собственным типом данных XML. Postgres это сделает, например. Это облегчит вам жизнь, если вы планируете большую работу с XML в своей базе данных.