Сайт, над которым я работаю как студент, будет изменен и выпущен в ближайшем будущем, и мне была поручена задача ручного поиска по каждой таблице в БД, которую использует сайт, чтобы найти таблицы, которые мы можем рассмотреть для удаления. Я делаю поиск через каждый исходный код HTML-файлов в Dreamweaver, но я надеялся, что есть автоматический способ проверить мою работу. Есть ли у кого-нибудь какие-либо предложения относительно того, как это делается в деловом мире?Очистка таблиц SQL от большой БД?
ответ
Если вы просматриваете код, вы можете найти SQL, который никогда не используется, потому что пользователи никогда не выбирают эти параметры в приложении.
Вместо этого я предлагаю вам включить аудит в базе данных и зарегистрировать, какой SQL фактически используется. Например, in Oracle you would do it like this. Другие основные серверы баз данных имеют схожие возможности.
Из данных журнала вы можете идентифицировать не только таблицы, которые используются, но и их частоту использования. Если в схеме есть какие-либо таблицы, которые не отображаются в течение недели аудита, или отображаются редко, то вы можете исследовать это в коде с помощью инструментов текстового поиска.
После того, как у вас есть таблицы-кандидаты для удаления из базы данных и утверждения от вашего менеджера, то не просто отбрасывайте таблицы, создавайте их снова как пустую таблицу или помещайте одну фиктивную запись в таблицу, в основном с нулевыми значениями (или нулевой или пустой) в полях, за исключением полей имени и описания, где вы можете поместить что-то вроде «DELETED» «Сообщить об ошибке DELE для поддержки центра» и т. д. Таким образом, приложение не сбой с жесткой ошибкой, и у вас есть шанс узнать, что делают пользователи, когда заканчиваются этими неиспользуемыми таблицами.
Обратный инженер DB (Visio, Toad и т. Д.), Документируйте структуру и спросите дизайнеров нового сайта, что им нужно, а затем рефакторинг.
спасибо. Я не могу проголосовать за тебя, потому что у меня «недостаточно репутации», но это тот подход, который я искал. Я начинающий программист, и я все еще знаком с процессом вещей. – nlast
Если имена таблиц указаны в источнике HTML (и если это единственное место, которое они когда-либо указывали!), Вы можете выполнить поиск в файлах для имени каждой таблицы в БД. Если есть много таблиц, подумайте об использовании такого инструмента, как grep, и создайте скрипт, который запускает grep для базы исходного кода (файлы HTML и любые другие, которые могут ссылаться на таблицу по имени) для каждого имени таблицы.
Сказав это, я все равно буду следовать совету Дамира и принять список кандидатов на удаление для разработчиков данных для проверки.
Я предполагаю, что у вас нет никаких тестов на месте доступа к данным или пользовательского интерфейса, поэтому нет возможности проверить, что такое и не используется. Если доступ к данным согласован, сценарий будет вашим лучшим выбором. Попросите его выполнить поиск таблиц/представлений/хранимых процедур, которые вызывают, и выгрузить их в файл для дальнейшего анализа. Это, по крайней мере, даст вам список всего, что на самом деле называется из какого-то места. Что касается, если эти страницы фактически используются где угодно, это еще одна история.
Как только у вас есть список вызываемых элементов базы данных, сравните их со списком определяемых пользователем элементов, которые находятся в базе данных. Это даст вам те, которые потенциально могут быть удалены.
Все, что сказано, если сайт обновляется, то новая схема базы данных может фактически быть лучшим подходом. Обычно менее интенсивно запускать свежие и импортировать старые данные, чем искать мертвые таблицы и поля.
Я хотел бы начать с расчесывания через источник HTML для ключевых слов:
- ВЫБРАТЬ
- ВСТАВИТЬ
- UPDATE
- УДАЛИТЬ
... используя Grep/и т.д.. Ни один из них не является объектами HTML, и вы не можете надежно использовать имена таблиц, потому что вы можете иметь дело с представлениями (если они существуют в системе). Затем вам нужно налить сами заявления, чтобы определить, что используется.
Если в системе были использованы функции и/или хранимые процедуры, большинство БД имеют ссылочную функцию для проверки зависимостей.
Это было бы подходящее время для создания проектного документа на экранной основе, перечисляя атрибуты на экране &, где значения (-ы) поступают из базы данных на уровне table.column.
Составьте список используемых таблиц и сравните с тем, что действительно находится в базе данных.
- 1. Очистка таблиц T-SQL
- 2. привязка разных таблиц от БД в gridview!
- 3. Очистка данных от миграции ненормальных нормализованных таблиц
- 4. Размер БД SQL Server - почему он такой большой?
- 5. Именование таблиц БД - Предложения?
- 6. Большой масштаб SQL-запроса более 100 таблиц
- 7. CSS Очистка таблиц границ
- 8. сделать большой запрос от 3-х таблиц
- 9. SQL - несколько таблиц против одной большой таблицы
- 10. Chatbot с большой интеграцией БД
- 11. Сортировка таблиц БД от наименее зависимых от большинства зависимых
- 12. Очистка вызова БД после закрытия мода
- 13. Очистка данных, миграция в большой базе данных в процессе эксплуатации
- 14. Очистка кода SQL
- 15. SQL-сервер БД останавливается от копирования
- 16. Очистка виртуальной памяти - выделение большой непрерывной памяти
- 17. Очистка SQL-запроса
- 18. Скрипт для автоматического создания таблиц БД
- 19. Очистка файлов от оболочки
- 20. Очистка QByteArray от \ 0
- 21. Очистка данных от href
- 22. Очистка информации от hoverbox
- 23. Очистка HTML от textarea
- 24. Очистка кеша от браузера
- 25. Очистка htaccess от инфекций
- 26. пикселей Очистка от карты
- 27. Проблема с объединения таблиц БД
- 28. SQL Server: наличие отдельных таблиц против добавления столбцов (дизайн БД)
- 29. создание раскрывающегося списка доступных таблиц в БД
- 30. Очистка данных SQL
Аналогично, это даст вам только то, что использовалось с тех пор, как вы начали смотреть. Лучше оценить всю заявку и определить, что будет сделано при обновлении. –