Расширение базы данных 'Футбольный турнир' в среде DB2

Тип:
Добавлен:

Министерство образования Республики Беларусь

Учреждение образования "Гомельский государственный университет имени Франциска Скорины"

Математический факультет

Кафедра вычислительной математики и программирования

Курсовой проект

Расширение базы данных "Футбольный турнир" в среде DB2

Исполнитель студентка группы ПО - 42

М.Н. Майсюкова

Научный руководитель к.ф-м.н,

доцент кафедры ВМиП

М.И. Жадан

Гомель 2016

Содержание

Введение

. Очковые системы

.1 Сравнение двух очковых систем

.2 Стратегия для стандартных систем

.3 Преимущества новой очковой системы

. Расширение базы данных

.1 Описание СУБД DB2

.2 Структура базы данных

.3 Добавление данных

Заключение

Список использованных источников

Приложение А. Распределение Пуассона для футбола

Приложение Б. Листинг кода

Введение

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

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

Цель работы: изучение структуры базы данных в DB2 на основе футбольных турниров.

Задачи работы:

углубить знания о DB2;

ознакомиться с различными связями между таблицами;

спроектировать обновленную базу данных в DB2;

нормализовать базу данных;

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

1. Очковые системы

В данной работе будет рассмотрена новая система оценивания футбольных матчей, предлагаемая для улучшения зрелищности футбола, в сравнении с системами 3-1-0 и 2-1-0.

.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Средняя результ-стьПропорция ничьихАнглия172.700.28192.640.27Исландия202.930.26162.970.22Сев. Ирландия223.400.20142.890.24Норвегия232.830.25133.240.22Турция232.010.34132.850.24Швеция262.840.27102.810.26Финляндия273.000.2492.700.25Италия302.120.3762.640.28Испания312.480.2652.680.28Германия313.180.2652.860.29

Из таблицы видно, что собранных данных недостаточно, чтобы подтвердить гипотезы ни о том, что система 3-1-0 привела к большей результативности, ни о том, что благодаря ей стали меньше играть вничью. В половине стран забивать после смены системы стали больше, в половине - меньше. В шести странах из десяти снизилось количество ничьих, но лишь в Турции и Италии - значительно.

.2 Стратегия для стандартных систем

Начнем с системы начисления очков 2-1-0 и рассмотрим поведение ожидаемых очков Барселоны с течением игры. Сначала рассмотрим ситуацию, когда в игре ничья. При λ= 2.0 и μ= 1.5 ожидаемые очки Барселоны всегда уменьшаются с продвижением t от нуля до единицы. Так будет в любом случае, если Барселона - лучшая команда, то есть λ > μ. Таким образом, чем дольше игра идет без забитых голов, тем более выгодной она становится для более сильной команды. Напротив, ожидаемые очки Мадрида увеличиваются с течением игры. Чем дольше игра идет без забитых мячей, тем выгоднее она слабой команде. Это объясняет популярную стратегию, когда слабая команда с самого начала играет на удержание счета. Играя от обороны, слабая команда снижает количество голов обеих команд до значений, близких нулю. Когда оба средних значения распределения Пуассона (приложение А) малы, ожидаемые очки обеих команд близки к единице. Это выгоднее более слабой команде, чем нормальная игра. Таким образом, игра от обороны или на удержание счета - это, по сути, сокращение игры. С точки зрения интуиции это имеет смысл, поскольку, чем короче игра, тем меньше шансов у сильной команды продемонстрировать свое превосходство. В более общем случае каждый раз, когда ожидаемые очки команды увеличиваются с течением игры, она должна играть от обороны или на удержание счета, чтобы ограничить количество голевых моментов и сократить игру. С другой стороны, если ожидаемые очки команды уменьшаются со временем, она должна играть нормально. Она даже должна применять более агрессивную или атакующую стратегию, которая увеличит количество голевых моментов и, по сути, удлинит игру. Это наблюдение важно для понимания того, как команда должна определять стиль игры во время матча. Чтобы максимизировать свои ожидаемые очки, она должна играть от обороны, когда ожидаемые очки увеличиваются, и играть нормально, когда они уменьшаются. Это лежит в основе большинства дальнейших рассуждений.

