Программа "Футбольный болельщик" - Программирование, компьютеры и кибернетика курсовая работа

Программа "Футбольный болельщик" - Программирование, компьютеры и кибернетика курсовая работа



































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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение высшего профессионального образования
«Чувашский государственный университет им. И.Н. Ульянова»
Факультет информатики и вычислительной техники
Кафедра «Информационно-вычислительных систем»
Пояснительная записка к курсовой работе
2.1 Описание предметной области (уточненной у преподавателя)
2.2 Перечень и описание функций приложения обработки базы данны
2.3 Перечень и описание сущностей и атрибутов базы данных
3 Проектирование. Нормализация базы данных. Схема данных
3.1 Пошаговое описание нормализации базы данных (методом ER-диаграмм)
3.3 Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице
4 Программная часть. Руководство программиста
4.1 Назначение и условия применения программы
5 Сопровождение. Руководство пользователя
5.3 Уровень подготовки пользователя
5.4 Программные и аппаратные требования к системе
7 Приложение 1. Исходный текст приложения
Написать систему для ведения турнирных таблиц чемпионатов и кубков, в которых участвуют российские команды (чемпионаты как российские, так и международные). Система должна содержать справочную информацию о командах (история, составы, тренеры, игры и победы), игроках (биография, история), тренерах (биография, история, в каких командах играл, если был игроком) и судьях (биография, какие матчи судил, в каких командах играл, если был игроком).
В турнирной таблице учитываются очки (3 - за победу, 1 - за ничью, 0 за поражение), а также забитые и пропущенные голы, место проведения. Нужно хранить информацию о каждом матче.
Необходимо разработать информационный ресурс, где хранится информация о футбольных командах, игроках, тренерах, судьях, чемпионатах и матчах. В соответствии с занесенными данными о матче выводить турнирную таблицу и таблицу результатов.
2.2 Перечень и описание функций приложения обработки базы данных
1. Система должна хранить справочную информацию по игрокам, тренерам, командам, судьям, чемпионатам.
2. Система должна регистрировать и хранить информацию о матчах: чемпионат; какая команда играла в гостях, а какая дома; количество забитых и пропущенных голов команды, которая играет дома; дату матча.
3. Система должна выводить турнирную таблицу, в которой хранится информация о количестве игр, количестве забитых и пропущенных мячей, количество побед, проигрышей и ничьих, количество очков.
4. Система должна выводить таблицу результатов(сетку).
5. Система должна осуществлять поиск матчей.
2.3 Перечень и описание сущностей базы данных
Игроки. Каждый игрок имеет уникальный номер, ФИО, биографические сведения и амплуа.
Команды. За каждой командой закреплен соответствующий код, название, состав и краткие исторические сведения.
Тренеры. Каждый тренер имеет уникальный номер , ФИО, биографические сведения.
Судьи. Каждый судья имеет уникальный номер, ФИО, биографические сведения. Чемпионаты. Хранится уникальный номер чемпионата, название и год проведения.
Матчи. Хранится информация о чемпионате, в рамках которого проводился матч, дата матча, команда, которая играла дома, команда, которая играла в гостях, количество забитых и пропущенных первой командой мячей.
2.4 Перечень и описание всех атрибутов базы данных
Краткие исторические сведения о команде
Уникальный код команды, которая играла дома
Уникальный код команды, которая играла в гостях
Кол-во забитых мячей командой, которая играла дома
Кол-во пропущенных мячей командой, которая играла дома
3. Проектирование. Нормализация базы данных. Схема данных
3.1 Пошаговое описание нормализации базы данных (методом ER диаграмм)
Нормализуем каждую связь используя соответствующие правила нормализации ER-диаграмм. В результате получим готовую схему данных.
Chempionats (idChemp,NameChemp, Year)
Command(idCom, NameCom, AdressCom, Gorod, History, DateSozd, mini_img, big_img)
Matches(idMatch, idChemp, DateMatch, CityMatch)
MatchRezult (idMatch, Doma, Gost, ZabMjach, PropMjach)
Players (idPlayer, FPlayer, IPlayer, OPlayer, DateRozhd, Grazhd, BiografPlayer, Amplua)
Sostav (idCom, idPlayer, DatePokup, DateProdazh)
Sudja (idSud, FSud, ISud, OSud, DateRozhd, Gorod, BiografSud)
Treners (idTren, FTren, ITren, OTren, DateRozhd, Gorod, BiografTren)
TrenersForCommand (idCom, idTren, DateNaznach, DateUchod)
3.3 Перечень и описание таблиц и их полей в сводной таблице
Краткие исторические сведения о команде
Уникальный код команды, которая играла дома
Уникальный код команды, которая играла в гостях
Кол-во забитых мячей командой, которая играла дома
Кол-во пропущенных мячей командой, которая играла дома
4. Программная часть. Руководство программиста
4.1 Назначение и условия применения программы
Программа предназначена для хранения и вывода данных о командах, игроках, судьях, тренерах, чемпионатах и матчах. Также она генерирует таблицу результатов и турнирную таблицу на основании данных о матче.
Программа обладает стандартными временными характеристиками и стандартным режимом работы.
Для обращения к программе есть кнопки и выпадающие списки, а так же гиперссылки для удобства перемещения по сайту.
Страницы содержат ряд ссылок по которым осуществляется переход на другие страницы

