Расширение базы данных "Футбольный турнир" в среде DB2
Правила начисления очков футбольным командам во внутренних национальных чемпионатах, групповых этапах клубных турниров. Описание СУБД DB2, методы организации, контроля и администрирования баз данных. Инструменты СУБД DB2 с интерфейсом командной строки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.11.2016 |
Размер файла | 971,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования Республики Беларусь
Учреждение образования "Гомельский государственный университет имени Франциска Скорины"
Математический факультет
Кафедра вычислительной математики и программирования
Курсовой проект
Расширение базы данных "Футбольный турнир" в среде DB2
Исполнитель студентка группы ПО - 42
М.Н. Майсюкова
Научный руководитель к.ф-м.н,
доцент кафедры ВМиП
М.И. Жадан
Гомель 2016
Содержание
- Введение
- 1. Очковые системы
- 1.1 Сравнение двух очковых систем
- 1.2 Стратегия для стандартных систем
- 1.3 Преимущества новой очковой системы
- 2. Расширение базы данных
- 2.1 Описание СУБД DB2
- 2.2 Структура базы данных
- 2.3 Добавление данных
- Заключение
- Список использованных источников
- Приложение А. Распределение Пуассона для футбола
- Приложение Б. Листинг кода
Введение
В основе игры в футбол лежит борьба двух коллективов, игроки которых объединены общей целью - победой. Стремление к достижению победы приучает футболистов к коллективным действиям, к взаимопомощи, воспитывает чувство дружбы и товарищества. Во время футбольного матча каждый игрок имеет возможность проявить свои личные качества, но вместе с тем игра требует подчинения личных стремлений каждого футболиста общей цели.
Поскольку тренировки и соревнования по футболу проходят почти круглый год, в самых различных, нередко резко меняющихся, климатических метеорологических условиях, эта игра способствует и физической закалке, повышению сопротивляемости организма и расширению адаптационных возможностей.
Цель работы: изучение структуры базы данных в DB2 на основе футбольных турниров.
Задачи работы:
- углубить знания о DB2;
- ознакомиться с различными связями между таблицами;
- спроектировать обновленную базу данных в DB2;
- нормализовать базу данных;
- провести тестирование разработанной базы данных.
1. Очковые системы
В данной работе будет рассмотрена новая система оценивания футбольных матчей, предлагаемая для улучшения зрелищности футбола, в сравнении с системами 3-1-0 и 2-1-0.
1.1 Сравнение двух очковых систем
Исторически сложилось, что футбольные лиги давали два очка за победу в матче и ноль за поражение. В случае ничьей каждая команда получала по очку. Окончательный результат лиги основывался на количестве набранных командой очков за сезон. Во время действия этой системы беспокойство вызывали малое количество забитых голов и количество матчей, завершавшихся в ничью. Отчасти эти результаты вызваны тем, что более слабая команда избирает на матч откровенно оборонительную стратегию. В попытке справиться с этой проблемой несколько сильных европейских лиг изменили систему подсчета очков 2-1-0 на систему 3-1-0, где победившей команде присуждалось 3 очка, а не 2.
Правило трёх очков за победу (англ. Three points for a win rule) - правило начисления очков футбольным командам во внутренних национальных чемпионатах, групповых этапах клубных турниров и соревнований национальных сборных, заключающееся в следующем: за победу команда получает три очка в турнирной таблице, за ничью получает только одно очко и в случае проигрыша очков не получает.
Англия стала первой, кто применил систему 3-1-0. Впервые ее ввели в сезоне 1981/82. В последующие годы ее стали применять и другие страны. Были собраны данные из высших лиг десяти стран, перешедших с системы 2-1-0 на систему 3-1-0. Например, для Англии взяты данные о 17 сезонах до 1981 года (с системой 2-1-0) и о последующих 19 сезонах (с системой 3-1-0). Наименьшее количество игр в этих десяти странах, проведенных под одной из двух систем начисления очков - 1230, наибольшее - 9616. Для каждой из десяти стран мы подсчитали среднее число забитых голов и пропорцию ничьих для обеих систем подсчета. Результаты в таблице 1.1.
Таблица 1.1 - Среднее количество голов, забитых за игру, и доля игр, завершившихся вничью, для 10 стран с n2 сезонами по двухочковой системе и n3 последующими сезонами по трехочковой системе.
Система 2-1-0 |
Система 3-1-0 |
||||||
Страна |
n2 |
Средняя результ-сть |
Пропорция ничьих |
n3 |
Средняя результ-сть |
Пропорция ничьих |
|
Англия |
17 |
2.70 |
0.28 |
19 |
2.64 |
0.27 |
|
Исландия |
20 |
2.93 |
0.26 |
16 |
2.97 |
0.22 |
|
Сев. Ирландия |
22 |
3.40 |
0.20 |
14 |
2.89 |
0.24 |
|
Норвегия |
23 |
2.83 |
0.25 |
13 |
3.24 |
0.22 |
|
Турция |
23 |
2.01 |
0.34 |
13 |
2.85 |
0.24 |
|
Швеция |
26 |
2.84 |
0.27 |
10 |
2.81 |
0.26 |
|
Финляндия |
27 |
3.00 |
0.24 |
9 |
2.70 |
0.25 |
|
Италия |
30 |
2.12 |
0.37 |
6 |
2.64 |
0.28 |
|
Испания |
31 |
2.48 |
0.26 |
5 |
2.68 |
0.28 |
|
Германия |
31 |
3.18 |
0.26 |
5 |
2.86 |
0.29 |
Из таблицы видно, что собранных данных недостаточно, чтобы подтвердить гипотезы ни о том, что система 3-1-0 привела к большей результативности, ни о том, что благодаря ей стали меньше играть вничью. В половине стран забивать после смены системы стали больше, в половине - меньше. В шести странах из десяти снизилось количество ничьих, но лишь в Турции и Италии - значительно.
1.2 Стратегия для стандартных систем
Начнем с системы начисления очков 2-1-0 и рассмотрим поведение ожидаемых очков Барселоны с течением игры. Сначала рассмотрим ситуацию, когда в игре ничья. При л= 2.0 и м= 1.5 ожидаемые очки Барселоны всегда уменьшаются с продвижением t от нуля до единицы. Так будет в любом случае, если Барселона - лучшая команда, то есть л > м. Таким образом, чем дольше игра идет без забитых голов, тем более выгодной она становится для более сильной команды. Напротив, ожидаемые очки Мадрида увеличиваются с течением игры. Чем дольше игра идет без забитых мячей, тем выгоднее она слабой команде. Это объясняет популярную стратегию, когда слабая команда с самого начала играет на удержание счета. Играя от обороны, слабая команда снижает количество голов обеих команд до значений, близких нулю. Когда оба средних значения распределения Пуассона (приложение А) малы, ожидаемые очки обеих команд близки к единице. Это выгоднее более слабой команде, чем нормальная игра. Таким образом, игра от обороны или на удержание счета - это, по сути, сокращение игры. С точки зрения интуиции это имеет смысл, поскольку, чем короче игра, тем меньше шансов у сильной команды продемонстрировать свое превосходство. В более общем случае каждый раз, когда ожидаемые очки команды увеличиваются с течением игры, она должна играть от обороны или на удержание счета, чтобы ограничить количество голевых моментов и сократить игру. С другой стороны, если ожидаемые очки команды уменьшаются со временем, она должна играть нормально. Она даже должна применять более агрессивную или атакующую стратегию, которая увеличит количество голевых моментов и, по сути, удлинит игру. Это наблюдение важно для понимания того, как команда должна определять стиль игры во время матча. Чтобы максимизировать свои ожидаемые очки, она должна играть от обороны, когда ожидаемые очки увеличиваются, и играть нормально, когда они уменьшаются. Это лежит в основе большинства дальнейших рассуждений.
Теперь рассмотрим ситуацию, когда Барселона, более сильная команда, забила первой. Если л = 2, а м = 1.5, то их ожидаемые очки увеличиваются, когда t приближается к единице. То есть после того, как сильная команда выйдет вперед, в ее интересах играть от обороны, снизить количество голевых моментов у обеих команд и, по сути, сократить игру. С другой стороны, слабая команда должна играть агрессивнее, если пропустит.
Предположим, что первой забила слабая команда. Калькуляции показывают, как и ожидалось, что в ее интересах играть от обороны и снизить вероятность любых забитых голов. Все эти результаты показывают, что вне зависимости от счета одной команде всегда выгодно играть на удержание, если только команды не равны по силе, а счет ничейный. Это помогает объяснить малую результативность при двухочковой системе. В системе 3-1-0 сумма ожидаемых очков двух команд не постоянна, как в системе 2-1-0. Однако, вычисления показывают, что оптимальные стратегии для обеих команд точно такие же, как и при двухочковой системе. Слабая команда должна играть на удержание счета, пока не начнет проигрывать. Сильная команда должна играть нормально, пока не поведет в счете. Если любая из команд ведет в счете, то ей нужно играть от обороны, а сопернику - агрессивно.
1.3 Преимущества новой очковой системы
Серединный футбол можно объяснить в первую очередь несовершенством очковой системы, хотя и имеется много других объективных и субъективных причин. Мало забивается голов, значит зрителю не интересно с "нулями" или "единицами" сидеть на трибуне. Да и ответственность футболистов за результат игры практически не прослеживается: лишь бы мяч докатать в безопасной зоне футбольного поля.
Этому во многом способствует существующая система подсчета очков: 3 - 1 - 0. Она не стимулирует команду забивать больше мячей, так как за один выигрышный гол также дается 3 очка. Ее следует сделать более гибкой. Она должна отражать реальную расстановку сил двух команд в конкретной игре. За очки надо бороться. Большая разность забитых и пропущенных мячей в игре должна принести больше очков в копилку команды, а значит, футбол станет более интересным, что должно привлечь больше зрителей на трибуны стадионов. Если противник не хочет, чтобы его конкурент получил больше очков, пусть сопротивляется или сам забивает больше.
Если посмотреть на ранний чемпионат республики по футболу 2012г, то чемпион определился уже за несколько туров до его окончания. За тур до окончания определились и призеры, и возможные аутсайдеры (таблица 1.2).
Таблица 1.2 - Итоговая таблица Чемпионата Республики по футболу после 29 тура
№ |
Команда |
И |
В |
Н |
П |
М |
Р |
О |
|
1 |
БАТЭ_Борисов |
29 |
20 |
5 |
4 |
49-15 |
+34 |
65 |
|
2 |
Шахтер_Солигорск |
29 |
18 |
7 |
4 |
58-22 |
+36 |
61 |
|
3 |
Динамо Минск |
30 |
16 |
8 |
6 |
37-19 |
+18 |
56 |
|
4 |
Гомель |
29 |
14 |
8 |
7 |
38-21 |
+17 |
50 |
|
5 |
Неман Гродно |
29 |
9 |
11 |
9 |
41-35 |
+6 |
38 |
|
6 |
Минск |
29 |
10 |
6 |
13 |
34-45 |
-11 |
36 |
|
7 |
Нафтан_Новополоцк |
29 |
7 |
8 |
14 |
22-38 |
-16 |
29 |
|
8 |
Славия Мозырь |
29 |
7 |
6 |
16 |
22-56 |
-34 |
27 |
|
9 |
Белшина Бобруйск |
29 |
6 |
9 |
14 |
23-39 |
-16 |
27 |
|
10 |
Брест |
29 |
7 |
5 |
17 |
25-38 |
-13 |
26 |
|
11 |
Торпедо Жодино |
29 |
5 |
9 |
15 |
16-37 |
-21 |
24 |
Последний тур был, в принципе, формальным: несколько команд в конце турнирной таблицы поменялись местами и вызвал только дополнительные денежные затраты у клубов (таблица 1.3).
Таблица 1.3 - Итоговая таблица Чемпионата Республики по футболу после 30 тура
№ |
Команда |
И |
В |
Н |
П |
М |
Р |
О |
|
1 |
БАТЭ_Борисов |
30 |
21 |
5 |
4 |
51-16 |
+35 |
68 |
|
2 |
Шахтер_Солигорск |
30 |
18 |
7 |
5 |
59-24 |
+35 |
61 |
|
3 |
Динамо Минск |
30 |
16 |
8 |
6 |
37-19 |
+18 |
56 |
|
4 |
Гомель |
30 |
14 |
8 |
8 |
39-24 |
+15 |
50 |
|
5 |
Неман Гродно |
30 |
10 |
11 |
9 |
43-36 |
+7 |
41 |
|
6 |
Минск |
30 |
11 |
6 |
13 |
36-46 |
-10 |
39 |
|
7 |
Белшина Бобруйск |
30 |
7 |
9 |
14 |
26-40 |
-14 |
30 |
|
8 |
Брест |
30 |
8 |
5 |
17 |
27-38 |
-11 |
29 |
|
9 |
Нафтан_Новополоцк |
30 |
7 |
8 |
15 |
23-40 |
-17 |
29 |
|
10 |
Славия Мозырь |
30 |
7 |
6 |
17 |
22-58 |
-36 |
27 |
|
11 |
Торпедо Жодино |
30 |
5 |
9 |
16 |
17-39 |
-22 |
24 |
Предлагаем заменить существующую систему оценки игры по футболу на новую модель оценки игры: 3 - 2 - 1 - 0. Как и ранее, 0 - за поражение, 1 - за любую ничью, 2 - за победу со счетом 1:0, 2:0, 2:1 и любым другим, но разностью забитых и пропущенных равным 1, в остальных случаях за победу команде присваивается 3 очка. Такую систему можно кратко назвать "ЖМИ".
В настоящее время не обращается внимание на качество оценки игры. Система "ЖМИ" гарантирует большую плотность результатов, а значит и более острую борьбу за чемпионство. Мы здесь не касаемся тактики и стратегии на игру - это работа тренерского состава. Однако, футболистам, вероятно, следует чаще напоминать, где находятся ворота соперника, не забывая о своих, и их размерах.
Главный тезис системы "ЖМИ": больше забивай - меньше пропускай: больше очков получай.
В таблице 1.4 вместо одного столбика "В" (выигрыш) содержатся два столбика "В 3" и "В 2" соответственно выигрыш на 3 и 2 очка. После 29 туров, согласно таблице 1.4, наблюдается серьезное противостояние за золото между "БАТЭ" и "Шахтером".
Таблица 1.4 - Итоговая таблица Чемпионата Республики по футболу после 29 тура в сравнении
№ |
Команда |
И |
В 3 |
В 2 |
Н |
П |
М |
Р |
О |
|
1 |
БАТЭ_Борисов |
29 |
6 |
14 |
5 |
4 |
49-15 |
+34 |
51 |
|
2 |
Шахтер_Солигорск |
29 |
7 |
11 |
7 |
4 |
58-22 |
+36 |
50 |
|
3 |
Динамо Минск |
30 |
4 |
12 |
8 |
6 |
37-19 |
+18 |
44 |
|
4 |
Гомель |
29 |
4 |
10 |
8 |
7 |
38-21 |
+17 |
39 |
|
5 |
Неман Гродно |
29 |
5 |
4 |
11 |
9 |
41-35 |
+6 |
34 |
|
6 |
Минск |
29 |
3 |
7 |
6 |
13 |
34-45 |
-11 |
29 |
|
7 |
Белшина Бобруйск |
29 |
3 |
3 |
9 |
14 |
23-39 |
-16 |
24 |
|
8 |
Нафтан_Новополоцк |
29 |
1 |
6 |
8 |
14 |
22-38 |
-16 |
23 |
|
9 |
Славия Мозырь |
29 |
0 |
7 |
6 |
16 |
22-56 |
-34 |
20 |
|
10 |
Брест |
29 |
1 |
6 |
5 |
17 |
25-38 |
-13 |
20 |
|
11 |
Торпедо Жодино |
29 |
0 |
5 |
9 |
15 |
16-37 |
-21 |
19 |
В этой ситуации у "Шахтера" имеется большая мотивация при настрое на последний матч с "БАТЭ", чего нельзя сказать, смотря на таблицу 1.2. Результаты последнего тура известны и итоговая таблица 1.5 дает представление об очковых запасах команд по системе "ЖМИ".
Таблица 1.5 - Итоговая таблица Чемпионата Республики по футболу после 30 тура в сравнении
№ |
Команда |
И |
В 3 |
В 2 |
Н |
П |
М |
Р |
О |
|
1 |
БАТЭ_Борисов |
30 |
6 |
15 |
5 |
4 |
51-16 |
+35 |
53 |
|
2 |
Шахтер_Солигорск |
30 |
7 |
11 |
7 |
5 |
59-24 |
+35 |
50 |
|
3 |
Динамо Минск |
30 |
4 |
12 |
8 |
6 |
37-19 |
+18 |
44 |
|
4 |
Гомель |
30 |
4 |
10 |
8 |
8 |
39-24 |
+15 |
39 |
|
5 |
Неман Гродно |
30 |
5 |
5 |
11 |
9 |
43-36 |
+7 |
36 |
|
6 |
Минск |
30 |
3 |
8 |
6 |
13 |
36-46 |
-10 |
31 |
|
7 |
Белшина Бобруйск |
30 |
4 |
3 |
9 |
14 |
26-40 |
-14 |
27 |
|
8 |
Нафтан_Новополоцк |
30 |
1 |
6 |
8 |
15 |
23-40 |
-17 |
23 |
|
9 |
Брест |
30 |
1 |
7 |
5 |
17 |
27-38 |
-11 |
22 |
|
10 |
Славия Мозырь |
30 |
0 |
7 |
6 |
17 |
22-58 |
-36 |
20 |
|
11 |
Торпедо Жодино |
30 |
0 |
5 |
9 |
16 |
17-39 |
-22 |
19 |
Исходя из приведенных таблиц, всего в 31 матче было забито более 3 мячей (см. столбец "В 3"). Всего за год забито 370 мячей, т.е. по 12,3 мяча на тур или в среднем по 1 мячу в среднем на команду. Это очень низкий показатель и на это следует обратить внимание. Система "ЖМИ" должна быть одной из многих других частей, которые мотивировали бы увеличение количества забиваемых мячей за матч и зрительский интерес к игре.
2. Расширение базы данных
В ходе данной работы должна быть расширена существующая база данных в DB2. В нее должны быть занесены результаты матчей Английской Премьер - Лиги 2015/2016гг, Чемпионата Испании 2015/1016гг, Чемпионата Германии 2015/2016гг, Белорусской Высшей Лиги 2015 г.
2.1 Описание СУБД DB2
Система управления базами данных (СУБД) - это комплекс приложений для организации, контроля и администрирования баз данных. В промышленном программировании наиболее распространены три СУБД: Oracle Database, IBM DB2, Microsoft SQL Server.
IBM DB2 - объектно-реляционная СУБД, разработанная корпорацией IBM. DB2 обеспечивает создание, развертывание и функционирование приложений широкого спектра применения. DB2 может выступать в качестве СУБД для учетных систем, систем управления предприятием и ERP-решений - "1С", SAP и других.
IBM DB2 - это мультимедийная, Web-совместимая СУБД, с интегрированной поддержкой мультимедиа, Web и XML.
Серверы IBM DB2 Database работают под управлением операционных систем UNIX (IBM AIX, Solaris, HP-UX), Linux и Windows. Кроме того, DB2 Express-C (бесплатная редакция СУБД IBM DB2, которую можно свободно скачать), работает на Mac OS X.
Доступ к базам данных DB2 возможен с помощью текстовых инструментов DB2 с интерфейсом командной строки, графических инструментов DB2 и из прикладных приложений.
Фактически, чтобы приложение могло обращаться к базе данных, существуют четыре основных варианта:
* встраивание в код некоторого языка программирования SQL-операторов (статический SQL);
* формирование в процессе выполнения программы на некотором языке программирования кода SQL-операторов и дальнейшего их выполнения (динамический SQL);
* вызов из программ, написанных на других языках программирования, SQL-модулей, которые представляют собой код на языке SQL;
* использование API (Application Programming Interface), позволяющего реализовывать работу с базой данных через предоставляемый набор функций.
Взаимодействие с DB2 может осуществляться с помощью системных команд DB2, операторов SQL и операторов XQuery. Можно выполнять эти команды и операторы из приложений. Также можно использовать инструменты DB2.
Есть два типа команд DB2:
* системные команды DB2;
* команды "Процессора командной строки" (Command Line Processor (CLP)).
Операторы SQL позволяют работать с данных, которые хранятся в базе данных. Операторы работают с базой данных, а не просто со средой DB2. Есть три различных класса операторов SQL:
* язык определения данных (Data Definition Language - DDL) - позволяет создавать, изменять или удалять объекты базы данных (CREATE, ALTER, DROP).
* язык обработки данных (Data Manipulation Language - DML) - позволяет вставлять, обновлять, удалять или извлекать данные из объектов базы данных (INSERT INTO, UPDATE, DELETE, SELECT).
* язык управления данными (Data Control Language - DCL) - позволяет предоставлять или отменять привилегии или полномочия для выполнения различных операции над объектами в базе данных (GRANT, REVOKE).
2.2 Структура базы данных
В реляционной базе данных данные представлены как набор таблиц. Между таблицами могут быть заданы отношения.
Таблица представляет собой неупорядоченный набор записей, состоящий из строк и столбцов. Каждый столбец имеет определенный тип данных, а каждая строка представляет собой запись в таблице.
Основные виды таблиц DB2:
* Таблицы системного каталога - содержат информацию обо всех объектах базы данных. Управляются DB2.
* Базовые таблицы - это так называемые пользовательские таблицы, которые используются для хранения данных пользователя. Пользователь может создавать, изменять, удалять и управлять пользовательскими таблицами.
* Производные таблицы - представления, создаются на основе одной или нескольких базовых или производных таблиц и могут использоваться для получения данных вместо базовых таблиц.
* Объявленные временные таблицы - пользовательские временные таблицы, объявленные с помощью оператора DECLARE GLOBAL TEMPORALY TABLE.
* Таблицы запроса - это таблицы, определенные на основе результатов запросов (материализованные таблицы запроса).
* Таблицы сводки - это особый тип материализованных таблиц запроса, которые содержат сводные данные.
* Типизированные таблицы - таблицы, столбцы которых созданы на основе атрибутов структурированного типа.
Базовые таблицы пользователя - это реально хранимые в базе данных таблицы.
Для создания базовой таблицы пользователя (рисунок 2.1), используется оператор CREATE TABLE. В нем можно указать:
* Имя таблицы;
* Столбцы таблицы и их типы данных;
* Табличные пространства, в которых будут храниться сама таблица, ее индексы и длинные данные;
* Ограничения, которые DB2 создаст и будет поддерживать для таблицы (например, реляционные ограничения).
Рисунок 2.1- Пример созданной таблицы в DB2
Реляционные ограничения используются для поддержки ссылочной целостности базы данных. Реляционные ограничения требуют, чтобы каждое значение столбца таблицы, для которого задано ограничение, существовало в какой-то другой таблице или другом столбце, что и показано на рисунке 2.2. Ключевые понятия ссылочной целостности кратко описаны в таблице 2.1.
Ограничения реляционной целостности определяются в операторах CREATE TABLE или ALTER TABLE.
Таблица 2.1 - Ключевые понятия ссылочной целостности
Понятие |
Описание |
|
Родительская таблица |
Таблица, в которой существует родительский ключ, связанный хотя бы с одним внешним ключом той же самой или другой таблицы. Таблица может быть родительской в произвольном числе связей |
|
Дочерняя таблица |
Таблица, содержащая один или более внешних ключей. Дочерняя таблица сама может быть родительской таблицей. Таблица может быть дочерней в произвольном числе связей. |
|
Родительский ключ |
Первичный ключ или ключ уникальности, на который ссылается внешний ключ дочерней таблицы. Не может содержать значения NULL. Значения должны быть уникальными. Состоит из одного или нескольких столбцов таблицы |
|
Первичный ключ |
Чаще всего является родительским ключом родительской таблицы. Может быть только один в таблице |
|
Внешний ключ |
Ссылается на родительский ключ родительской таблицы (той же самой или другой таблицы). Может быть несколько внешних ключей в таблице. Используется для образования отношений с родительским ключом для поддержания ссылочной целостности между таблицами |
|
Составной ключ |
Ключ, состоящий из нескольких столбцов. И родительский, и внешний ключи могут быть составными |
|
Реляционный цикл |
Путь, связывающий таблицу саму с собой. Таблица, непосредственно связанная сама с собой, называется автореферентной. (у студента есть код студента - старосты группы) |
|
Реляционное ограничение |
Требование, чтобы непустые значения указанного внешнего ключа допускались, только если они также встречаются среди значений родительского ключа указанной таблицы |
Синтаксис создания реляционного ограничения как ограничения на столбец:
Синтаксис создания реляционного ограничения как ограничения на таблицу:
Рисунок 2.2 - Определение связи между таблицами
Полный код создания таблиц и связей представлен в приложении Б.
2.3 Добавление данных
В ходе выполнения данной курсовой работы были добавлены данные о сыгранных турнирах Английской Премьер - Лиги 2015/2016гг, Чемпионата Испании 2015/1016гг, Чемпионата Германии 2015/2016гг и Белорусской Высшей Лиги 2015г. Получившаяся база данных содержит теперь в одной таблице не только записи одного турнира, но и остальных. Для того чтобы можно было ориентироваться в полученном множестве данных, база данных была нормализована, т.е. приведена к нормальной форме.
На рисунках 2.3 и 2.4 представлены некоторые видоизмененные таблицы.
Рисунок 2.3 - Просмотр таблицы "Турниры"
Рисунок 2.4 - Просмотр таблицы "Команды"
Для удобного представления информации по каждому турниру, было создано несколько производных таблиц. Каждое представление содержит информацию о турнире, итоговые сведения, а также сумму очков по действующей или новой системе оценивания матчей (рис. 2.5 - 2.12).
Рисунок 2.5 - Производная таблица АПЛ 2015/2016 гг.
Рисунок 2.6 - Производная таблица АПЛ 2015/2016 гг. в сравнении
Рисунок 2.7 - Производная таблица БВЛ 2015/2016 гг.
Рисунок 2.8 - Производная таблица БВЛ 2015/2016 гг. в сравнении
Рисунок 2.9 - Производная таблица ЧИ 2015/2016 гг.
Рисунок 2.10 - Производная таблица ЧИ 2015/2016 гг. в сравнении
Рисунок 2.11 - Производная таблица ЧГ 2015/2016 гг.
Рисунок 2.12 - Производная таблица ЧГ 2015/2016 гг. в сравнении
Заключение
администрирование интерфейс турнир футбольный
В ходе написания данной курсовой работы были выполнены все её задачи.
Подробно разобраны действующая и предлагаемая системы оценивания. Проведено их сравнение, на основе которого можно сделать вывод о положительном эффекте при введении новой системы.
Была изучена структура СУБД DB2. Рассмотрены связи между таблицами данной СУБД. Основной задачей работы являлось расширение базы данных футбольного турнира до базы данных, содержащей информацию о нескольких турнирах разных лет и стран. В итоге была создана база данных на примере Английской Премьер - Лиги 2015/2016гг, Чемпионата Испании 2015/1016гг, Чемпионата Германии 2015/2016гг, а также Белорусской Высшей Лиги 2015г.
Список использованных источников
1. Мейер, Б. Методы программирования: В 2-х томах. Т.1. / Б. Мейер, К. Бодуэн. - М.: Мир, 1982. - 356с.
2. Дебби Линд, Lotus Notes и Domino 5/6. Энциклопедия программиста /Дебби Линд, Стив Керн. - К.:ООО "ТИД "ДС", 2003. - 1024 с.
3. Савитч, У. Язык С++. Курс объектно-ориентированного программирования / У. Савитч. - М.: Вильямс, 2001. - 696 с.
4. Стиллмен, Э. Изучаем C#. 2-е изд / Э. Стиллмен Э., Дж. Грин - СПб.: Питер, 2012. - 696 с.
5. Троелсен Э. Язык программирования C# 5.0 и платформа.NET 4.5 / Э. Троелсен - М.:Вильямс, 2013. - 1311с.
6. Бобровский, С.И. Delphi 7 / С.И. Бобровский - СПб.:Питер, 2005. - 736с.
7. Майсюкова М.Н., Создание базы данных "Футбольный турнир" в СУБД DB2 / Актуальные вопросы физики и техники. Материалы IV Республиканской научной конференции студентов, магистрантов и аспирантов. - Гомель, ГГУ им. Ф.Скорины, 2015.
8. Майсюкова М.Н., Жадан М.И., Разработка интерфейса для работы с базой данных "Футбольный турнир" с использованием С++ / Новые математические методы и компьютерные технологии в проектировании, производстве и научных исследованиях. Материалы XVIII Республиканской научной конференции студентов и аспирантов. ? Гомель, ГГУ им. Ф.Скорины, 2015.
9. Майсюкова М.Н., Расширение базы данных "Футбольный турнир" в СУБД DB2 / Актуальные вопросы физики и техники. Материалы V Республиканской научной конференции студентов, магистрантов и аспирантов. - Гомель, ГГУ им. Ф.Скорины, 2016.
Приложение А. Распределение Пуассона для футбола
Распределение Пуассона моделирует случайные события, происходящие со временем, например, голы в футбольном матче. Если л>0 - это среднее число голов, забитых командой В во время типичного матча, то в конкретной игре вероятность того, что команда В забьет k мячей при распределении Пуассона, равна
Pr(B = k) =
Если команда М забивает в среднем м>0 голов за игру, и две команды забивают независимо друг от друга, то вероятность того, что В забьет k голов, а М - l голов, равна
Pr(B = k, M = l) =
Хотя предположение, что команды забивают независимо друг от друга, неверно, поскольку только одна команда может забить гол в любой момент времени, результаты футбольных матчей в целом подчиняются независимой модели Пуассона. Используя это выражение, возможно вычислить вероятность любого результата. Например, при л = 2 и м = 1,5(рассмотренный случай), вероятность нулевой ничьей составляет 0.030, победы Барселоны со счетом 2:0 - 0.060, победы Мадрида со счетом 2:0 - 0.034 и т.д. Сложив все возможные результаты, мы получим распределение результатов матча.
Таблица А.1 - Вероятность различных результатов по модели Пуассона для Барселоны(2 мяча за игру) и Мадрида(1.5 мяча за игру)
Результат |
Вероятность |
|
Барселона выигрывает с разницей в 5 и более мячей |
0.019 |
|
Барселона выигрывает с разницей в 4 мяча |
0.036 |
|
Барселона выигрывает с разницей в 3 мяча |
0.081 |
|
Барселона выигрывает с разницей в 2 мяча |
0.149 |
|
Барселона выигрывает с разницей в 1 мяч |
0.209 |
|
Ничья |
0.216 |
|
Мадрид выигрывает с разницей в 1 мяч |
0.157 |
|
Мадрид выигрывает с разницей в 2 мяча |
0.084 |
|
Мадрид выигрывает с разницей в 3 мяча |
0.034 |
|
Мадрид выигрывает с разницей в 4 мяча |
0.011 |
|
Мадрид выигрывает с разницей в 5 и более мячей |
0.004 |
Приложение Б. Листинг кода
Alter table Команды drop constraint Команды_Турниры;
Alter table Матчи drop constraint Матчи_Команды;
Alter table Дома drop constraint Дома_Команды;
Alter table Выезд drop constraint Выезд_Команды;
Alter table Итоговая drop constraint Итоговая_Команды;
Drop table Матчи;
Drop table Дома;
Drop table Выезд;
Drop table Итоговая;
Drop table Команды;
Drop table Турниры;
Create table Турниры(
Код int primary key generated always as identity (start with 1 increment by 1),
Название varchar(40) not null,
Дата_начала date not null,
Дата_окончания date,
Страна varchar(40) not null
);
Create table Команды(
Код int primary key generated always as identity (start with 1 increment by 1),
Название varchar(40) not null,
Код_турнира int not null
);
Create table Матчи(
Код int primary key generated always as identity (start with 1 increment by 1),
Код_принимающей int not null,
Код_гостевой int not null,
Забитые_принимающей int,
Забитые_гостевой int
);
Create table Дома(
Код int primary key generated always as identity (start with 1 increment by 1),
Код_команды int not null,
Игр int not null,
Выигрыши int,
Ничьи int,
Поражения int,
Забитые int,
Пропущенные int,
Очки int,
Очки_нов int
);
Create table Выезд(
Код int primary key generated always as identity (start with 1 increment by 1),
Код_команды int not null,
Игр int not null,
Выигрыши int,
Ничьи int,
Поражения int,
Забитые int,
Пропущенные int,
Очки int,
Очки_нов int
);
Create table Итоговая(
Код int primary key generated always as identity (start with 1 increment by 1),
Код_команды int not null,
Игр int not null,
Выигрыши int,
Ничьи int,
Поражения int,
Забитые int,
Пропущенные int,
Очки int,
Очки_нов int
);
Alter table Команды
add constraint Команды_Турниры foreign key (Код_турнира) references Турниры (Код)
;
Alter table Матчи
add constraint Матчи_Команды foreign key (Код_принимающей) references Команды (Код)
add constraint Матчи_Команды_1 foreign key (Код_гостевой) references Команды (Код)
;
Alter table Дома
add constraint Дома_Команды foreign key (Код_команды) references Команды (Код)
;
Alter table Выезд
add constraint Выезд_Команды foreign key (Код_команды) references Команды (Код)
;
Alter table Итоговая
add constraint Итоговая_Команды foreign key (Код_команды) references Команды (Код)
;
Insert into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Английская Премьер-Лига','08.08.2015','17.05.2016','Англия');
Insert into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Белорусская Высшая Лига','10.04.2015','08.11.2015','Белоруссия');
Insert into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Английская Премьер-Лига','17.08.2013','11.05.2014','Англия');
Insert into Команды (Название, Код_турнира) values ('Лестер Сити',1);
Insert into Команды (Название, Код_турнира) values ('Арсенал',1);
Insert into Команды (Название, Код_турнира) values ('Тоттенхэм Хотспур',1);
Insert into Команды (Название, Код_турнира) values ('Манчестер Сити',1);
Insert into Команды (Название, Код_турнира) values ('Манчестер Юнайтед',1);
Insert into Команды (Название, Код_турнира) values ('Саутгемптон',1);
Insert into Команды (Название, Код_турнира) values ('Вест Хэм Юнайтед',1);
Insert into Команды (Название, Код_турнира) values ('Ливерпуль',1);
Insert into Команды (Название, Код_турнира) values ('Сток Сити',1);
Insert into Команды (Название, Код_турнира) values ('Челси',1);
Insert into Команды (Название, Код_турнира) values ('Эвертон',1);
Insert into Команды (Название, Код_турнира) values ('Суонси Сити',1);
Insert into Команды (Название, Код_турнира) values ('Уотфорд',1);
Insert into Команды (Название, Код_турнира) values ('Вест Бромвич Элбион',1);
Insert into Команды (Название, Код_турнира) values ('Кристал Пэлас',1);
Insert into Команды (Название, Код_турнира) values ('АФК Борнмут',1);
Insert into Команды (Название, Код_турнира) values ('Сандерленд',1);
Insert into Команды (Название, Код_турнира) values ('Нькасл Юнайтед',1);
Insert into Команды (Название, Код_турнира) values ('Норвич Юнайтед',1);
Insert into Команды (Название, Код_турнира) values ('Астон Вилла',1);
Insert into Команды (Название, Код_турнира) values ('БАТЭ',2);
Insert into Команды (Название, Код_турнира) values ('Динамо Мн',2);
Insert into Команды (Название, Код_турнира) values ('Шахтер',2);
Insert into Команды (Название, Код_турнира) values ('Белшина',2);
Insert into Команды (Название, Код_турнира) values ('Гранит-Микашевичи',2);
Insert into Команды (Название, Код_турнира) values ('ФК Минск',2);
Insert into Команды (Название, Код_турнира) values ('Торпедо-БелАЗ',2);
Insert into Команды (Название, Код_турнира) values ('Неман',2);
Insert into Команды (Название, Код_турнира) values ('Нафтан',2);
Insert into Команды (Название, Код_турнира) values ('Славия',2);
Insert into Команды (Название, Код_турнира) values ('ФК Слуцк',2);
Insert into Команды (Название, Код_турнира) values ('Динамо Бр',2);
Insert into Команды (Название, Код_турнира) values ('ФК Витебск',2);
Insert into Команды (Название, Код_турнира) values ('ФК Гомель',2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (1,2,2,5);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (2,3,1,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (3,4,4,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (4,5,0,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (5,6,0,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (6,7,1,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (7,8,2,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (8,9,4,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (9,10,1,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (10,11,3,3);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (11,12,1,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (12,13,1,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (13,14,0,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (14,15,3,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (15,16,1,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (16,17,2,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (17,18,3,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (18,19,6,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (19,20,2,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (1,2,0,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (2,3,1,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (3,4,0,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (4,5,0,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (5,6,2,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (6,7,0,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (7,8,0,0);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (8,9,3,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (9,10,1,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (10,11,1,6);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (11,12,1,1);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (12,13,3,2);
Insert into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (13,14,1,0);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,19,12,6,1,35,18,42,32);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,19,12,4,3,31,11,40,31);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,19,10,6,3,35,15,36,32);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,19,12,2,5,47,21,38,33);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,19,12,5,2,27,9,41,31);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,19,11,3,5,39,22,36,29);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,19,9,7,3,34,26,34,25);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,19,8,8,3,33,22,32,27);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,19,8,4,7,22,24,28,20);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,19,5,9,5,32,30,24,20);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,19,6,5,8,35,30,23,21);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,19,8,6,5,20,20,30,22);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,19,6,6,7,20,19,24,19);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,19,6,5,8,20,26,23,17);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,19,6,3,10,19,23,21,16);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,19,5,5,9,23,34,20,16);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,19,6,6,7,23,20,24,20);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,19,7,7,5,32,24,28,24);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,19,6,5,8,26,30,23,17);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,19,2,5,12,14,35,11,9);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,13,10,2,1,26,6,32,25);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,13,9,3,1,20,5,30,23);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,13,9,4,0,27,6,31,26);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,13,7,3,3,19,8,24,18);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,13,7,2,4,17,14,23,17);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,13,9,1,3,21,12,28,20);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,13,5,4,4,18,14,19,16);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,13,5,2,6,14,16,17,12);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,13,3,3,7,15,18,12,10);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,13,4,3,6,21,26,15,13);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,13,2,5,6,10,13,11,9);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,13,6,2,5,15,18,20,14);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,13,3,6,4,10,15,15,12);
Insert into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,13,4,2,7,14,18,14,11);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,19,11,6,2,33,18,39,30);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,19,8,7,4,34,25,31,26);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,19,9,7,3,34,20,34,28);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,19,7,7,5,24,20,28,24);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,19,7,4,8,22,26,25,19);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,19,7,6,6,20,19,27,20);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,19,7,7,5,31,25,28,23);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,19,8,4,7,30,28,28,22);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,19,6,5,8,19,31,23,17);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,19,7,5,7,27,23,26,22);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,19,5,9,5,24,25,24,21);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,19,4,5,10,22,32,17,14);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,19,6,3,10,20,31,21,15);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,19,4,8,7,14,22,20,16);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,19,5,6,8,20,28,21,16);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,19,6,4,9,22,33,22,16);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,19,3,6,10,25,42,15,13);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,19,2,3,14,12,41,9,7);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,19,3,2,14,13,37,11,8);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,19,1,3,15,13,41,6,5);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,13,10,3,0,18,5,33,23);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,13,6,5,2,16,8,23,18);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,13,5,3,5,20,21,18,13);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,13,5,4,4,20,11,19,17);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,13,5,4,4,13,18,19,14);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,13,3,3,7,8,16,12,10);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,13,5,2,6,13,15,17,12);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,13,3,6,4,7,16,15,12);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,13,5,3,5,19,17,18,15);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,13,3,2,8,12,24,11,8);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,13,4,2,7,16,17,14,12);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,13,1,1,11,8,24,4,3);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,13,1,3,9,11,32,6,5);
Insert into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,13,1,1,11,8,23,4,4);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,38,23,12,3,68,36,81,62);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,38,20,11,7,65,36,71,57);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,38,19,13,6,69,35,70,60);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,38,19,9,10,71,41,66,57);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,38,19,9,10,49,35,66,50);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,38,18,9,11,59,41,63,49);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,38,16,14,8,65,51,62,48);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,38,16,12,10,63,50,60,49);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,38,14,9,15,41,55,51,37);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,38,12,14,12,59,53,50,42);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,38,11,14,13,59,55,47,42);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,38,12,11,15,42,52,47,36);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,38,12,9,17,40,50,45,34);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,38,10,13,15,34,48,43,33);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,38,11,9,18,39,51,42,32);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,38,11,9,18,45,67,42,32);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,38,9,12,17,48,62,39,33);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,38,9,10,19,44,65,37,31);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,38,9,7,22,39,67,34,25);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,38,3,8,27,27,76,17,14);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,26,20,5,1,44,11,65,48);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,26,15,8,3,36,13,53,41);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,26,14,7,5,47,27,49,39);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,26,12,7,7,39,19,43,35);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,26,12,6,8,30,32,42,31);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,26,12,4,10,29,28,40,30);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,26,10,6,10,31,29,36,28);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,26,8,8,10,21,32,32,24);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,26,8,6,12,34,35,30,25);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,26,7,5,14,33,50,26,21);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,26,6,7,13,26,30,25,21);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,26,7,3,16,23,42,24,17);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,26,4,9,13,21,47,21,17);
Insert into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,26,5,3,18,22,41,18,15);
Drop view Итоги_АПЛ 16;
Create view Итоги_АПЛ 16 as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Англия')
;
Drop view Итоги_АПЛ 16_нов;
Create view Итоги_АПЛ 16_нов as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Англия');
Drop view Итоги_БВЛ 15;
Create view Итоги_БВЛ 15 as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Белоруссия')
;
Drop view Итоги_БВЛ 15_нов;
Create view Итоги_БВЛ 15_нов as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Белоруссия')
;
Drop view Итоги_ЧГ 16;
Create view Итоги_ЧГ 16 as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Германия')
;
Drop view Итоги_ЧГ 16_нов;
Create view Итоги_ЧГ 16_нов as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Германия')
;
Drop view Итоги_ЧИ 16;
Create view Итоги_ЧИ 16 as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Испания')
;
Drop view Итоги_ЧИ 16_нов;
Create view Итоги_ЧИ 16_нов as
select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in
(select Код from Турниры where Страна = 'Испания')
;
Размещено на Allbest.ru
Подобные документы
Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.
курсовая работа [30,5 K], добавлен 23.02.2006Понятие и сущность базы данных, их классификация и характеристика. Системы управления базами данных. СУБД структуры "сервер-клиент", его суть. Microsoft Access - функционально полная реляционная СУБД. Предназначение СУБД Access, и описание ее работы.
реферат [44,3 K], добавлен 27.02.2009Состав, расширение баз данных Access (Microsoft Office). Выполнение запросов, заполнение форм и таблиц. Типы данных Microsoft Access. Средства создания объектов базы данных СУБД. Дополнительные возможности запросов. Свойства полей. Режим работы с формами.
презентация [3,0 M], добавлен 28.10.2014Система управления базами данных (СУБД). Программные средства, предназначенные для создания, наполнения, обновления и удаления базы данных. Структура, модели и классификация баз данных. Создание каталогов, псевдонимов, таблиц, шаблонов и форм СУБД.
презентация [1,1 M], добавлен 09.01.2014Проектирование базы данных в среде СУБД MS Access. Автоматизация учета информации о товаре в магазине. Определение требований и функций системы. Анализ предметной области. Разработка, создание таблиц, запросов, форм и отчетов. Инструкция для пользователя.
отчет по практике [523,6 K], добавлен 21.04.2014Типы моделей данных: реляционная, иерархическая и сетевая. Описание концептуальной модели реляционной базы данных. Разработка базы данных в СУБД Microsoft Access, ее премущества и недостатки, составные компоненты, описание и обоснование полей таблиц.
курсовая работа [62,6 K], добавлен 09.03.2009Создание реляционной базы данных "Деканат ВУЗа", средствами СУБД MS SQL Server 2000. Разработка клиентского приложения с удобным пользовательским интерфейсом (сопровождающегося меню и справочной системой). Описание связей между таблицами базы данных.
курсовая работа [3,0 M], добавлен 06.12.2014Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.
курсовая работа [3,3 M], добавлен 20.09.2013