5

Czy ktoś wie o neutralnym XSD dostawcy, aby opisać relacyjny schemat bazy danych? Nasz system musi pobrać informacje na temat struktury bazy danych:Standardowa baza danych neutralna XSD do opisania schematu relacyjnej bazy danych

  • Stoły
  • kolumn i typów
  • podstawowych i kluczy obcych Ograniczenia
  • Indeksy
  • etc

w A niezależny od dostawcy i przechowuj go w pliku XML do późniejszego przetworzenia.

Zanim zrobimy to, co zwykle robimy i robimy własne. Chciałem zrobić kilka badań i sprawdzić, czy istnieje istniejący XSD, na którym ludzie standaryzują, ponieważ zakładam, że nie jest to rzadki wymóg dla narzędzi do modelowania i tak dalej. W Google nie znalazłem niczego, co nie byłoby specyficzne dla dostawcy bazy danych. Jeśli znasz istniejący standard publiczny, bardzo bym docenił link.

Dzięki z góry,

Terence

+0

Chcesz opisać schemat, dobrze, a nie przypadki schematu? Brak danych zgodnych ze schematem? –

+1

Dlaczego po prostu nie przechowujesz kodu SQL niezbędnego do zbudowania bazy danych? Czy brakuje mi czegoś lub jesteś? – Pesto

+0

Trudną częścią jest to, że podczas gdy sama struktura tabeli może być raczej prosta, XSD wygenerowany przez określonego dostawcę najprawdopodobniej będzie miał własne rozszerzenia przestrzeni nazw, które będą dokładnie odpowiadać ich produktowi. Znalezienie czegoś bardziej ogólnego bez konieczności samodzielnego zakodowania, jeśli uważam, że jest to problem. –

Odpowiedz

2

To nie jest dokładnie to, czego szukasz, ale PostgresSQL Wiki ma ciekawy punkt na eksport XML, który opisuje w jaki sposób są one wspieranie SQL i XML razem . Wyświetla sekcję o tym, jak tabela zostanie wyeksportowana jako XML i XSD, które ją obsługują, co wygląda raczej ogólnikowo. Może służyć jako model do tworzenia własnych.

Wiki mówi o odwołaniu do normy ISO/IEC 9075-14: 2006, która wydaje się być przyjęta przez kilku dużych dostawców jako linia podstawowa. Szybko przeglądam stronę ISO, która mówi, że: 2006 był updated do 2008. Jestem pewien, że możesz znaleźć specyfikację tego, że nie musisz płacić za pobieranie.

Artykuł wskazuje również na definicję SQL/XML standard, która jest nieco przestarzała, ale może służyć twoim potrzebom, jeśli szukasz podstaw.

+0

Dzięki, że popatrzę. – Terence

+0

Spojrzałem i standard kosztuje kilkaset dolarów, więc zamierzam wykorzystać to, co zrobili faceci Postgreszu. Dziękuję i Marc za twoje myśli. – Terence

1

Interesujący problem - nie jestem świadomy żadnego standardu ani narzędzia, aby to osiągnąć.

Prawie potrzebna jest wersja "zneutralizowana" z adapterami dla każdego indywidualnego systemu baz danych, który ma być celem - nawet w celu mapowania wszystkich różnych typów danych (VARCHAR i NVARCHAR w SQL Server, VARCHAR2 w Oracle i tak dalej).

Możliwe, że będziesz używał typów zdefiniowanych w standardzie SQL: 2003 - ale nawet wtedy prawdopodobnie będziesz musiał mieć specyficzne dla dostawcy mapowanie/adaptację sortów. Nie wspominając o pewnego rodzaju obsłudze specyficznych dla dostawcy szczegółów implementacji (takich jak kolumny IDENTITY w SQL Server vs. SEQUENCE w Oracle i innych).

Bardzo interesujące pytanie! Mam nadzieję, że inni będą mogli rzucić więcej światła na tę kwestię i może zalecić istniejące narzędzie.

Jeśli nie, a ty zdecydujesz się na samodzielne wykonanie - rozważ zaprojektowanie go jako open-source na CodePlex lub Google Code! Jestem pewien, że większość ludzi byłaby najbardziej zainteresowana!

Marc

+0

Jeśli musimy toczyć własne i to nie śmierdzi :-) Na pewno spojrzymy na to, że będzie to open source. Pozdrawiam Terence – Terence

0

UML Information Management Metamodel (IMM) Specyfikacja z OMG może warto spróbować.

Powiązane problemy