Оставляем базу данных на потом 
Наверное, я не сильно ошибусь если скажу, что среди разработчиков веб-приложений наиболее распространен подход, когда проектирование базы данных делается до начала работ над кодом. Как правило, разработчики понимают, что с большой долей вероятности их приложение будет хранить свои данные с помощью той или иной субд. Поэтому, пытаются учесть это требование с самого начала.
Однако, это не отменяет того факта, что в последствии база данных все равно требует доработки.
При разработке через тестирование, для облегчения работы с БД, принято создавать фикстуры, которые, при запуске теста, создают экземпляр базы данных. Обычно это текстовые файлы в том или ином формате (например, YAML). В таком случае достаточно поправить один файл, чтобы получить все необходимые изменения.
Но даже при таком подходе приходится постоянно “прыгать” между файлами с фикстурами, тестами и кодом. Плюс ко всему работа с базой все равно имеет свои особенности, которые отвлекают от реализации основной задачи.
В итоге получается, что работать неудобно. Больше всего меня бесит необходимость постоянного переключения между файлами. Особенно когда файлов больше трех.
Поэтому в своей работе я стараюсь руководствоваться простым правилом - не использовать СУБД до тех пор, пока не назреет сильная необходимость.
Обычно, я изолирую всю логику получения данных, используя массивы для хранения данных. Потом, когда появляется необходимость, массивы заменяются на соответствующие данные из базы (которые, кстати, по сути являются все теми же массивами).
Самое главное, что в самом начале проекта, когда приходится принимать много архитектурных решений относительно кода, я не отвлекаюсь на способы хранения данных. Оставляя базу данных на потом.
подписаться на блог
mihailt
Гость
Собственно этим и хороша абстракция, определяем модели, работаем с ними, и только когда их действительно нужно хранить
создаём их отображение в БД
Волька
Гость
И тут появляется операционная система Фантом, и надобность в СУБД вообще отпадает.
be3
Гость
Для работы команды, база, хотя бы черновой набросок, факт требуется.
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
А какое преимущество дает черновой вариант базы?
Leave a Reply