Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
як курсовая (1).rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
15.1 Mб
Скачать

Представление

Представление хранит виртуальную таблицу info в которой содержатся все данные по ставкам (имена клиентов, кличка лошади и сумма ставки), сортированную по убыванию ставки.

SQL – код:

create view info (Family_client,Name_client,Father_name_client,Price, Name_horse) as

select Family_client,Name_client,Father_name_client,Price,Name_horse from

klients join horse join price on (klients.ID_client = price.ID_client) and

(horse.ID_horse =price.ID_horse) group by Price order by Price desc|

5. Тестирование системы

5.1 Заполнение бд актуальными данными

Все таблицы БД заполнены актуальными данными. Каждая из таблиц содержит данные, характеризующие соответствующую сущность. Листинг заполнения БД приведён в приложении Б.

Описание вспомогательных SELECT-запросов

  1. SELECT – запрос для проверки работы триггера sum_money, срабатывающего после добавления в таблицу ставки, подсчитывает сумму всех ставок.

Чтобы проверить его работу сделаем выборку данных из объекта

@summoney

SQL – код:

select @summoney count;

Общая сумма ставок.

2) SELECT – запрос для проверки работы триггера count_horse, вычисляющего количество лошадей в БД.

Чтобы проверить его работу сделаем выборку данных из объекта

@counthorse

SQL – код:

select @counthorse count;

Количество лошадей.

3) SELECT – запрос для проверки работы триггера count_klients, вычисляющего количество клиентов.

Чтобы проверить его работу сделаем выборку данных из объекта

@countclient

SQL – код:

select @countclient count;

Количество клиентов.

4) SELECT – запрос для проверки работы триггера count_runners, вычисляющего количество наездников.

Чтобы проверить его работу сделаем выборку данных из объекта

@countrunner

SQL – код:

select @countrunner count;

Количество наездников.

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

Выполним запрос к представлению

SQL – код:

select * from info;

Результат – таблица со сведениями о ставках.

5.2 Тестирование функций

  1. Вызовем функцию count_clients, подсчитывающую количество клиентов, т.е. персон сделавших ставки.

Количество клиентов.

  1. Вызовем функцию count_price, выдающую количество ставок, сделанных клиентом. Входным параметром является id клиента.

Получаем количество ставок у 5 клиента.

  1. Вызовем функцию get_name, показывающую на лошади, с какой кличкой выступает наездник. Результат – имя лошади. Входным параметром является id наездника.

Получаем что наездник с номером 4 управляет лошадью с кличкой Fire.

5.3 Тестирование процедур

база данные аэропорт триггер

  1. Тестируем процедуру count_price подсчитывающую сумму всех ставок на определенный забег. Входные параметры – дата и время забега.

Получаем, что на этот забег сделано ставок на 27000.

  1. Тестируем процедуру win, которая выводит номера клиентов, чья ставка оказалась выигрышной. Также выводит тип забега, в котором был выигрыш.

Получаем, что есть два клиента с выигрышными ставками в двух разных забегах.

  1. Тестируем процедуру add_cl добавляющую клиента, а также его ставку. Входные параметры: фамилия, имя, отчество, размер ставки, id лошади.

Получаем нового добавленного клиента и ставку.

  1. Тестируем процедуру del_cl удаляющую клиента и связанную с ним ставку. Входной параметр – id клиента.

Для работы функции в начале работы с ней нужно прописать:

SET AUTOCOMMIT=0;

SET FOREIGN_KEY_CHECKS=0;

Клиент и связанная с ним ставка удалены из БД.

  1. Тестируем процедуру change_price, меняющую ставку клиента по id ставки используя курсор. Входные параметры – id ставки и сумма новой ставки.

Ставка с id 1 поменялась с 3000 на 5000.

  1. Тестируем процедуру Процедура info_ippodrom показывающую основную информацию об ипподроме, подсчитанную с помощью триггеров.

Информация которая подсчитывалась триггерами приведена в этой таблице.