Теперь рассмотрим ситуацию, когда Барселона, более сильная команда, забила первой. Если λ = 2, а μ = 1.5, то их ожидаемые очки увеличиваются, когда t приближается к единице. То есть после того, как сильная команда выйдет вперед, в ее интересах играть от обороны, снизить количество голевых моментов у обеих команд и, по сути, сократить игру. С другой стороны, слабая команда должна играть агрессивнее, если пропустит.

Предположим, что первой забила слабая команда. Калькуляции показывают, как и ожидалось, что в ее интересах играть от обороны и снизить вероятность любых забитых голов. Все эти результаты показывают, что вне зависимости от счета одной команде всегда выгодно играть на удержание, если только команды не равны по силе, а счет ничейный. Это помогает объяснить малую результативность при двухочковой системе. В системе 3-1-0 сумма ожидаемых очков двух команд не постоянна, как в системе 2-1-0. Однако, вычисления показывают, что оптимальные стратегии для обеих команд точно такие же, как и при двухочковой системе. Слабая команда должна играть на удержание счета, пока не начнет проигрывать. Сильная команда должна играть нормально, пока не поведет в счете. Если любая из команд ведет в счете, то ей нужно играть от обороны, а сопернику - агрессивно.

.3 Преимущества новой очковой системы

Серединный футбол можно объяснить в первую очередь несовершенством очковой системы, хотя и имеется много других объективных и субъективных причин. Мало забивается голов, значит зрителю не интересно с "нулями" или "единицами" сидеть на трибуне. Да и ответственность футболистов за результат игры практически не прослеживается: лишь бы мяч докатать в безопасной зоне футбольного поля.

Этому во многом способствует существующая система подсчета очков: 3 - 1 - 0. Она не стимулирует команду забивать больше мячей, так как за один выигрышный гол также дается 3 очка. Ее следует сделать более гибкой. Она должна отражать реальную расстановку сил двух команд в конкретной игре. За очки надо бороться. Большая разность забитых и пропущенных мячей в игре должна принести больше очков в копилку команды, а значит, футбол станет более интересным, что должно привлечь больше зрителей на трибуны стадионов. Если противник не хочет, чтобы его конкурент получил больше очков, пусть сопротивляется или сам забивает больше.

Если посмотреть на ранний чемпионат республики по футболу 2012г, то чемпион определился уже за несколько туров до его окончания. За тур до окончания определились и призеры, и возможные аутсайдеры (таблица 1.2).

Таблица 1.2 - Итоговая таблица Чемпионата Республики по футболу после 29 тура

№КомандаИВНПМРО1БАТЭ_Борисов29205449-15+34652Шахтер_Солигорск29187458-22+36613Динамо Минск30168637-19+18564Гомель29148738-21+17505Неман Гродно29911941-35+6386Минск291061334-45-11367Нафтан_Новополоцк29781422-38-16298Славия Мозырь29761622-56-34279Белшина Бобруйск29691423-39-162710Брест29751725-38-132611Торпедо Жодино29591516-37-2124

Последний тур был, в принципе, формальным: несколько команд в конце турнирной таблицы поменялись местами и вызвал только дополнительные денежные затраты у клубов (таблица 1.3).

Таблица 1.3 - Итоговая таблица Чемпионата Республики по футболу после 30 тура

№КомандаИВНПМРО1БАТЭ_Борисов30215451-16+35682Шахтер_Солигорск30187559-24+35613Динамо Минск30168637-19+18564Гомель30148839-24+15505Неман Гродно301011943-36+7416Минск301161336-46-10397Белшина Бобруйск30791426-40-14308Брест30851727-38-11299Нафтан_Новополоцк30781523-40-172910Славия Мозырь30761722-58-362711Торпедо Жодино30591617-39-2224

