Переносимая схема между Derby и DB2 - PullRequest
1 голос
/ 12 декабря 2010

Я бы хотел использовать Derby в качестве подмножества для конкретной базы данных DB2, которая предназначена для работы в мейнфрейме.

Какие советы и хитрости вы бы дали при проектировании базы данных, чтобы быть максимально(хотя бы DML) между двумя базами данных?

1 Ответ

3 голосов
/ 08 марта 2011

Я предполагаю, что под словом «максимум» вы подразумевали «наиболее совместимый» в вашем вопросе? В общем, я думаю, что вы сделали правильный выбор с Дерби. Это единственная из известных мне баз данных, которая обеспечивает такую ​​строгую типизацию, как DB2. Полагаю, не случайно версия таблицы dual в Derby называется SYSIBM.SYSDUMMY1.

Лучший способ избежать проблем с несовместимостью с DML - использовать средства абстракции базы данных в вашем приложении. Если вы используете Java, такие опции могут быть предоставлены Hibernate или jOOQ . Если абстрагирование базы данных не подходит для вас, я рекомендую написать большой набор примеров запросов в автоматическом интеграционном тесте. После этого теста вы будете работать как с Derby, так и с DB2, чтобы проверить, будет ли поведение идентичным (например, вставлять записи, читать их снова с помощью JOIN, вложенных SELECTS и т. Д.).

Как разработчик jOOQ , я могу вам сказать, что самостоятельно написать интеграционные тесты будет довольно сложно, особенно для Derby и DB2! : -)

...