Команды


Игроки


Судьи


Тренеры


Чемпионаты


Страницы «Команды» (command.php), «Игроки» (player.php), «Судьи» (sudja.php), «Тренеры» (treners.php), «Чемпионаты» (chempionats.php), «Матчи» (match.php), отображает соответственно список команд, игроков, судей, тренеров, чемпионатов и матчей внесенных в базу:
$zapros = "SELECT * From (Matches INNER JOIN MatchRezult ON Matches.idMatch=MatchRezult.idMatch),Chempionats WHERE Chempionats.idChemp=Matches.idChemp".$wyear.$wchemp;
$result = mysql_query($zapros, $db);
while ($myrow = mysql_fetch_array($result))
$res2 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$doma'");
$res3 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$gost'");
%s:%s
",$row2[0], $myrow["idMatch"],$myrow["ZabMjach"],$myrow["PropMjach"], $row3[0], $myrow["DateMatch"],$myrow["CityMatch"]);
Страница «Таблица »(table.php) производит подсчет очков, количества игр, разницы между забитыми и пропущенными мячами, количества поражений, побед и ничьих команд в соответствующем чемпионате:
$zapros="SELECT ID,NameCom, Gorod, sum(igrDoma) igr, sum(zab)-sum(prop) mjach, sum(ochki) ochki,sum(vdoma) vdoma,sum(ndoma) ndoma,sum(pdoma) pdoma,sum(vgost) vgost,sum(ngost) ngost,sum(pgost) pgost, sum(prgost) prgost, sum(zabgost) zabgost, sum(prdoma) prdoma, sum(zabdoma) zabdoma
SELECT Command.idCom as ID, NameCom, Gorod, count(Gost) as igrDoma, PropMjach zab,ZabMjach prop,
END pgost,0 vdoma,0 ndoma,0 pdoma, PropMjach zabgost,ZabMjach prgost, 0 prdoma, 0 zabdoma
FROM Command, Chempionats, MatchRezult, Matches
WHERE NameChemp='Чемпионат России' and
Matches.idMatch=MatchRezult.idMatch and
Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch
SELECT Command.idCom as ID, NameCom, Gorod, count(Doma) as igrDoma, ZabMjach zab, PropMjach prop,
END pgost, 0 zabgost, 0 prgost, PropMjach prdoma,ZabMjach zabdoma
FROM Command, Chempionats, MatchRezult, Matches
WHERE NameChemp='Чемпионат России' and
Matches.idMatch=MatchRezult.idMatch and
Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
%s.  
  %s(%s)
 %s
 %s
 %s
 
 %s
 %s
 %s
 %s - %s
 
 %s
 %s
 %s
 %s - %s
 