Предлагаем заменить существующую систему оценки игры по футболу на новую модель оценки игры: 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БАТЭ_Борисов296145449-15+34512Шахтер_Солигорск297117458-22+36503Динамо Минск304128637-19+18444Гомель294108738-21+17395Неман Гродно295411941-35+6346Минск293761334-45-11297Белшина Бобруйск293391423-39-16248Нафтан_Новополоцк291681422-38-16239Славия Мозырь290761622-56-342010Брест291651725-38-132011Торпедо Жодино290591516-37-2119

В этой ситуации у "Шахтера" имеется большая мотивация при настрое на последний матч с "БАТЭ", чего нельзя сказать, смотря на таблицу 1.2. Результаты последнего тура известны и итоговая таблица 1.5 дает представление об очковых запасах команд по системе "ЖМИ".

Таблица 1.5 - Итоговая таблица Чемпионата Республики по футболу после 30 тура в сравнении

№КомандаИВ 3В 2НПМРО1БАТЭ_Борисов306155451-16+35532Шахтер_Солигорск307117559-24+35503Динамо Минск304128637-19+18444Гомель304108839-24+15395Неман Гродно305511943-36+7366Минск303861336-46-10317Белшина Бобруйск304391426-40-14278Нафтан_Новополоцк301681523-40-17239Брест301751727-38-112210Славия Мозырь300761722-58-362011Торпедо Жодино300591617-39-2219

Исходя из приведенных таблиц, всего в 31 матче было забито более 3 мячей (см. столбец "В 3"). Всего за год забито 370 мячей, т.е. по 12,3 мяча на тур или в среднем по 1 мячу в среднем на команду. Это очень низкий показатель и на это следует обратить внимание. Система "ЖМИ" должна быть одной из многих других частей, которые мотивировали бы увеличение количества забиваемых мячей за матч и зрительский интерес к игре.

2. Расширение базы данных

В ходе данной работы должна быть расширена существующая база данных в DB2. В нее должны быть занесены результаты матчей Английской Премьер - Лиги 2015/2016гг, Чемпионата Испании 2015/1016гг, Чемпионата Германии 2015/2016гг, Белорусской Высшей Лиги 2015 г.

Система управления базами данных (СУБД) - это комплекс приложений для организации, контроля и администрирования баз данных. В промышленном программировании наиболее распространены три СУБД: Oracle Database, IBM DB2, Microsoft SQL Server.DB2 - объектно-реляционная СУБД, разработанная корпорацией IBM. DB2 обеспечивает создание, развертывание и функционирование приложений широкого спектра применения. DB2 может выступать в качестве СУБД для учетных систем, систем управления предприятием и ERP-решений - "1С", SAP и других.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 - Определение связи между таблицами

Полный код создания таблиц и связей представлен в приложении Б.

.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г.

Список использованных источников

. Мейер, Б. Методы программирования: В 2-х томах. Т.1. / Б. Мейер, К. Бодуэн. - М.: Мир, 1982. - 356с.

2. Дебби Линд, Lotus Notes и Domino 5/6. Энциклопедия программиста /Дебби Линд, Стив Керн. - К.:ООО "ТИД "ДС", 2003. - 1024 с.

. Савитч, У. Язык С++. Курс объектно-ориентированного программирования / У. Савитч. - М.: Вильямс, 2001. - 696 с.

. Стиллмен, Э. Изучаем C#. 2-е изд / Э. Стиллмен Э., Дж. Грин - СПб.: Питер, 2012. - 696 с.

. Троелсен Э. Язык программирования C# 5.0 и платформа.NET 4.5 / Э. Троелсен - М.:Вильямс, 2013. - 1311с.

. Бобровский, С.И. Delphi 7 / С.И. Бобровский - СПб.:Питер, 2005. - 736с.

