Упражнения по SQL, практика, решение - упражнения по базе данных по футболу
Введение в футбольную базу данных
Пример базы данных: футбол
В этой документации мы будем работать с образцом базы данных, которая поможет объяснить некоторые базовые и продвинутые концепции базы данных.
Пример описания базы данных:
Образец базы данных представляет собой часть данных о хранении и поиске данных о футбольном турнире на ЕВРО-КУБОК 2016. Возможно, вы любите футбол, и для всех любителей футбола мы предоставляем подробную информацию о футбольном турнире. Такой дизайн базы данных облегчит понимание различных вопросов, возникающих у вас в отношении футбольного турнира.
Список таблиц в футбольной базе:
- soccer_country
- soccer_city
- soccer_venue
- футбольная команда
- playing_position
- player_mast
- referee_mast
- match_mast
- coach_mast
- asst_referee_mast
- match_details
- goal_details
- серия пенальти
- player_booked
- player_in_out
- match_captain
- team_coaches
- penalty_gk
ER Диаграмма футбола База данных:
Описание таблиц:
soccer_country:
- country_id - это уникальный идентификатор для каждой страны
- country_abbr - это название сортировки каждой страны
- название страны - это название каждой страны
soccer_city:
- city_id - это уникальный идентификатор для каждого города
- город - это название города
- country_id - это идентификатор страны, в которой расположены города, и будут доступны только те страны, которые указаны в таблице soccer_country
soccer_venue:
- venue_id - это уникальный идентификатор для каждого места
- имя_места - это название места
- city_id - это идентификатор города, в котором находится место, и будут доступны только те города, которые находятся в таблице soccer_city
- aud_capicity - это вместимость аудитории для каждого места
футбольная команда:
- team_id - это идентификатор каждой команды. Каждая команда представляет страну, которая ссылается на столбец country_id таблицы soccer_country
- team_group - название группы, в которую входит команда
- match_played - сколько матчей команда сыграла на групповом этапе
- выиграл - сколько матчей выиграла команда
- ничья - сколько матчей команда рисует
- проиграл - сколько матчей проиграла команда
- goal_for - сколько голов пропущено командой
- goal_agnst - сколько голов забил команда
- goal_diff - разница забитых и пропущенных мячей
- очки - сколько очков команда набрала в матчах группового этапа
- group_position - в каком положении команда завершила свои матчи группового этапа
playing_position:
- position_id - это уникальный идентификатор для каждой позиции, на которой играл игрок
- position_desc - это название позиции, на которой играл игрок
player_mast:
- player_id - это уникальный идентификатор для каждого игрока
- team_id - это команда, в которой играл игрок, и только те команды, которые ссылаются на колонку country_id таблицы soccer_country
- jersey_no - номер, который обозначен на майке для каждого игрока
- player_name - имя игрока
- posi_to_play - позиция, где играл игрок, и позиции ссылаются на столбец position_id таблицы Playing_position
- dt_of_bir - дата рождения каждого игрока
- возраст - приблизительный возраст на момент игры в турнире
- playing_club - название клуба, за который играл игрок во время турнира
referee_mast:
- referee_id - это уникальный идентификатор для каждого рефери
- referee_name - имя рефери
- country_id - страна, к которой принадлежит судья, и страны, которые ссылаются на столбец country_id таблицы soccer_country
match_mast:
- match_no - это если уникальный идентификатор для совпадения
- play_stage - это указывает на то, на каком этапе идет матч, то есть G для группового этапа, R для раунда 16 этапа, Q для четвертьфинального этапа, S для полуфинального этапа и F для финального
- play_date - дата сыгранного матча
- Результаты - результат матча, победа или ничья
- решил_был - как был определен результат матча, либо Н за нормальный, либо Р за пенальти
- goal_score - оценка за матч
- venue_id - место, где был сыгран матч, и место будет одним из мест, ссылающихся на столбец venue_id таблицы soccer_venue
- referee_id - идентификатор рефери, который выбран для матча, ссылающегося на столбец referee_id таблицы referee_mast
- audence - количество зрителей, которые смотрят матч
- plr_of_match - это игрок, который наградил игрока определенного матча и который выбрал 23 человека, играющих в команде за команду, которая ссылается на столбец player_id таблицы player_mast
- stop1_sec - сколько времени остановки (в секундах) было добавлено для 1-й половины игры
- stop2_sec - сколько времени остановки (в секундах) было добавлено для второй половины игры
coach_mast:
- coach_id - это уникальный идентификатор тренера
- coach_name - это имя тренера
asst_referee_mast:
- ass_ref_id - это уникальный идентификатор для каждого рефери помогает главному рефери
- ass_ref_name - имя помощника судьи
- country_id - страна, к которой принадлежит помощник судьи, и страны, которые ссылаются на столбец country_id таблицы soccer_country
match_details:
- match_no - номер совпадения, ссылающегося на столбец match_no таблицы match_mast
- play_stage - этап матча, то есть G для группового этапа, R для 16-го тура, Q для четвертьфинала, S для полуфинала и F для финала
- team_id - команда, которая является одной из играющих команд и ссылается на столбец country_id таблицы soccer_country
- win_lose - команда либо выиграла, либо проиграла, либо сыграла вничью, обозначенную символом W, L или D
- solve_by - как результат, достигнутый командой, обозначается N для нормального счета или P для пенальти
- goal_score - сколько голов забито командой
- Penal_score - сколько голов забито командой в серии пенальти
- ass_ref - помощник рефери помогает рефери, который ссылается на столбец ass_ref_id таблицы asst_referee_mast
- player_gk - игрок, который держит цель для команды, ссылается на столбец player_id таблицы player_mast
goal_details:
- goal_id - это уникальный идентификатор для каждой цели
- match_no - это match_no, который ссылается на столбец match_no таблицы match_mast
- player_id - это идентификатор игрока, который выбран для команды из 23 человек команды для турнира и который ссылается на столбец player_id таблицы player_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- goal_time - это время, когда забитый гол
- goal_type - это тип цели, которая обычно указывается с помощью N, или собственная цель с указанием O, а цель наступает из-за штрафа, указанного с помощью P
- play_stage - это стадия игры, в которой забитый гол, обозначенный G для группового этапа, R для раунда из 16 этапов, Q для четвертьфинального этапа, S для полуфинального этапа и F для финального матча
- goal_schedule - когда цель достигнута, является ли это нормальным игровым сеансом, указанным NT, или в время остановки, указанное ST, или в дополнительное время, указанное ET
- goal_half - в котором пришла половина матча
серия пенальти:
- kick_id - это уникальный идентификатор для каждого штрафного удара
- match_no - это match_no, ссылающийся на столбец match_no таблицы match_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- player_id - это идентификатор игрока, который выбран для команды из 23 человек команды для турнира и который ссылается на столбец player_id таблицы player_mast
- score_goal - это флаг Y, если можно забить гол, или N, если нет
- kick_no - это номер удара для удара в индивидуальном матче
player_booked:
- match_no - это match_no, ссылающийся на столбец match_no таблицы match_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- player_id - это идентификатор игрока, который выбран для команды из 23 человек команды для турнира и который ссылается на столбец player_id таблицы player_mast
- booking_time - это время, когда игрок забронировал
- sent_off - это флаг Y, когда игрок удален
- play_schedule - когда игрок забронировал, идет ли он в обычном игровом сеансе, указанном NT, или во время остановки, обозначенном ST, или в дополнительное время, указанное ET
- play_half - в котором забронирован наполовину игрок
player_in_out:
- match_no - это match_no, ссылающийся на столбец match_no таблицы match_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- player_id - это идентификатор игрока, который выбран для команды из 23 человек команды для турнира и который ссылается на столбец player_id таблицы player_mast
- in_out - это флаг I, когда игрок вышел на поле, или O, когда вышел с поля
- time_in_out - когда игрок выходит на поле или выходит с поля
- play_schedule - когда игрок входит или выходит с поля, находится ли он в обычном игровом сеансе, обозначенном NT, или в время остановки, обозначенное ST, или в дополнительное время, обозначенное ET
- play_half - в котором половина игроков входит или выходит
match_captain:
- match_no - это match_no, ссылающийся на столбец match_no таблицы match_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- player_captain - игрок, который выступает в качестве капитана команды, ссылается на столбец player_id таблицы player_mast
team_coaches:
- team_id - это идентификатор команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- coach_id - команда может быть одним или несколькими тренерами, это указывает на то, что тренер (и), который тренирует команду, ссылается на столбец coach_id таблицы coach_mast
penalty_gk:
- match_no - это match_no, ссылающийся на столбец match_no таблицы match_mast
- team_id - это идентификатор каждой команды, которая играет в турнире и ссылается на столбец country_id таблицы soccer_country
- player_gk - игрок, который сохранил цель во время серии пенальти, ссылается на столбец player_id таблицы player_mast
Новый контент: Composer: менеджер зависимостей для PHP , R программирования