Недавно меня наняли в качестве единственного IT-парня в определенной компании X, и мне поручили исправить их приложения, и, на мой взгляд, лучший способ начать с понимания базы данных.
Их текущая база данных - это база данных MySQL с 186 таблицами (обратите внимание, что некоторые таблицы пусты, бог знает почему). И приложение связывается с базой данных через интерфейс базы данных MS Access. (Я спрашиваю себя, почему разработчики сделали это тоже)
Вопрос в том, как мне начать заниматься этой большой недокументированной базой данных? Да, это недокументировано, потому что разработчики приложения не хотят давать мне ERD или словарь данных или какую-либо информацию о базе данных, чтобы облегчить мою жизнь. Как бы вы предложили взять на себя эту опасную попытку понять каждый закоулок довольно большой базы данных?
Смежный вопрос: как погрузиться в некрасивую базу данных?
Ответы:
Связанный ответ решает проблему снизу вверх, сначала база данных. Поскольку ваши обязанности охватывают приложения и базу данных, я был бы склонен атаковать этот нисходящий процесс, начиная с приложений.
Сосредоточьте свое внимание на понимании наиболее часто используемых функций приложения через консультации с базой пользователей. Отслеживайте взаимодействия этих функций в базе данных с помощью инструментов профилирования / ведения журнала, чтобы вы могли определить ключевые таблицы и процедуры.
Таким образом, ваши ранние усилия ограничиваются «важными вещами», а не тратят время на документирование таблиц и запросов, которые могут использоваться редко или никогда не использоваться. Основное внимание следует также уделить принципу Парето, чтобы разобраться с вашими усилиями по исправлению ошибок ( так или иначе говорит Microsoft ).
источник
Возможно, я бы попытался получить MySQL Workbench, а затем создать модель EER из базы данных. Это означает, что вы можете увидеть, что связано с чем-то, и узнать, о чем думали разработчики. Все зависит от приложения и от того, как оно структурировано.
источник
Я считаю DBLint полезным для выявления проблем с базой данных. Он имеет следующие приятные свойства:
Для быстрой идентификации горячих точек в базе данных MySQL Neor Profile SQL является небольшим прокси-сервером, который находится между приложением и базой данных. Прелесть этого в том, что он быстро настраивается.
Для обнаружения фактических первичных и внешних ключей в базе данных, которые, тем не менее, не определены в базе данных, вы можете использовать Linkifier . Для построения графиков ERD оценки можно экспортировать в yEd , который имеет множество алгоритмов компоновки для позиционирования таблиц. BPMN мой любимый для ERDs.
источник
Существует инструмент оракула (My SQl Workbench) для доступа к базе данных My Sql, это интерфейс, который может дать вам ERD базы данных.
источник