. Майсюкова М.Н., Создание базы данных "Футбольный турнир" в СУБД DB2 / Актуальные вопросы физики и техники. Материалы IV Республиканской научной конференции студентов, магистрантов и аспирантов. - Гомель, ГГУ им. Ф.Скорины, 2015.

. Майсюкова М.Н., Жадан М.И., Разработка интерфейса для работы с базой данных "Футбольный турнир" с использованием С++ / Новые математические методы и компьютерные технологии в проектировании, производстве и научных исследованиях. Материалы XVIII Республиканской научной конференции студентов и аспирантов. − Гомель, ГГУ им. Ф.Скорины, 2015.

Приложение А. Распределение Пуассона для футбола

Распределение Пуассона моделирует случайные события, происходящие со временем, например, голы в футбольном матче. Если λ>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 Команды_Турниры;table Матчи drop constraint Матчи_Команды;table Дома drop constraint Дома_Команды;table Выезд drop constraint Выезд_Команды;table Итоговая drop constraint Итоговая_Команды;table Матчи;table Дома;table Выезд;table Итоговая;table Команды;table Турниры;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

);table Команды(

Код int primary key generated always as identity (start with 1 increment by 1),

Название varchar(40) not null,

Код_турнира int not null

);table Матчи(

Код int primary key generated always as identity (start with 1 increment by 1),

Код_принимающей int not null,

Код_гостевой int not null,

Забитые_принимающей int,

Забитые_гостевой int

);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

);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

);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

);table Командыconstraint Команды_Турниры foreign key (Код_турнира) references Турниры (Код)

;table Матчиconstraint Матчи_Команды foreign key (Код_принимающей) references Команды (Код)

add constraint Матчи_Команды_1 foreign key (Код_гостевой) references Команды (Код)

;table Домаconstraint Дома_Команды foreign key (Код_команды) references Команды (Код)

;table Выездconstraint Выезд_Команды foreign key (Код_команды) references Команды (Код)

;table Итоговаяconstraint Итоговая_Команды foreign key (Код_команды) references Команды (Код)

