Как я могу создавать таблицы базы данных из файлов XSD?[закрыто]

StackOverflow https://stackoverflow.com/questions/138575

Вопрос

У меня есть набор XSD, из которых я генерирую классы доступа к данным, хранимые процедуры и многое другое.

Чего у меня нет, так это способа сгенерировать из них таблицу базы данных - есть ли инструмент, который будет генерировать для меня операторы DDL?

Это не то же самое, что Создать таблицу БД из таблицы набора данных, поскольку у меня нет таблиц набора данных, а есть XSD.

Это было полезно?

Решение

Коммерческий продукт:Альтова XML-шпион.

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

Хотя вы можете попытаться «автоматизировать» это, ваши XSD должны быть разработаны с учетом реляционной базы данных, иначе это не сработает.

Если у XSD есть функции, которые плохо отображаются, вам придется (1) разработать какое-то сопоставление, а затем (2) написать собственное приложение для перевода XSD в DDL.

Был там, сделал это.Работа по найму — открытый исходный код отсутствует.

Другие советы

Существует инструмент командной строки под названием XSD2DB, который генерирует базу данных из xsd-файлов, доступных на sourceforge.

Для этого я использую XSLT.Напишите свой XSD, а затем передайте модели данных через написанный вручную XSLT, который выводит команды SQL.Написание XSLT происходит намного быстрее и его можно использовать повторно, чем собственную программу/скрипт, который вы можете написать.

По крайней мере, я так делаю на работе, и благодаря этому у меня появилось время потусоваться на ТАК :)

XML-схемы описывают иерархические модели данных и могут плохо сопоставляться с реляционной моделью данных.Сопоставление XSD с таблицами базы данных очень похоже на сопоставление объектов с таблицами базы данных. Фактически вы можете использовать такую ​​​​инфраструктуру, как Castor, которая делает и то, и другое: она позволяет вам использовать схему XML и генерировать классы, таблицы базы данных и код доступа к данным.Я полагаю, что сейчас существует множество инструментов, которые делают то же самое, но потребуется время на обучение, и сопоставления по умолчанию, скорее всего, будут не такими, как вы хотите, поэтому вам придется потратить время на настройку любого инструмента, который вы используете.

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

Лучший способ создать схему базы данных SQL с использованием файла XSD — это программа Altova XMLSpy, это очень просто:

  1. Создать новый проект
  2. В папке DTD/Schemas щелкните правой кнопкой мыши и выберите «Добавить файлы».
  3. Выбирает файл XSD
  4. Откройте файл XSD, добавленный двойным щелчком мыши.
  5. Перейдите на панель инструментов и посмотрите Конверсия.
  6. Они выбирают Создать структуру базы данных из схемы XML.
  7. Выбирает источник данных
  8. И, наконец, дайте ему экспортировать вызовы маршрутов, немедленно оставив свои схемы сценариев с SQL Server для выполнения запроса.

Надеюсь, поможет.

Создайте модель Java с помощью Axis wsdl2java (которая может принимать файлы .xsd).

Используйте инструмент создания базы данных для Java, который принимает модель Java.Конечно, что-то вроде Hibernate может это сделать?Я написал свой собственный инструмент (занимает пару дней, также генерирует CRUD-код на Java), чтобы сэкономить время на работе, может быть, это будет хороший личный проект?

Или просто сделайте это вручную, чтобы проверить, все ли правильно и хорошо!Инструменты базы данных теперь достаточно хороши, и вы можете без особых проблем создавать таблицы для модели.

Возможно, стоит взглянуть на инструмент XSD в Visual Studio 2k8...Я создал реляционный набор данных из xsd, и это может вам как-то помочь.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top