Для всех ответов, отслеживающих минимальный и максимальный элементы, это решение на самом деле является решением O (n ^ 2). Это связано с тем, что в конце нужно проверить, произошло ли максимум после минимума или нет. В противном случае требуются дальнейшие итерации до тех пор, пока это условие не будет выполнено, и это оставляет худший случай O (n ^ 2). И если вы хотите пропустить дополнительные итерации, вам потребуется больше места. В любом случае, нет-нет по сравнению с решением динамического программирования
Это не инструмент, но Ambler и книга Sadalage, Базы данных Рефакторинга: Эволюционное Проектирование баз данных довольно хорошо.
Redgate, вероятно, сделает все, в чем Вы нуждаетесь. Дорогой все же.
РЕДАКТИРОВАНИЕ - Конкретно: http://www.red-gate.com/products/sql-development/readyroll/
Вы упомянули симпатию dbDeploy и того, что Вы не хотите устанавливать Java на своем сервере. Вы знаете порт.NET из этого инструмента?
я недавно использовал это с командой, и мы были очень довольны ею. В нашем случае мы были нацелены на SQL 2000, но это могло легко быть настроено для выполнения против других платформ DB, включая MySQL. Конечно, это потребует, чтобы Вы установили Платформу.NET на сервере..., если это будет приемлемой предпосылкой по сравнению со средой выполнения Java.
Возможный это не Ваш случай, но если Вы решаете использовать Java, смотрят на liquibase
Да, Redgate является волшебным. И Не то, чтобы дорогой для того, что это обеспечивает.
Система Команды Visual Studio (выпуск базы данных) делает некоторый рефакторинг.
я прочитал книгу баз данных Рефакторинга. Я думаю, что это полезно.
, Но в программном обеспечении dev, Вы создаете тесты так, чтобы Вы были безопасным рефакторингом. Они не затрагивают тесты в книге Баз данных Рефакторинга, которая была моим большим разочарованием с ним.
Я думаю, что те инструменты очень хороши, но для моей цели я записал пользовательское собственное. Главная причина для этого была из-за, я работаю над базой данных SQL Server Compact 3.5, таким образом, ни один из перечисленных инструментов не работал.
, Конечно, это не столь мощно как инструменты от Redgate, но Вы получаете самые важные очень быстрые функции.
Это в состоянии переименовать все виды объектов базы данных и мигрирующих столбцов к другим таблицам и создать различный сценарий для 2 баз данных.