Стандартный XSD, нейтральный к базе данных, для описания схемы реляционной базы данных

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

Вопрос

Кто-нибудь знает о нейтральном к поставщику XSD для описания схемы реляционной базы данных?Нашей системе необходимо собирать информацию о структуре базы данных:

  • Таблицы
  • Столбцы и типы
  • Ограничения первичных и внешних ключей
  • Индексы
  • и т.д.

независимым от поставщика способом и сохраните его в XML-файле для последующей обработки.

Прежде чем мы сделаем то, что мы обычно делаем, и свернем наше собственное.Я хотел провести некоторое исследование и посмотреть, существует ли существующий XSD, который люди стандартизируют для того, что, как я полагаю, не является необычным требованием к инструментам моделирования и тому подобному.Я не нашел в Google ничего, что не относилось бы к конкретному поставщику базы данных.Если вы знаете о существующем общедоступном стандарте, я был бы очень признателен за ссылку.

Заранее спасибо,

Теренс

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

Решение

Это не совсем то, что вы ищете, но PostgresSQL Вики содержит интересный раздел об экспорте XML, в котором описывается, как они поддерживают SQL и XML вместе.Он отображает раздел о том, как таблица будет экспортироваться в формате XML, и XSD, который будет ее поддерживать, что выглядит довольно обобщенно.Это могло бы послужить вам моделью для создания вашего собственного.

В Wiki говорится о ссылке на стандарт ISO / IEC 9075-14: 2006, который, по-видимому, принят несколькими крупными поставщиками в качестве базового.Я быстро просматриваю сайт ISO , на котором говорится , что : 2006 год был обновленный до 2008 года.Я уверен, что вы можете найти соответствующую спецификацию, за скачивание которой вам не придется платить.

В статье также указывается на Стандарт SQL/XML определение, которое немного устарело, но может удовлетворить ваши потребности, если вы ищете некоторые основы.

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

Интересная проблема - я не знаю ни одного стандарта или инструмента для достижения этой цели.

Вам почти пришлось бы иметь какую-то "нейтрализованную" версию с адаптерами для каждой отдельной системы баз данных, на которую вы хотите настроить таргетинг, - даже просто для сопоставления всех различных типов данных (VARCHAR и NVARCHAR в SQL Server, VARCHAR2 в Oracle и так далее).

Вы могли бы просто использовать типы, определенные в стандарте SQL: 2003, но даже тогда вам, вероятно, все равно пришлось бы иметь какое-то отображение / адаптацию для конкретного поставщика.Не говоря уже о какой-то поддержке деталей реализации, зависящих от конкретного поставщика (например, столбцов идентификаторов в SQL Server по сравнениюПОСЛЕДОВАТЕЛЬНОСТЬ в Oracle и других).

Очень интересный вопрос!Я надеюсь, что другие смогут пролить больше света на этот вопрос и, возможно, порекомендуют существующий инструмент.

Если нет, и вы решите создать свой собственный - подумайте о том, чтобы сделать его с открытым исходным кодом в CodePlex или Google Code!Я уверен, что многим людям было бы очень интересно!

Марк

Возможно, стоит попробовать спецификацию UML Information Management Metamodel (IMM) от OMG.

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