МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра САПР
ЗВІТ
про виконання розрахунково-графічної роботи на тему:
«Комп’ютерні ігри»
Львів 2010
Зміст
Тема ...............................................................................................................2
Мета роботи ...................................................................................................2
Завдання до розрахунково-графічної роботи ..............................................2
Результат виконання ......................................................................................3
Завдання 1 ..................................................................................................3
Завдання 2 ..................................................................................................6
Завдання 3 ..................................................................................................9
Завдання 4 ..................................................................................................14
Завдання 5 ..................................................................................................19
Завдання 6 ..................................................................................................23
Завдання 7 ..................................................................................................27
Даталогічна(фізична)модель БД “компютерні ігри” ...................................31
Концептуальна модель БД “компютерні ігри” ............................................32
Висновок ..........................................................................................................32 Тема:
Розробити базу даних на тему «Комп’ютерні ігри».
Мета роботи:
Метою роботи є здобуття практичних навичок створення бази даних та використання на практиці отриманих знань.
Завдання до розрахунково-графічної роботи:
І.За допомогою Аccess розробити структуру бази даних на тему «Комп’ютерні ігри» так щоб в ній відображались зв’язки усіх типів:
1:1
1:N
N:1
N:M
У результатах виконання лабораторної роботи повинні бути наведені:
Структура БД з вказанням типів зв’язків та їх напрямків.
Скріншоти структури всіх таблиць присутніх в БД в режимі конструктора. Скріншоти створюються при виділеному ключовому полі. Кількість скріншотів до кожної таблиці повинна дорівнювати к-ті ключових полів таблиці.
II. За допомогою Ассess створити і заповнити таблиці до своєї БД. В результатах виконання Розрахунково-графічної роботи роботи навести скріншоти до кожної з таблиць у яких повинні бути розкриті підпорядковані таблиці.
III. За допомогою MS Access створити та продемонструвати роботу запитів 6 різних типів:
1 запит на вибірку.
2 запит на створення таблиці.
3 запит на поновлення.
4 запит на додавання.
5 запит на видалення.
6 SQL запит.
До будь з якої таблиць своєї БД. У результатах виконання розрахунково графічної роботи повинна бути наведена повна умова до кожного запиту. Умова повинна бути складною. Струкутру запиту обов’язково наводити в режимі конструктора. Результат виконання запиту повинен складатись з двох частин:
Що було до виконання запиту.
Що стало після його виконання.
IV.За допомогою MS Access створити та заповнити форми до кожної з існуючих таблиць своєї БД. Запуск форм повинен здійснюватись з головної форми. Серед форм повинна бути хоча б одна форма, яка містить підпорядковану форму. Також повинна бути хоча б одна форма з обчислювальним полем. Також повинні бути кнопки типових команд.
V. За допомогою засобів MS Access створити та відформатувати звіти до кожної з існуючих таблиць або запитів своєї БД, звіти мають бути складними.
VI. За допомогою MS Access створити 2-3 макроси. У звіті навести повний текст завдання, що виконує макрос а також результати його виконання.
VIІ. За допомогою засобів MS Access створити не менше 2-ох складних модулів до своєї БД. У звіті навести повний текст завдання, що виконують модулі, а також результати їх виконання.
Додати інфологічну, датологічну та концептуальну модель БД.
Результати виконання:
Завдання1:
Для максимального опису мені знадобилося 5 таблиць, а саме:
Структура таблиці 1 «Видавник»:
Структура таблиці 2 «Гра»:
Структура таблиці 3 «Додаткова інформація про видавця»:
Структура таблиці 4 «Розробник»:
Структура таблиці 5 «Сайт оцінки ігор»:
Структура таблиці 6 «Розробник»:
Структура розробленої бази даних
Завдання2:
Таблиця 1 «Видавник»:
Таблиця 2 «Гра»:
Таблиця 3 «Додаткова інформація про видавця»:
Таблиця 4 «Розробник»:
Таблиця 5 «Сайт оцінки ігор»:
Таблиця 6 «Оцінка по критеріям»:
Завдання 3:
Для заповнення таблиць я розробив такі форми:
Форма 1 «Редагування БД»:
Форма 2 «Додавання розробника»:
Форма 3 «Додавання видавця»:
Форма 4 «Додавання гри»:
Форма 5 «Редагування видавця»:
Форма 6 «Редагування гри»:
Форма 6 «Редагування розробника»:
Завдання 4:
Для виконання завдання розробив 6 запитів:
Запит на вибірку
Завдання: Для запиту на вибірку я використав дані з 3 таблиць Гра, Оцінка по критеріям, Додаткова інформація про видавця. З цих таблиць вибираються дані, які задовольняють такі умови:
Перша буква назви гри повинна бути “С”.
Платформа гри повинна бути не PSP.
Носій гри DVD.
Оцінка за гемплей 3, 4 або 5.
Оцінка звуку повинна бути не 2.
Дані, які задовільнили ці умови, виводяться на екран, сортування здійснене по зростанню поля Країна.
Результат виконання запиту:
Запит на створення таблиці
Завдання: Використовуючи таблиці Гра, Оцінка по критеріям , Додаткова інформація про видавця зробити вибірку даних, які б задовільняли такі умови:
Країна видавника США або Японія.
Платформа гри повинна бути PC або X360.
Носій гри повинен починатися на літеру “D”.
Оцінка за – не 2 і не 3.
Оцінка звуку повинна бути не 5.
Після того, як дані відібрані створюється таблиця «Нова таблиця» і туди записуються відібрані дані.
Результат виконання запиту створення нової таблиці «Нова таблиця»:
Запит на оновлення
Завдання: Оновити дані тих записів в таблиці Додаткова інформація про видавця, які задовольняють умови:
Країна США або Японія.
Штат працівників повинен бути менший ніж 86 чоловік.
Після відбору записів, які задовольняють задані умови збільшити Штат на +1.
Результат виконання запиту:
Запит на додавання
Завдання: Створити таблицю Гра (архів). Вибрати записи з таблиці Гра і Розробник, які б задовольняли такі умови:
Жанр гри Action.
Носій не CD.
Країна розробника Англія або США.
Сортування відбувається за полем Розробник.
Дані зберегти в уже створеній таблиці Гра (архів) з цією структурою.
Результат виконання запиту зберігається у вже створеній Таблиці Гра (архів):
Запит на видалення
Завдання: Вибрати дані з таблиці Гра за умовами: носій гри повинен бути «DVD», платформа PSP, жанр не Action та вік з якого можна грати гру не 14. Потім ці дані видалити.
Результат виконання запиту - видалення з таблиці Гра записів, які задовольняють цю умову.
Запит SQL
Завдання: За допомогою інструкцій мови SQL вибрати дані, які б задовільняли умови:
Країна має бути США
Платформа не PS3
Носій DVD
Оцінка За гемплей 4 або 5
Оцінка звуку не 3
Результат виконання запиту:
Завдання 5:
Для виконання завдання зробив 6 звітів:
1. Звіт до таблиці Гра
2. Звіт до таблиці Розробник
3. Звіт до таблиці Видавник
4. Звіт до таблиці Додаткова інформація про видавника
5. Звіт до таблиці Оцінка по критеріям
6. Звіт до запиту SQL
Завдання 6:
Для виконання завдання зробив 4 макроса.
Я розробив макрос Макрос 1, який виконує такі дії: виводить різні повідомлення, відкриває запит Запит на вибірку, відкрити таблицю Гра в форматі перегляд, закриває їх, перетворює таблицю Гра в формат Microsoft Exel і зберігає цей фал на жорстокму диску в Моїх документах.
Вигляд макроса в конструкторі:
Результат виконання макросу:
Я розробив два макроса Макрос 2, Макрос 3, з яких Макрос 2 фільтрує дані після нажимання кнопки Примінити фільтр у формі Форма для макросу і відображає у формах тільки ті дані ігри, які задовільняють запит Запит на вибірку. А макрос Макрос 3 при натиснені кнопки показати всі записи відміняє цей фільтр.
Вигляд макросів у конструкторі:
Фільтрація за запитом:
Результат виконання макросу:
До: Після:
Я розробив макрос Макрос 4, який включає пісочний годинник на час виконання макросу, переіменовує таблицю Просто таблиця на Просто перейменував, зберіг таблицю Гра в форматі .html під назвою index, відкрив таблицю Виданик, розвернув її, вивів повідомлення, сигнал, звернув її, закрив і відмінив пісочний годинник.
Вигляд макросів у конструкторі:
Результат виконання макросу:
Завдання 7:
Для виконання завдання зробив 2 модуля.
Я розробив модуль, який в залежності від критерій відображає дані в формі різних кольорах. Якщо задовільняється умова Вік гри менше рівне 12 і Носій гри CD, то текст в формі відображається жовтим кольором на бордовому фоні. Якщо ж Носій DVD, то текст чорний на жовтому фоні. В іншому випадку якщо Вік більше 12 і Носій – CD, то текст відображається оранджевим кольором по червоному фоні. Якщо Носій – DVD, то текст червоний по ораджевому фоні. Теж модуль відображає теперішню дату, час та повідомлення (Дата здачі лаби) в заголовку форми.
Лістинг Модуля 1:
Private Sub Form_Current()
Me.Caption = Format(Now, "dd/mm/yy hh:nn (Дата здачі лаби)")
If Вік <= 12 Then
If Носій = "CD" Then
Me![ID Гри].ForeColor = 65535
Me![ID Гри].BackColor = 900
Me![ID Розробника].ForeColor = 65535
Me![ID Розробника].BackColor = 900
Me![ID Видавця].ForeColor = 65535
Me![ID Видавця].BackColor = 900
Me![ID Оцінки].ForeColor = 65535
Me![ID Оцінки].BackColor = 900
Me![Назва гри].ForeColor = 65535
Me![Назва гри].BackColor = 900
Me![Платформа].ForeColor = 65535
Me![Платформа].BackColor = 900
Me![Дата виходу гри].ForeColor = 65535
Me![Дата виходу гри].BackColor = 900
Me![Жанр].ForeColor = 65535
Me![Жанр].BackColor = 900
Me![Веб сторінка].ForeColor = 65535
Me![Веб сторінка].BackColor = 900
Me![Носій].ForeColor = 65535
Me![Носій].BackColor = 900
Me![Вік].ForeColor = 65535
Me![Вік].BackColor = 900
Else
Me![ID Гри].ForeColor = 0
Me![ID Гри].BackColor = 65535
Me![ID Розробника].ForeColor = 0
Me![ID Розробника].BackColor = 65535
Me![ID Видавця].ForeColor = 0
Me![ID Видавця].BackColor = 65535
Me![ID Оцінки].ForeColor = 0
Me![ID Оцінки].BackColor = 65535
Me![Назва гри].ForeColor = 0
Me![Назва гри].BackColor = 65535
Me![Платформа].ForeColor = 0
Me![Платформа].BackColor = 65535
Me![Дата виходу гри].ForeColor = 0
Me![Дата виходу гри].BackColor = 65535
Me![Жанр].ForeColor = 0
Me![Жанр].BackColor = 65535
Me![Веб сторінка].ForeColor = 0
Me![Веб сторінка].BackColor = 65535
Me![Носій].ForeColor = 0
Me![Носій].BackColor = 65535
Me![Вік].ForeColor = 0
Me![Вік].BackColor = 65535
End If
Else
If Носій = "CD" Then
Me![ID Гри].ForeColor = 34535
Me![ID Гри].BackColor = 200
Me![ID Розробника].ForeColor = 34535
Me![ID Розробника].BackColor = 200
Me![ID Видавця].ForeColor = 34535
Me![ID Видавця].BackColor = 200
Me![ID Оцінки].ForeColor = 34535
Me![ID Оцінки].BackColor = 200
Me![Назва гри].ForeColor = 34535
Me![Назва гри].BackColor = 200
Me![Платформа].ForeColor = 34535
Me![Платформа].BackColor = 200
Me![Дата виходу гри].ForeColor = 34535
Me![Дата виходу гри].BackColor = 200
Me![Жанр].ForeColor = 34535
Me![Жанр].BackColor = 200
Me![Веб сторінка].ForeColor = 34535
Me![Веб сторінка].BackColor = 200
Me![Носій].ForeColor = 34535
Me![Носій].BackColor = 200
Me![Вік].ForeColor = 34535
Me![Вік].BackColor = 200
Else
Me![ID Гри].ForeColor = 700
Me![ID Гри].BackColor = 34535
Me![ID Розробника].ForeColor = 700
Me![ID Розробника].BackColor = 34535
Me![ID Видавця].ForeColor = 700
Me![ID Видавця].BackColor = 34535
Me![ID Оцінки].ForeColor = 700
Me![ID Оцінки].BackColor = 34535
Me![Назва гри].ForeColor = 700
Me![Назва гри].BackColor = 34535
Me![Платформа].ForeColor = 700
Me![Платформа].BackColor = 34535
Me![Дата виходу гри].ForeColor = 700
Me![Дата виходу гри].BackColor = 34535
Me![Жанр].ForeColor = 700
Me![Жанр].BackColor = 34535
Me![Веб сторінка].ForeColor = 700
Me![Веб сторінка].BackColor = 34535
Me![Носій].ForeColor = 700
Me![Носій].BackColor = 34535
Me![Вік].ForeColor = 700
Me![Вік].BackColor = 34535
End If
End If
End Sub
Результат виконання макросу:
Я розробив модуль, після запуску якого відображається повідомлення в яке ми вводимо критерій по Носію вибору ігр і відкривається форма, яка відображає тільки ті ігри, які задовільняють цю умову.
Лістинг модуля 2:
Option Compare Database
Public Function Search()
Dim strCriteria, strInput, strMsg As String
strMsg = "Введіть тип носія гри: "
strInput = InputBox(strMsg)
strCriteriaNosiy = BuildCriteria("Носій", dbText, strInput)
DoCmd.OpenForm "Редагування і видалення гри", aсNormal, , strCriteriaNosiy
Exit_Search: Exit Function
End Function
Результат виконання макросу:
Даталогічна(фізична ) модель БД «комп’ютерні ігри»:
Концептуальна модель БД «комп’ютерні ігри»:
Висновок: При виконанні даної розрахунково-графічної роботи я навчився працювати в середовищі СУБД MS Access. Набув практичних навичок побудови і використання баз даних.