Мы поддерживаем удаление столбцов из таблицы через слой java. Каковы факторы, которые следует учитывать, прежде чем делать так, как 1.No экземпляров в таблице 2.behavior различных поставщиков баз данных и т.д.Факторы, которые следует учитывать перед удалением столбца из таблицы
ответ
Ограничения на столбцы. Если у вас есть PK или FKs в столбцах, они могут (или не могут) быть удалены (легко) в зависимости от поставщика db. Хотя cols не могут «использоваться» пользователем, они могут зависеть от других cols/tables. Кроме того, общее согласие с duffymo. ОЧЕНЬ опасно, чтобы пользователи могли выбрасывать колоды. У Oracle есть возможность восстановить выпавшие столбцы, но на самом деле, вы хотите пойти по этому пути? Автогенерированные заявления о высылке всегда были чреваты опасностью.
Самый большой вопрос, имеет мало общего с базой данных, и все делать с клиентами, используй это. Ваше Java-приложение может проверить, есть ли в столбце какие-либо ненулевые записи, но он не может определить, какие клиенты ожидают, что столбец будет там для SELECT и UPDATE.
Я не знаю вашего точного прецедента, но я бы сказал, что это обычно действие для администратора базы данных, а не для пользователя вашего приложения. Я бы посоветовал осторожно.
В этом случае используется удаление ненужных столбцов, поэтому мы гарантируем, что запрос существует с этим столбцом. Однако меня беспокоят факторы, которые следует учитывать, если удаление должен быть поставлен в очередь, если есть большое количество строк и т. д. – praveen
Все еще неправильно. Это то, что должно быть сделано в консоли управления базой данных администратором базы данных, а не с вашим кодом приложения. Я оспариваю идею, что пользователи и ваш код могут «знать», что колонка больше не требуется. Звучит как дизайн, который нужно пересмотреть для меня. – duffymo
Вы уверены, что вы поступаете правильно? Если вы не используете лишние таблицы для людей, которые могут возиться с или использовать их для изучения, это звучит не очень хорошо.
Как только таблицы определены, их номер столбца не должен изменяться. В противном случае вы получите денормализованные таблицы; внешние ключи могут сломаться, и все ад разрывается, если у вас нет хороших ограничений на ваши столбцы.
Отслеживание того, какие столбцы существуют и какие запросы вы можете выполнить, поставит гораздо больше нагрузки на ваш код JDBC, чем необходимо.
Это не вопрос Java или JDBC, это вопрос о дизайне базы данных. Вы должны поговорить с вашим администратором базы данных об этом.
- 1. Akka: факторы, которые следует учитывать при проектировании структуры организации Актера?
- 2. Какие факторы следует учитывать для перехода на хранилище Amazon?
- 3. Что следует учитывать перед использованием брокера сообщений
- 4. Что следует учитывать перед списком подклассов?
- 5. Что следует учитывать перед развертыванием приложения Meteor?
- 6. Каковы факторы, которые следует учитывать при выборе между интерфейсами и абстрактными классами?
- 7. Каковы факторы, которые следует учитывать при переносе на более раннюю версию C#?
- 8. следует добавить новое ограничение перед удалением старого
- 9. Какие факторы следует учитывать при использовании urllib vs urllib2 vs request vs http.client
- 10. показать окно подтверждения перед удалением строки таблицы
- 11. Вопросы, которые следует учитывать при реализации общей памяти
- 12. Предостережения, которые следует учитывать при использовании потоков в Python?
- 13. Конкретные столбцы, которые следует учитывать для отличного расчета
- 14. Неверные (даты) вещи, которые следует учитывать при преобразовании
- 15. триггер перед удалением записи
- 16. Удалить предупреждение перед удалением из представления таблицы Datasource
- 17. Подтвердить, если данные содержат данные из другой таблицы перед удалением
- 18. Триггер Firebird перед удалением
- 19. MySQL Вставить перед удалением
- 20. Присоединение событий после загрузки Ajax и делегирования: какие факторы следует учитывать?
- 21. Факторы, которые ограничивают скорость Presto?
- 22. Что следует учитывать при написании переносного C?
- 23. Какие факторы следует учитывать при разработке базы данных, содержащей родительские и дочерние сущности?
- 24. Какие факторы следует учитывать при выборе подходящей длины таймаута JQuery AJAX?
- 25. Для Кассандры, как следует учитывать исторические данные?
- 26. Подтверждение перед удалением ViewController
- 27. hibernate - принудительное сохранение перед удалением
- 28. Подтверждение перед удалением
- 29. подтверждения перед удалением строки
- 30. перед удалением триггер низкой производительности
Извините, как это сделать – praveen