Как правильно создавать БД и обновлять их?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Matveih1
Сообщения: 41
Зарегистрирован: 11 дек 2007, 14:50

Как правильно создавать БД и обновлять их?

Сообщение Matveih1 » 29 сен 2008, 09:49

Есть интересны проект который со временем надеюсь будет развиваться, что неизбежно приведет к изменению структуры БД (обновлению).
Вопрос в следующем.
1. Как правильно создавать БД у клиента?
a) Есть вариант создавать при помощи скриптов, т.е. 1 скрипт создает структуру 2 все ХП, триггеры ну т.д. Вариант не плохой и в дальнейшее обновлять наверное удобно т.е. перепролить скрипты с измененными ХП. С таблицами, посложнее (все зависит от вносимых изменений).
б) Есть вариант передавать готовую БД, но как ее потом сопровождать.

Все изменения будут делаться под конкретные задачи (требования).

У кого какие варианты по дальнейшему сопровождению БД?

Gera
Сообщения: 53
Зарегистрирован: 12 мар 2008, 17:34

Re: Как правильно создавать БД и обновлять их?

Сообщение Gera » 29 сен 2008, 13:19

Мы используем следующий вариант:
При установке программы клиенту ему ставится пустая база с готовой структурой
По мере необходимости отсылаются скрипты для изменения отдельных ХП, представлений и таблиц.
При изменении таблиц скрипты на изменение данных для поддержания целостности всегда запихиваются в один файл с ALTER TABLE.

И ещё неплохо бы сразу в программе предусмотреть модуль для запуска высланных клиенту обновлений, если он расположен достаточно далеко для того чтобы самому мотаться.
Ни какие уговоры и угрозы не заставят клиента запустить 20 скриптов в правильном порядке строго по одному разу.

Matveih1
Сообщения: 41
Зарегистрирован: 11 дек 2007, 14:50

Re: Как правильно создавать БД и обновлять их?

Сообщение Matveih1 » 29 сен 2008, 13:59

Gera а как вы получаете нужные скрипты?
Допустим я знаю, какую таблицу и/или ХП я поправил или доработал для конкретной задачи. Для следующей задачи я опять вношу изменения в эти же таблицы и ХП (и в другие) уже для другой задачи, но основываясь на изменениях которые внес в предыдущей задачи.
Т.е. я получаю каждый раз другой (новый) скрипт ХП.
Получается пользователю нужно отослать все предыдущие скрипты + новый. Но можно внести изменения в один скрипт и отослать только его.
Если изначально создавать все скриптами то при обновлении, изменения можно вносить только в определенные скрипты и отсылать только их. Тем самым отпадает необходимость получать новые скрипты.
Можно подробнее описать как вы это делаете

Gera
Сообщения: 53
Зарегистрирован: 12 мар 2008, 17:34

Re: Как правильно создавать БД и обновлять их?

Сообщение Gera » 29 сен 2008, 14:12

У нас скрипты формируются только для тех ХП и представлений, которые я сегодня изменялись.
Чтобы путаницы не было это делается ежедневно в 17:00 тем программистом, который вносил изменения.
В конце дня на файл-сервере каждый складывает свои скрипты в папку ГГГГММДД. Имена файлам даются типа ALTER_VIEW_View1.sql, CREATE_TABLE_table1.sql и т.д.
Скрипты для таблиц приходится в основном писать вручную.

при работе с FB/IB скрипты проще всего формировать IBExpert'ом, отметив только нужные объекты, и потом поменять CREATE на ALTER, если объект у клиента уже был.

Ответить