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

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

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

@summoney

SQL – код:

select @summoney count;

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

  1. Протестируем работу триггера count_horse, вычисляющего количество лошадей в БД. Триггер срабатывает после добавления в таблицу Horse.

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

@counthorse

SQL – код:

select @counthorse count;

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

  1. Протестируем работу триггера count_klients, вычисляющего количество клиентов.

Триггер срабатывает после добавления в таблицу Klients.

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

@countclient

SQL – код:

select @countclient count;

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

  1. Протестируем работу триггера count_runners, вычисляющего количество наездников. Триггер срабатывает после добавления в таблицу Runner. Чтобы проверить его работу сделаем выборку данных из объекта

@countrunner

SQL – код:

select @countrunner count;

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

    1. Тестирование представлений

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

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

В результате получим подробный список ставок.

Заключение

В ходе работы была разработана структурная база данных, содержащая 5 взаимосвязанных таблиц по информационной области «Ипподром». Так же был реализован функционал, для удобства работы с данными. Функционал включил в себя 6 процедур, 4 триггера, 3 функции, 1 представление и 1 курсор. Была выполнена работа по выделению сущностей, нормализации таблиц. Затем была создана база данных, которая была заполнена данными. Затем был реализован функционал, впоследствии удачно прошедший тестирования. Также были составлены иллюстрации логической и физической моделей предметной области с помощью средств Open Model Sphere.

список литературы

  1. MySQL 5.1 Reference Manual Copyright.

  2. Максим Кузнецов, Игорь Симдянов. Самоучитель MySQL 5.

  3. Кузнецов С. Д. «Основы баз данных», 2-е издание.

Приложение А

Скрипт создания базы данных

SQL – код:

create database ippodrom;

use ippodrom

create table Runner(

ID_runner integer not null primary key unique auto_increment,

Family text not null,

Name text not null,

Father_name text null,

Age_runner integer not null,

Weight integer not null);

create table Horse(

ID_horse integer not null primary key unique auto_increment,

Name_horse text not null,

Type_horse text not null,

Age_horse integer not null);

create table Klients(

ID_client integer not null primary key unique auto_increment,

Family_client text not null,

Name_client text not null,

Father_name_client text null);

create table Table_runs(

ID_run integer not null primary key unique auto_increment,

Type_run text not null,

Place integer not null,

ID_runner integer not null,

Date_run date not null,

ID_horse integer not null,

foreign key (ID_runner) references Runner (ID_runner),

foreign key (ID_horse) references Horse (ID_horse));

create table Price(

ID_price integer not null primary key unique auto_increment,

Price integer not null,

ID_horse integer not null,

ID_client integer not null,

foreign key (ID_horse) references Horse (ID_horse),

-> foreign key (ID_client) references Klients (ID_client));

Query OK, 0 rows affected (0.23 sec)

Приложение Б

ЗАПОЛНЕНИЕ БАЗЫ ДАННЫХ

Заполнение таблицы Runner

insert into Runner values

(1,'Ivanov','Ivan','Ivanovich','30','75'),

(2,'Petrov','Petr','Petrovic','25','65'),

(3,'Semenov','Semen','Semenovic','32','80'),

(4,'Peter','Vagner','','40','78'),

(5,'Ioghann','Shpitz','','22','72'),

(6,'Ditrich','Valtz','','27','74'),

(7,'Michael','Paterson','','33','68'),

(8,'Donatan','McCinley','','36','82'),

(9,'George','Jourley','','41','73'),

(10,'Kornelio','Spiterri','','31','77');

Заполнение таблицы Horse

insert into Horse values

(1,'Belka','White',7),

(2,'Daemon','Black',8),

(3,'Kelly','Brown','9'),

(4,'Strelka','White',7),

(5,'Fire','Brown',7),

(6,'Carol','Black',9),

(7,'Snezhok','White',8),

(8,'Ghost','Brown',6),

(9,'Nostra','Black',7),

(10,'Gary','Yellow',8);

Заполнение таблицы Klients

insert into Klients values

(1,'Figner','Nick',''),

(2,'Polskich','Garry',''),

(3,'Sydorov','Andrey','Alexeevich'),

(4,'Volkov','Vladimir','Alexandrovich'),

(5,'Smertyn','Venyamin','Ivanovich'),

(6,'Zendler','Ghans',''),

(7,'Fatler','Gerard',''),

(8,'Delly','Carl',''),

(9,'Tyler','James',''),

(10,'Adams','Willham','');

Заполнение таблицы Table_runs

insert into Table_runs values

(1,'Sprint',5,3,'12.02.13',3,'11:00:00'),

(2,'Sprint',4,2,'12.02.13',2,'11:00:00'),

(3,'Sprint',3,5,'12.02.13',4,'11:00:00'),

(4,'Sprint',2,4,'12.02.13',5,'11:00:00'),

(5,'Sprint',1,1,'12.02.13',1,'11:00:00'),

(6,'Open Stakes',5,9,'12.02.15',7,'13:00:00'),

(7,'Open Stakes',4,7,'12.02.15',9,'13:00:00'),

(8,'Open Stakes',3,8,'12.02.15',8,'13:00:00'),

(9,'Open Stakes',2,10,'12.02.15',10,'13:00:00'),

(10,'Open Stakes',1,6,'12.02.15',6,'13:00:00');

Query OK, 10 rows affected (0.17 sec)

Records: 10 Duplicates: 0 Warnings: 0

Заполнение таблицы Price

insert into price (Price,ID_horse,ID_client) values

(3000,1,1),

(5000,2,2),

(4000,3,4),

(7000,4,3),

(6000,5,5),

(4000,6,6),

(3500,7,8),

(3500,8,7),

(6500,9,9),

(9500,10,10);

Размещено на Allbest.ru

52