",$i,$myrow['ID'],$myrow['NameCom'],$myrow['Gorod'],$myrow['igr'],$myrow['mjach'],$myrow['ochki'], $myrow['vdoma'], $myrow['ndoma'], $myrow['pdoma'], $myrow['zabdoma'], $myrow['prdoma'], $myrow['vgost'], $myrow['ngost'], $myrow['pgost'], $myrow['zabgost'], $myrow['prgost']
Страница «Результаты »(resгlt.php) генерирует турнирную сетку в соответствии с результатами матчей:
$zapros = "SELECT Command.idCom as ID, NameCom, Gorod
FROM Command, Chempionats, CommandInChemp
WHERE NameChemp='Чемпионат России' and
Command.idCom=CommandInChemp.idCom and
Chempionats.idChemp=CommandInChemp.idChemp".$wyear." GROUP BY Command.idCom";
$result = mysql_query($zapros, $db);
 
  команда");
while ($myrow = mysql_fetch_array($result))
printf(" %s", $i);
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
 %s
",$k, $myrow['NameCom'],$myrow['Gorod']);
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
$gostarray[$k][$c]=$row3['PropMjach'].":".$row3['ZabMjach'];
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
while($c<$i && $row3 = mysql_fetch_array($res3));
$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

 %s
 %s

 %s
",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);
$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

 %s:%s
 %s

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");
while($c<$i && $row2 = mysql_fetch_array($res2));
Также в приложении присутствует администраторская часть, предназначенная для добавления редактирования и удаления данных. Входными данными являются данные, введенные пользователем в соответствующие поля.
mysql_connect() - подключение к MySQL;
include("bd.php") - подключение к файлу;
printf() - вывод информации на экран;
mysql_query () - возвращение результата запроса;
mysql_fetch_array () - получение результата запроса;
Сообщения выводятся только в администраторской части программы. При неверных действиях пользователей недопустимых значениях входных данных, система выдает пользователю соответствующие сообщения. При успешном завершении действия пользователь тоже получает сообщения об успешном завершении.
5. Сопровождение. Руководство пользователя
Программа предназначена для хранения информации о футбольных матчах, подсчета данных о командах в турнире, генерации турнирной сетки.
Пользователь может вводить и удалять данные о матчах, игроках, судьях, тренерах, чемпионатах, редактировать состав команд, тренерский штаб команды.
5.3 Уровень подготовки пользователя
Пользователи системы должны иметь опыт работы с персональным компьютером на базе операционных систем Microsoft Windows и с браузером типа «Opera» или «IE 5» и выше на уровне среднего пользователя и свободно осуществлять базовые операции.
5.4 Программные и аппаратные требования к системе
Требования к программному обеспечению:
Требования к аппаратному обеспечению:
В состав дистрибутива «Футбольный болельщик» входит:
- Серверная часть Windows приложения;
- Клиентская часть Windows приложения;
При сбое в работе аппаратуры восстановление нормальной работы системы должно производиться после:
- перезагрузки операционной системы;
- запуска исполняемого файла системы;
При ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС.
При ошибках, связанных с программным обеспечением (ОС и драйверы устройств), восстановление работоспособности возлагается на ОС.
При неверных действиях пользователей, неверных форматах или недопустимых значениях входных данных, система выдает пользователю соответствующие сообщения, после чего пользователь может пройтись по ссылке на любую страницу, которая будет нормально функционировать.
Для успешного освоения приложения «Футбольный болельщик» необходимо иметь навыки работы с ПК, базовые знания HTML(для корректного ввода текстовой информации) и изучить следующее:
- Настоящее «Руководство пользователя».
6. Список использованной литературы
1. Евгений Попов. PHP и Mysql для начинающих. Видео уроки. 2007.
2. Т.Карпова. Базы данных. Модели, разработка, реализация. «Питер», Санкт-Птербург, 2002.
3. Алексей Гончаров. Самоучитель HTML.
$db = mysql_connect("localhost","root","");
include("blocks/bd.php");/* Соединяемся с БД */

 %s

