Испытывайте запросы на тестовой базе данных — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Испытывайте запросы на тестовой базе данных

2020-06-02 101
Испытывайте запросы на тестовой базе данных 0.00 из 5.00 0 оценок
Заказать работу

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

Создайте несколько наборов тестовых данных, в которых обязательно должны быть "особые случаи", например, такие, как пустые таблицы или значения, взятые с крайних точек допустимых диапазонов. Пытайтесь придумать самые невероятные случаи, а затем проверьте, правильно ли ведет себя система. В ходе этой проверки нетипичных случаев вас, возможно, осенит идея и придет решение какой-либо из более обычных проблем.

Дважды проверяйте запросы, имеющие операторы JOIN

Общеизвестно, что операторы JOIN наглядными никак не назовешь. И если какое-либо из них находится в вашем запросе, то, перед тем, как добавлять в запрос какие-либо предложения WHERE или другие усложняющие компоненты, обязательно проверьте, делает ли это предложение то, что вы от него ожидаете.

Трижды проверяйте запросы с подвыборками

Подзапросы позволяют совмещать данные одной таблицы с данными другой, и их часто используют неправильно. Необходимо проверять, чтобы данные, получаемые внутренним оператором SELECT, были теми, которые нужны внешнему оператору SELECT для получения нужного конечного результата. А если имеется более двух уровней подвыборок, то надо быть еще более осторожным.

Подводите итоги, используя предложение GROUP BY

Скажем, у вас есть таблица NATIONAL (Национальная бейсбольная лига), содержащая поля с фамилией игрока (поле Player), командой (поле Team) и количеством успешных ударов битой по мячу (поле Homers) для каждого игрока из Национальной лиги. Итоговые данные для всех команд можно получить, если использовать примерно такой запрос:

SELECT Team, SUM (Homers)FROM NATIONALGROUP BY Team;

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

Внимательно относитесь к ограничениям предложения GROUP BY

Предположим, вам нужен список самых результативных хиттеров (игроков с битой) Национальной лиги. Проанализируйте следующий запрос:

SELECT Player, Team, HomersFROM NATIONALWHERE Homers >= 2 0GROUP BY Team;

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

SELECT Player, Team, HomersFROM NATIONALWHERE Homers >= 20GROUP BY Team, Player, Homers;

Так как все столбцы, которые вы хотите отобразить, указаны в предложении GROUP BY, то запрос выполнится успешно и выведет те результаты, которые вам нужны. Благодаря этой формулировке полученный список будет сперва отсортирован по полю Team, затем по полю Player и Homers.

Используйте круглые скобки с ключевыми словами AND, OR и NOT

Когда AND и OR используются вместе, SQL иногда не обрабатывает выражение в том порядке, который вы ожидаете. Чтобы полученный результат был тем, на который вы рассчитываете, используйте круглые скобки. Несколько лишних щелчков на кнопках – это достаточно низкая цена, которую следует заплатить за более достоверные результаты. Кроме того, круглые скобки помогают сделать так, чтобы ключевое слово NOT применялось именно необходимому к терму или выражению.

Управляйте полномочиями на получение данных

Многие люди не пользуются средствами безопасности, которые имеются в их СУБД. Они не хотят возиться с этими возможностями, считая, что с их данными не может случиться ничего плохого. Не играйте с огнем, иначе останетесь на пепелище. Установите и поддерживайте безопасность для всех объектов баз данных, имеющих хотя бы малейшую ценность.


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.