;into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Английская Премьер-Лига','08.08.2015','17.05.2016','Англия');into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Белорусская Высшая Лига','10.04.2015','08.11.2015','Белоруссия');into Турниры (Название, Дата_начала, Дата_окончания, Страна) values ('Английская Премьер-Лига','17.08.2013','11.05.2014','Англия');into Команды (Название, Код_турнира) values ('Лестер Сити',1);into Команды (Название, Код_турнира) values ('Арсенал',1);into Команды (Название, Код_турнира) values ('Тоттенхэм Хотспур',1);into Команды (Название, Код_турнира) values ('Манчестер Сити',1);into Команды (Название, Код_турнира) values ('Манчестер Юнайтед',1);into Команды (Название, Код_турнира) values ('Саутгемптон',1);into Команды (Название, Код_турнира) values ('Вест Хэм Юнайтед',1);into Команды (Название, Код_турнира) values ('Ливерпуль',1);into Команды (Название, Код_турнира) values ('Сток Сити',1);into Команды (Название, Код_турнира) values ('Челси',1);into Команды (Название, Код_турнира) values ('Эвертон',1);into Команды (Название, Код_турнира) values ('Суонси Сити',1);into Команды (Название, Код_турнира) values ('Уотфорд',1);into Команды (Название, Код_турнира) values ('Вест Бромвич Элбион',1);into Команды (Название, Код_турнира) values ('Кристал Пэлас',1);into Команды (Название, Код_турнира) values ('АФК Борнмут',1);into Команды (Название, Код_турнира) values ('Сандерленд',1);into Команды (Название, Код_турнира) values ('Нькасл Юнайтед',1);into Команды (Название, Код_турнира) values ('Норвич Юнайтед',1);into Команды (Название, Код_турнира) values ('Астон Вилла',1);into Команды (Название, Код_турнира) values ('БАТЭ',2);into Команды (Название, Код_турнира) values ('Динамо Мн',2);into Команды (Название, Код_турнира) values ('Шахтер',2);into Команды (Название, Код_турнира) values ('Белшина',2);into Команды (Название, Код_турнира) values ('Гранит-Микашевичи',2);into Команды (Название, Код_турнира) values ('ФК Минск',2);into Команды (Название, Код_турнира) values ('Торпедо-БелАЗ',2);into Команды (Название, Код_турнира) values ('Неман',2);into Команды (Название, Код_турнира) values ('Нафтан',2);into Команды (Название, Код_турнира) values ('Славия',2);into Команды (Название, Код_турнира) values ('ФК Слуцк',2);into Команды (Название, Код_турнира) values ('Динамо Бр',2);into Команды (Название, Код_турнира) values ('ФК Витебск',2);into Команды (Название, Код_турнира) values ('ФК Гомель',2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (1,2,2,5);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (2,3,1,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (3,4,4,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (4,5,0,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (5,6,0,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (6,7,1,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (7,8,2,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (8,9,4,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (9,10,1,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (10,11,3,3);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (11,12,1,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (12,13,1,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (13,14,0,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (14,15,3,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (15,16,1,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (16,17,2,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (17,18,3,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (18,19,6,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (19,20,2,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (1,2,0,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (2,3,1,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (3,4,0,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (4,5,0,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (5,6,2,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (6,7,0,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (7,8,0,0);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (8,9,3,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (9,10,1,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (10,11,1,6);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (11,12,1,1);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (12,13,3,2);into Матчи (Код_принимающей, Код_гостевой, Забитые_принимающей, Забитые_гостевой) values (13,14,1,0);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,19,12,6,1,35,18,42,32);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,19,12,4,3,31,11,40,31);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,19,10,6,3,35,15,36,32);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,19,12,2,5,47,21,38,33);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,19,12,5,2,27,9,41,31);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,19,11,3,5,39,22,36,29);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,19,9,7,3,34,26,34,25);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,19,8,8,3,33,22,32,27);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,19,8,4,7,22,24,28,20);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,19,5,9,5,32,30,24,20);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,19,6,5,8,35,30,23,21);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,19,8,6,5,20,20,30,22);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,19,6,6,7,20,19,24,19);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,19,6,5,8,20,26,23,17);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,19,6,3,10,19,23,21,16);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,19,5,5,9,23,34,20,16);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,19,6,6,7,23,20,24,20);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,19,7,7,5,32,24,28,24);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,19,6,5,8,26,30,23,17);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,19,2,5,12,14,35,11,9);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,13,10,2,1,26,6,32,25);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,13,9,3,1,20,5,30,23);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,13,9,4,0,27,6,31,26);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,13,7,3,3,19,8,24,18);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,13,7,2,4,17,14,23,17);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,13,9,1,3,21,12,28,20);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,13,5,4,4,18,14,19,16);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,13,5,2,6,14,16,17,12);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,13,3,3,7,15,18,12,10);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,13,4,3,6,21,26,15,13);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,13,2,5,6,10,13,11,9);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,13,6,2,5,15,18,20,14);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,13,3,6,4,10,15,15,12);into Дома (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,13,4,2,7,14,18,14,11);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,19,11,6,2,33,18,39,30);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,19,8,7,4,34,25,31,26);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,19,9,7,3,34,20,34,28);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,19,7,7,5,24,20,28,24);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,19,7,4,8,22,26,25,19);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,19,7,6,6,20,19,27,20);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,19,7,7,5,31,25,28,23);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,19,8,4,7,30,28,28,22);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,19,6,5,8,19,31,23,17);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,19,7,5,7,27,23,26,22);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,19,5,9,5,24,25,24,21);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,19,4,5,10,22,32,17,14);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,19,6,3,10,20,31,21,15);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,19,4,8,7,14,22,20,16);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,19,5,6,8,20,28,21,16);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,19,6,4,9,22,33,22,16);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,19,3,6,10,25,42,15,13);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,19,2,3,14,12,41,9,7);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,19,3,2,14,13,37,11,8);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,19,1,3,15,13,41,6,5);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,13,10,3,0,18,5,33,23);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,13,6,5,2,16,8,23,18);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,13,5,3,5,20,21,18,13);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,13,5,4,4,20,11,19,17);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,13,5,4,4,13,18,19,14);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,13,3,3,7,8,16,12,10);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,13,5,2,6,13,15,17,12);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,13,3,6,4,7,16,15,12);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,13,5,3,5,19,17,18,15);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,13,3,2,8,12,24,11,8);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,13,4,2,7,16,17,14,12);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,13,1,1,11,8,24,4,3);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,13,1,3,9,11,32,6,5);into Выезд (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,13,1,1,11,8,23,4,4);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (1,38,23,12,3,68,36,81,62);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (2,38,20,11,7,65,36,71,57);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (3,38,19,13,6,69,35,70,60);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (4,38,19,9,10,71,41,66,57);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (5,38,19,9,10,49,35,66,50);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (6,38,18,9,11,59,41,63,49);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (7,38,16,14,8,65,51,62,48);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (8,38,16,12,10,63,50,60,49);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (9,38,14,9,15,41,55,51,37);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (10,38,12,14,12,59,53,50,42);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (11,38,11,14,13,59,55,47,42);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (12,38,12,11,15,42,52,47,36);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (13,38,12,9,17,40,50,45,34);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (14,38,10,13,15,34,48,43,33);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (15,38,11,9,18,39,51,42,32);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (16,38,11,9,18,45,67,42,32);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (17,38,9,12,17,48,62,39,33);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (18,38,9,10,19,44,65,37,31);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (19,38,9,7,22,39,67,34,25);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (20,38,3,8,27,27,76,17,14);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (21,26,20,5,1,44,11,65,48);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (22,26,15,8,3,36,13,53,41);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (23,26,14,7,5,47,27,49,39);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (24,26,12,7,7,39,19,43,35);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (25,26,12,6,8,30,32,42,31);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (26,26,12,4,10,29,28,40,30);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (27,26,10,6,10,31,29,36,28);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (28,26,8,8,10,21,32,32,24);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (29,26,8,6,12,34,35,30,25);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (30,26,7,5,14,33,50,26,21);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (31,26,6,7,13,26,30,25,21);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (32,26,7,3,16,23,42,24,17);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (33,26,4,9,13,21,47,21,17);into Итоговая (Код_команды, Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов) values (34,26,5,3,18,22,41,18,15);

Drop view Итоги_АПЛ 16;view Итоги_АПЛ 16 as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Англия')

;view Итоги_АПЛ 16_нов;

Create view Итоги_АПЛ 16_нов as

(select Код from Турниры where Страна = 'Англия');

Drop view Итоги_БВЛ 15;view Итоги_БВЛ 15 as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Белоруссия')

;view Итоги_БВЛ 15_нов;

Create view Итоги_БВЛ 15_нов as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Белоруссия')

;view Итоги_ЧГ 16;view Итоги_ЧГ 16 as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Германия')

;view Итоги_ЧГ 16_нов;

Create view Итоги_ЧГ 16_нов as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Германия')

;view Итоги_ЧИ 16;view Итоги_ЧИ 16 as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Испания')

;view Итоги_ЧИ 16_нов;

Create view Итоги_ЧИ 16_нов as

select Команды. Название, Итоговая. Игр, Выигрыши, Ничьи, Поражения, Забитые, Пропущенные, Очки, Очки_нов from Команды,Итоговая where Команды. Код=Итоговая. Код_команды and Код_турнира in

(select Код from Турниры where Страна = 'Испания')

;

Copyright © 2018 WorldReferat.ru All rights reserved.