$result = mysql_query("SELECT Year FROM Chempionats ORDER BY Year desc");
$myrow = mysql_fetch_array($result);
printf("",$myrow[0]);
$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc");
$myrow = mysql_fetch_array($result);
printf("",$myrow[0]);
$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' ORDER BY Year desc");
$myrow = mysql_fetch_array($result);
printf("",$myrow[0]);





include("blocks/bd.php");/* Соединяемся с БД */
$wchemp=" and NameChemp='$chemp'";}








printf("Чемпионат
Все чемпионаты");
$result = mysql_query("SELECT NameChemp FROM Chempionats GROUP BY NameChemp", $db);
$myrow = mysql_fetch_array($result);
if($_GET['NameChemp'] == $myrow['NameChemp'])
printf("%s",$myrow['NameChemp'],$myrow['NameChemp']);
while($myrow = mysql_fetch_array($result));
printf("Год ");
$result = mysql_query("SELECT Year FROM Chempionats GROUP BY Year ORDER BY Year desc", $db);
$myrow = mysql_fetch_array($result);
if($_GET['year'] == $myrow['Year'])
printf("%s",$myrow['Year'],$myrow['Year']);
while($myrow = mysql_fetch_array($result));

$zapros = "SELECT * From (Matches INNER JOIN MatchRezult ON Matches.idMatch=MatchRezult.idMatch),Chempionats WHERE Chempionats.idChemp=Matches.idChemp".$wyear.$wchemp;
$result = mysql_query($zapros, $db);
while ($myrow = mysql_fetch_array($result))
$res2 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$doma'");
$res3 = mysql_query("SELECT NameCom FROM MatchRezult, Command WHERE idCom='$gost'");
",$row2[0], $myrow["idMatch"],$myrow["ZabMjach"],$myrow["PropMjach"], $row3[0], $myrow["DateMatch"],$myrow["CityMatch"]);

include("blocks/bd.php");/* Соединяемс с БД */


стиль1 {font-family: Geneva, Arial, Helvetica, sans-serif}
%s:%s







$result = mysql_query("SELECT idCom, NameCom, Gorod, mini_img FROM Command", $db);
$myrow = mysql_fetch_array($result);
printf(" ",
while ($i<2 && $myrow = mysql_fetch_array($result));
while ($myrow = mysql_fetch_array($result));

include("blocks/bd.php");/* Соединяемся с БД */


%s (%s)




$result = mysql_query("SELECT CityMatch,Year,NameChemp FROM Matches,Chempionats WHERE idMatch='$idMatch' and Matches.idChemp = Chempionats.idChemp ", $db);
$myrow = mysql_fetch_array($result);
printf("

 %s %s
 Место проведения матча: %s
", $myrow['NameChemp'], $myrow['Year'], $myrow['CityMatch']);


$result = mysql_query("SELECT * FROM Matches,MatchRezult WHERE Matches.idMatch='$idMatch' and Matches.idMatch = MatchRezult.idMatch", $db);
$myrow = mysql_fetch_array($result);
$res2 = mysql_query("SELECT NameCom,mini_img,Gorod FROM MatchRezult, Command WHERE idCom='$doma'");
$res3 = mysql_query("SELECT NameCom,mini_img,Gorod FROM MatchRezult, Command WHERE idCom='$gost'");
printf("", $row2['mini_img']);


:



printf("",$row3['mini_img']);



$result = mysql_query("SELECT FSud, Isud,OSud, Gorod FROM Sudja,SudjiInMatch
WHERE Sudja.idSud = SudjiInMatch.idSud and
while($myrow = mysql_fetch_array($result))
printf("%s %s %s (%s)",$myrow['FSud'],$myrow['Isud'],$myrow['OSud'], $myrow['Gorod']);

include("blocks/bd.php");/* Соединяемся с БД */








printf("Год ");
$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' GROUP BY Year ORDER BY Year desc", $db);
$myrow = mysql_fetch_array($result);
if($_GET['year'] == $myrow['Year'])
printf("%s",$myrow['Year'],$myrow['Year']);
while($myrow = mysql_fetch_array($result));

 
Всего
Дома
В гостях

$zapros="SELECT ID,NameCom, Gorod, sum(igrDoma) igr, sum(zab)-sum(prop) mjach, sum(ochki) ochki,sum(vdoma) vdoma,sum(ndoma) ndoma,sum(pdoma) pdoma,sum(vgost) vgost,sum(ngost) ngost,sum(pgost) pgost, sum(prgost) prgost, sum(zabgost) zabgost, sum(prdoma) prdoma, sum(zabdoma) zabdoma
SELECT Command.idCom as ID, NameCom, Gorod, count(Gost) as igrDoma, PropMjach zab,ZabMjach prop,
END pgost,0 vdoma,0 ndoma,0 pdoma, PropMjach zabgost,ZabMjach prgost, 0 prdoma, 0 zabdoma
FROM Command, Chempionats, MatchRezult, Matches
WHERE NameChemp='Чемпионат России' and
Matches.idMatch=MatchRezult.idMatch and
Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch
SELECT Command.idCom as ID, NameCom, Gorod, count(Doma) as igrDoma, ZabMjach zab, PropMjach prop,
END pgost, 0 zabgost, 0 prgost, PropMjach prdoma,ZabMjach zabdoma
FROM Command, Chempionats, MatchRezult, Matches
WHERE NameChemp='Чемпионат России' and
Matches.idMatch=MatchRezult.idMatch and
Matches.idChemp=Chempionats.idChemp".$wyear."GROUP BY MatchRezult.idMatch
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
",$i,$myrow['ID'],$myrow['NameCom'],$myrow['Gorod'],$myrow['igr'],$myrow['mjach'],$myrow['ochki'], $myrow['vdoma'], $myrow['ndoma'], $myrow['pdoma'], $myrow['zabdoma'], $myrow['prdoma'], $myrow['vgost'], $myrow['ngost'], $myrow['pgost'], $myrow['zabgost'], $myrow['prgost']

include("blocks/bd.php");/* Соединяемся с БД */


М
Команда
И
Мячи
О
 
В
Н
П
З - П
 
В
Н
П
З - П
 %s.  
  %s(%s)
 %s
 %s
 %s
 
 %s
 %s
 %s
 %s - %s
 
 %s
 %s
 %s
 %s - %s
 







printf("Год ");
$result = mysql_query("SELECT Year FROM Chempionats WHERE NameChemp = 'Чемпионат России' GROUP BY Year ORDER BY Year desc", $db);
$myrow = mysql_fetch_array($result);
if($_GET['year'] == $myrow['Year'])
printf("%s",$myrow['Year'],$myrow['Year']);
while($myrow = mysql_fetch_array($result));

$zapros = "SELECT Command.idCom as ID, NameCom, Gorod
FROM Command, Chempionats, CommandInChemp
WHERE NameChemp='Чемпионат России' and
Command.idCom=CommandInChemp.idCom and
Chempionats.idChemp=CommandInChemp.idChemp".$wyear." GROUP BY Command.idCom";
$result = mysql_query($zapros, $db);
");
while ($myrow = mysql_fetch_array($result))
printf("", $i);
$result = mysql_query($zapros, $db);
while($myrow = mysql_fetch_array($result))
 
  команда %s %s
",$k, $myrow['NameCom'],$myrow['Gorod']);
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
$gostarray[$k][$c]=$row3['PropMjach'].":".$row3['ZabMjach'];
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
$res3 = mysql_query("SELECT Doma, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Doma ");
while($c<$i && $row3 = mysql_fetch_array($res3));
$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

 %s
 %s

 %s
",$row2['ZabMjach'],$row2['PropMjach'],$gostarray[$k][$c]);
$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");

 %s:%s
 %s

$res2 = mysql_query("SELECT Gost, ZabMjach, PropMjach FROM MatchRezult,Matches, Chempionats
Matches.idMatch=MatchRezult.idMatch and
Chempionats.idChemp=Matches.idChemp".$wyear."ORDER BY Gost ");
while($c<$i && $row2 = mysql_fetch_array($res2));

 %s

Report Page