Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
584 Кб
Скачать
☆

4.2.2. Інформаційно–пошукові запити

Наведемо приклади інформаційно пошукових запитів відносно тих задач, які були окреслені в підрозділі «2.4. Інформаційно-довідкові задачі». Приклади наведемо у мові SQL Oracle з використанням бази даних, визначеної у попередньому підрозділі.

4.2.2.1. Інформаційні запити, що пов’язані з лідерами

Запит 1. Вивести інформацію о ігрках які лідирують на картах

select m.name, p.nickname, t.name,

from maps m, players p, teams t, maps_leader_players mpl

where mpl.map_id = m.id

and mpl.player_id = p.id

and p.team = t.id

group by t.name;

Запит 2. Вивести назви карт на яких відіграла команда.

select m.name, t.name

from maps m, game_maps gm, games g, games_references gr, team t

where t.id = gr.team

and g.id = gr.game

and g.id = gm.game_id

and gm.map_id = m.id;

and t.name = "команда";

Запит 3. Вивести команди які являються лідерами в списків команд, а також їхні бали

select m.name t.name, mlp.score

from team t, games_references gr, games g, maps_leader_players mlp,maps m,players p

where p.team = t.id

and mlp.player = p.id

and m.id = mlp.map_id

and mlp.score = (select max(score) from maps_leader_players)

sort by mlp.score desc;

4.2.2.2. Інформація о техніки та класи

Запит 1. Скільки машин знаходяться в ігрі.

select v.name, v.attack, v.armor, v.speed, g.game

from vehicle v, game_vehicles gv, games g

where g.id = gv.game_id

and gv.vehicle_id = v.id

group by v.name;

Запит 2. Скільки класі співпадають деяких ігор.

elect c.name from classes c, game_classes gc, games g

where g.id = gc.game_id

and class_id = c.id

and 1 > (select count(unique gc1.class_id) from game_classes gc1, classes cl

where cl.id = gc1.class_id

and cl.name = c.name)

group by c.name;

Запит 3. Скільки зброї знаходиться в грі.

select w.name, w.attack, w.attack_speed, w.mag_rounds, all_rounds, g.game

from weapons w, game_weapons gw, games g

where g.id = gw.game_id

and gw.weapons_id = w.id

group by w.name;

4.2.2.3. Інформація про переможців

Запит 1. Хто кто зайняв перші місця середи лідерів класів та іх рахунок .

select m.name, p.nickname, t.name,

from class c, players p, teams t, class_leader_players cpl

where cpl.clas_id = c.id

and cpl.player_id = p.id

and p.team = t.id

and сlp.score = (select max(score) from class_leader_players)

group by t.name;

Запит 2. Які учасники з команди заняли перші місця

select n.name from GAMES_REFERENCES

where n.name = t.id

and nickmame = l.login

and g.id = gr.game

and g.id = gm.game_id

and t.name = "команда";

Запит 3. Вивести команд які займають перші місця на техніці.

select v.name t.name, vlp.score

from team t, games_references gr, games g, vehicles_leader_players vlp, vehicles v,players p

where p.team = t.id

and vlp.player = p.id

and v.id = mlp.map_id

and vlp.score = (select max(score) from vehicles_leader_players)

sort by vlp.score desc;

Висновки

Проектування баз даних — це складний, багатокроковий процес перетворення інформаційного середовища ПО у інформаційну модель у вигляді бази даних. Цей процес складається з різних етапів, а саме: розробка стратегії автоматизації, аналіз ПО, побудова концептуальної моделі ПО, логічне та фізичне проектування БД. На сучасному етапі розвитку інформатики проектування баз даних перетворилося на цілком сформовану наукову дісціпліну, яка має у своєму складі формально-теоретичну та технологічну складові. Теоретичної основою проектування баз даних є теорія нормалізації, яка дозволяє чітко і строго відповісти на таке запитання: як слід проводити перетворення початкової схеми ПО таким чином, щоб результуюча схема бази даних була еквівалентна початковій і була краща за неї. Методологія проектування детально описує усі етапи життєвого циклу створення бази даних з використанням сучасних мов опису ПО.

Ціллю курсової роботи було проектування бази даних проведення чемпіонату комп’ютерних ігор в жанрі»Shooter».

Для виконання курсової роботи були проведені всі необхідні дослідження, що стосуються розробки стратегії автоматизації, в результаті яких була надана відповідь на принципові запитання, що стосуються автоматизації любої предметної області.

Після цього був проведений аналіз ПО в результаті якого був отриманий змістовний опис ПО. Для аналізу ПО використовувалися наявні документи, а саме:документи про журі, списки про учасників які приймають участь в чемпіонаті та ігри по яким проводиться чемпіонат. Крім того, були отримані консультації провідних компаній які створювали ігри.

Після цього була побудована концептуальна модель. Для цього була використана мова ER-опису ПО, яка базується на концепції, що інформаційна модель будь-якої ПО може бути описана із застосування таких понять, Як сутність, атрибут, зв’язок. Крім того, ця мова є суттєво графічною, що дає можливість наочно представляти концептуальну модель ПО. При побудові концептуальної моделі неявно використовувалися результати теорії нормалізації, у зв’язку з цим побудована модель представлена у третій нормальній формі. Необхідності використання більш високих нормальних форм не було, так як у предметній області не були виявлені складні види транзитивних функціональних залежностей, а також багатозначні залежності.

Логічне та фізичне проектування БД складалося з конвертації концептуальної моделі ПО у реляційну модель даних. При цьому був використаний алгоритм конвертування схеми ПО у мові ER в схему реляційної бази даних. Після цього реляційна база даних була представлена у вигляді команд створення таблиць бази даних у мові SQL ORACLE. Крім того, у мові SQL описані деякі інформаційно-пошукові запити.

Виконана курсова робота надала мені можливості ознайомитися з технологією проектування баз даних, та отримати практичний досвід у проектуванні бази даних з конкретної предметної області.

2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]