Министерствообразования и науки Республики Казахстан
Карагандинский государственныйтехнический университет
Кафедра _____________
Пояснительнаязаписка
к курсовомупроекту
по дисциплине:«Технология разработки баз данных»
Тема: «Созданиебазы данных «Wc3 Cybersport Data Base»»
Руководители
__________________
Выполнил:
ст.гр. _____________
Караганда 2009
Содержание
Введение
1. Постановказадачи
2.Теоретическая часть
3. Структурабазы данных
3.1Логическая модель данных
3.1.1Структура таблиц
3.1.2Структура хранимой информации
3.2 Концептуальнаямодель данных
3.3.Нормализация отношений
4.SQL-запросы
5.Интерфейс программы
Заключение
Списокиспользуемых источников
ПриложениеА Листинг программы
Введение
В настоящее время любая серьезная организация используетразличные базы данных для автоматизации процессов обработки информации,удобства в ее эксплуатации, надежности, для предотвращения избыточностиповторяющихся данных, а также в целях экономии времени.
В связи с тем, что современные информационные системыоперируют большими объемами и сложными структурами данных, средства управлениябазами данных позволяют выделить общую часть информационных систем, отвечающуюза управление сложными структурированными данными.
Целью выполнения данного курсового проекта являетсяразработка системы «WC3 Cybersport DataBase» и соответствующей ей базы данных,позволяющей документировать в электронном виде данные об игроках, кланах исобытиях в мире Варкрафт, а также содержит гибкий генератор запросов иатоматизированный генератор отчетов. Средой разработки базы данных была выбранаСУБД MSSQL Server 2000, поскольку она позволяет работать с реляционной базойданных с использованием технологий клиент-сервер.
В качестве языка программирования был выбран язык Delphi.
1. Постановка задачи
Задачей данного курсового проекта является разработкасистемы «CyberSport DataBase», включающей в себя 3 таблицы:
Players (NickName, Clan, Game Race, FullName, Age, Country).
Clans (Name, Full Name, Owner, Players,Sponsor, Foundation Date).
Events (Name, Sponsor, Prize, ClanWinner, Players Winner, Date)
Система должна выполнять следующие функции:
Вывести список только игроков с России.
Показать все не полные записи.
Вывести список «старших» игроков, чей возраст больше 20.
Подсчитать игроков по странам.
Вывести количество игроков доминирующей страны в клане.
Показать инфо о кланах победителях на различных турнирах.
Подсчитать игроков по расам в игре.
Показать инфо о игроках победителях на различныхтурнирах.
2. Теоретическая часть
Основные понятия и определение теории баз данных
Для организации оптимизированного хранения, выборки ипредставления информации применяются базы данных (БД).
База данных – это совокупность логически связанныхданных. Базой данных часто упрощённо или ошибочно называют Системы Управления БазамиБанных (СУБД). Нужно различать набор данных (собственно БД) и программноеобеспечение, предназначенное для организации и ведения баз данных (СУБД). Однимиз основных понятий в БД является атрибут – некоторая характеристика, илипараметр, представляемого в БД объекта.
Банк данных – это информационная система, включающая всебя математические, технические, информационные, организационные, программныеи языковые средства, обеспечивающие в совокупности централизованную поддержкухранимых данным. Банк данных включает в себя БД и СУБД.
БД бывают нескольких типов:
Картотеки
Сетевые
Иерархические
Реляционные
Объектно-ориентированные
Многомерные
Дедуктивные
На уровне физической модели электронная БД представляетсобой файл или их набор в формате TXT, CSV, Excel, DBF, XML либо вспециализированном формате конкретной СУБД. Также в СУБД в понятие физическоймодели включают специализированные виртуальные понятия, существующие в ёёрамках — таблица, табличное пространство, сегмент, куб, кластер и т.д.
В настоящее время наибольшее распространение получилиреляционные базы данных. Картотеками пользовались до появления электронных базданных. Сетевые и иерархические базы данных считаются устаревшими,объектно-ориентированные пока никак не стандартизированы и не получили широкогораспространения. Некоторое возрождение получили иерархические базы данных всвязи с появлением и распространением формата XML.
СУБД — специализированная программа (чаще комплекспрограмм), предназначенная для манипулирования базой данных. Для создания иуправления информационной системой СУБД необходима в той же степени, как дляразработки программы на алгоритмическом языке необходим транслятор.
Основные функции СУБД:
управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти;
журнализация изменений и восстановление базы данных послесбоев;
поддержка языков БД (язык определения данных, языкманипулирования данными).
Обычно современная СУБД содержит следующие компоненты: ядро,которое отвечает за управление данными во внешней и оперативной памяти ижурнализацию, процессор языка базы данных, обеспечивающий оптимизацию запросовна извлечение и изменение данных и создание, как правило, машинно-независимогоисполняемого внутреннего кода, подсистему поддержки времени исполнения, котораяинтерпретирует программы манипуляции данными, создающие пользовательскийинтерфейс с СУБД, а также сервисные программы (внешние утилиты), обеспечивающиеряд дополнительных возможностей по обслуживанию информационной системы.
Классификация СУБД
По типу управляемой базы данных СУБД разделяются на:
Сетевые
Иерархические
Реляционные
Объектно-реляционные
Объектно-ориентированные
По архитектуре организации хранения данных локальные СУБД(все части локальной СУБД размещаются на одном компьютере) распределенные СУБД(части СУБД могут размещаться на двух и более компьютерах)
3. Структура базы данных
3.1 Логическая модель данных
3.1.1 Структура таблиц
Созданная база данных содержит три таблицы, хранящихинформацию о Игроках, Кланах и мировых событий в жизни киберспорта.
Информацию о Игроках содержит таблица «Players», имеющаяследующие атрибуты:
«NickName» — уникальный «Никнэйм» игрока, выступающий вроли первичного ключа таблицы (char 30);
«Clan» — символьный атрибут, содержит клан, в которомсостоит игрок (char 30);
«Game Race» — содержит игровую расу (char 30);
«Full Name» — ФИО (char 100);
«Age» — Возраст игрока (numeric);
«Country» — текущее место проживания (char 50)
«Clans» включает в себя информацию о кланах
«Name» — Сокращенное название клана, используется какприставка к Нику игрока, является первичным ключом (char 30);
«Full Name» — полное название клана (char 255);
«Owner» — ФИО президента клана, в некоторых случаях ФИОменеджера (char 30);
«Players» — Колл-во игроков основного состава клана (numeric);
«Sponsor» — Спонсор клана (char 255)
«Foundation Date» — год основанияклана (numeric)
«Events» содержит информацию об основных событиях в жизниигроков Warcraft3
«Name» — Название события, является первичным ключом(char 20);
«Sponsor»- Компания спонсор события (char 50);
«Prize» — Призовой фонд (money)
«Clan winner» — клан занявший 1 место (char 30)
«Player winner» — игрок занявший 1 место (char 30)
«Date» — дата проведения (date)
3.1.2 Структура хранимой информации
Для обеспечения целостности данных, таблицы связаны междусобой по принципу «один к одному» и «многие к одному» с каскадным обновлениемданных.
Наглядно связь между таблицами изображена на рисунке 1.
/>
Рисунок 1 – Связь между таблицами БД «WC3 CyberSportDataBase»
3.2 Концептуальная модель данных
Концептуальное моделирование – это переход отнеформализованного описания предметной области к ее формальному изложению спомощью специальных языковых средств. На рисунке 2 представлена концептуальнаямодель БД «WC3 CyberSport DataBase».
/>/>/>/>/>/>/>/>/>/>/>/>/>/>3.3 Нормализация отношений
Таблица «Players» — находится в 3 нормальной форме, таккак в ней содержится 1 первичный ключ и не имеет транзитивных зависимостей
Таблица «Clans» — находится в 3 нормальной форме, так какв ней содержится 1 первичный ключ и не имеет транзитивных зависимостей
Таблица «Events» — находится в 3 нормальной форме, таккак в ней содержится 1 первичный ключ и не имеет транзитивных зависимостей
4. SQL-запросы
[All Russia Players]
SELECT *
FROM players
WHERE country=’Russia’
[All unknown players]
SELECT *
FROM players
where [Full name]=’?’ or age=0
[Eldest Players]
SELECT *
FROM players
WHERE age between 20 and 30
[Count by Country]
Select Country, count(Nickname) asPlayers
From players
Group By country
Order by count(Nickname) desc
Group by [место проживания]))
[Domain Country in Clan]
DROP TABLE temp
CREATE TABLE temp
(clan CHAR (15),
players INT ,
country CHAR (60))
INSERT
INTO temp
select Clan, count(Nickname) as Players,Country
From players
Group by Clan, Country
select Clan, max(Players) as Players
From temp
Group by Clan
[Game Race count]
SELECT [Game Race], count([Game Race])as Number
FROM players
Group by [Game Race]
[Champions]
Select Players.Nickname, Players.[fullname], Players.country,
Events.name, Events.prize
From Players, Events
Where Players.nickname=Events.[playerwinner]
[Winners]
SELECT clans.[full name], clans.owner,events.name, events.prize
FROM clans, events
Where clans.name=events.[clan winner]
5. Интерфейс программы
Интерфейс программы состоит из одного окна, содержащегочетыре основные вкладки При запуске программы открывается окно с активнойвкладкой «Players» (рисунок 3).
Здесь содержится список всех игроков
/>
Рисунок 3 — Окно программы
При нажатии на вкладку «Clans» выводится таблица,содержащая список кланов (рисунок 4).
Аналогично, нажав на вкладку «Events», выводится списоквсех событий (рисунок 5).