Почему не стоит изменять структуру БД?

myau

Новичок
Почему не стоит изменять структуру БД?

Вопрос к профессионалам. Почему не рекомендуется лишний раз изменять структуру уже созданной БД? Чем это может быть чревато?
 

Фанат

oncle terrible
Команда форума
fixxxer
я думаю под изменением структуры БД имеется в виду динамическое добавление колонок или таблиц.
типа, под каждого юзера таблицу.
т.е. запрограммированное изменение
 

ek-na

Новичок
Один из аспектов: при изменении структуры все ваши хранимые процедуры, функции, вьюхи и потребуют перекомпиляции, что приводит к снижению поизводительности.
Вообще нормализованная база данных не требует создания новых колонок таблиц и тд в процессе эксплуатации, всегда можно так продумать структуру базы, что в добавлении новых элементов не будет необходимости.
Трудно говорить в общем, на конкретном примере Фаната:
можно создать таблицу юзеров и таблицу данных и настроек этого юзера и связать их форенкеем, а создавать каждому юзеру таблицу, по-моему - это дикость!!! Все таблицы будут имеь одинаковую структуру!!!!!!!
 

myau

Новичок
Речь идет об изменениях типа "не предусмотрели". Заказчик в не до конца представляет, какие данные ему могут еще потребоваться. Так вот - хочется понять, чем чревато такое вот перидическое добавление/изменений полей в таблицы, кроме переписывания программы.

ek-na, почему перекомпиляция снижает производительность? Я работаю с MySQL, там вроде вообще нет компиляции.

-~{}~ 03.07.06 15:00:

Автор оригинала: fixxxer
где не рекомендуется?
Несколько раз встречалось такое утверждение на форуме.. Правда, найти причину не удалось.
 

fixxxer

К.О.
Партнер клуба
> чем чревато такое вот перидическое добавление/изменений полей в таблицы, кроме переписывания программы
ничем

-~{}~ 03.07.06 15:09:

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

а ради того, чтобы добавить одно поле раз в полгода, я бы не стал так жертвовать производительностью.
 

zerkms

TDD infected
Команда форума
...тем более, что это самое
перидическое добавление/изменений полей в таблицы
почти наверняка должно повлечь изменение логики отображения и обработки данных
 
Сверху