Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра САПР
ЗВІТ
про виконання лабораторної роботи №7
на тему: «Розробка запитів в БД»
з курсу: «Організація баз даних і знань»
Мета
Навчитись створювати і працювати з запитами в БД в СУБД MS Access.
Завдання
Створити запити, використовуючи можливості СУБД MS Access на тему «Комп’ютерні ігри», таких видів:
Запит на вибірку
Запит на створення таблиці
Запит на оновлення
Запит на додавання
Запит на видалення
6. SQL запит
Короткі теоретичні відомості
Можливості та типи запитів
Запит - один з найбільш потужних об(єктів MS Access, який дозволяє ефективно представити інформацію, що містять таблиці, з певними властивостями. В деякому розумінні запит подібний до фільтрів, коли з таблиць будується виборка за певною умовою. Але на відміну від фільтру запит дозволяє отримати більш змістовний результат. Перш за все, це пояснюється тим, що фільтр дає інформацію для перегляду (друку), але, на відміну від запиту автоматично не зберігається, як окремий об(єкт бази даних. Запити, маючи таку властивість, дозволяють динамічно поновлювати інформацію у своїх таблицях, якщо у таблицях бази даних виникла зміна інформації. Крім цього, запит має і зворотню дію: якщо змінювати інформацію у його таблицях, то таблиці бази даних, на базі яких побудований запит, будуть адекватно змінювати свою інформацію.
Створення запитів у середовищі MS Access
Будувати запит необхідно відповідно з постановкою задачі. Одним з найпростіших механізмів є Конструктор. Для того, щоб скористатись цим механізмом, перш за все у вікні побудови бази даних необхідно перейти на закладку Запросы. Через кнопку Создать, будується запит. На цьому кроці можна вибрати декілька способів побудови запиту, в тому числі за допомогою Конструктора. В результаті з(являється вікно, у верхній частині якого необхідно розмістити таблиці, інформація з яких нас цікавить (поступове додавання таблиць здійснюється у вікні Добавление таблиц). У нижній частині необхідно вказати поля запиту, в тому числі ті, що якісно впливають на запит, але значення яких не виводиться. Причому тут можна визначитись і відносно сортування по необхідних полях. Щоб внести інформацію щодо сортування, значення виборки тощо необхідно в нижній частині вікна (тут діє так звана розмітка QBE - це набір текстових вікон, які мають назву комірок, за допомогою яких здійснюється опис запиту) стати на перехрестя відповідного рядка і стовпчика. Після визначення назви запиту, його можна відкрити. В результаті одержується деякий результат у вигляді таблиці. Ця таблиця надалі може використовуватись у будь-яких операціях на рівні із звичайними таблицями.
SQL – запити
SQL(Structured Query Language – структурована мова запитів) – це стандартна мова програмування, яка має свої корені у 70-х роках минулого століття, коли фірма IBM створювала програмне забезпечення для роботи з реляційними базами даних. Сьогодні існує міжнародний стандарт мови SQL, якого дотримуються розробники програмного забезпечення з оборобки реляційних баз даних. У MS Access вбудовано деякий діалект мови SQL, який використовується в таких діях, як побудова запитів на виборку, підсумуовючих запитів, перехрестних запитів, запитів на побудову таблиць, запитів на оновлення, додавання або видалення записів таблиці. Мову SQL MS Access використовує при роботі з базою даних, в тому числі неявно, коли користувач діє в рамках звичайного запиту – кожний запит, незалежно від того, як він створювався, зберігається у вигляді інструкції SQL. Необхідність використання мови SQL виникає в різних випадках. Наприклад, коли є необхідність побудувати так званий підлеглий запит, результати якого використовуються в якості умов в інших запитах. Синтаксис діалекту MS SQL необхідно знати, щоб безпосередньо на цій мові виконувати ті чи інші SQL–запити. Для початку цікаво познайомитись, як в термінах SQL зберігається будь-який запит. Для цього необхідно лише скористатись дією меню MS Access Вид - Режим SQL, коли стає активним той чи інший запит.
Ядром мови SQL є інструкція SELECT, яка використовується для відбору полів і записів таблиць бази даних. Синтаксис інструкції SELECT використовує п(ять основних речень і його можна представити в наступному вигляді:
SELECT <список полів>
FROM <список таблиць>
[WHERE <специфікація вибору записів>]
[GROUP BY <специфікація групування>]
[HAVING <специфікація вибору груп>]
[ORDER BY <специфікація сортування>]
Тут речення FROM визначає таблиці або запити, які є джерелом даних для запиту, що створюється. Речення WHERE та HAVING визначають умови відбору записів і груп записів відповідно. Речення GROUP BY визначає поле (поля) для подальшого формування запиту відносно груп даних з однаковими значеннями цого поля (полів). Речення ORDER BY визначає сортування записів. Крім цих речень в кожному діалекті мови SQL можуть зустрітись інші речення стандарту SQL. У MS Access реалізовані чотири з них:
TRANSFORM – для побудови перехресного запиту;
IN – для зв(язку з віддаленою базою даних;
DISTINCTROW – для відбору унікальних записів;
WITH OWNERACCESS OPTION – для побудови запиту користувачами, що не мають прав доступа до відповідних таблиць цого запиту.
Приклад запиту з пов(язаних між собою таблиць Особи, Освіта щодо освіти жінок з сортуванням за прізвищем записів, які містять поля Прізвище, Освіта:
SELECT Особи.Прізвище, Освіта.Освіта
FROM Особи INNER JOIN Освіта
ON Особи.КодОсвіти = Освіта.КодОсвіти
WHERE (((Особи.Стать)="Ж"))
ORDER BY Особи.Прізвище;
Для формування списків та специфікацій інструкції SELECT використовуються вирази, що визначають деяке значення. Синтаксис виразів передбачає структуру, що базується на константах того чи іншого типу, фунціях та виразах. Вирази, функції і константи з(єднуються між собою операторами: арифметичними – для побудови виразу з операндів числового типу (+, -, *, /, \, ^, MOD), логічними – для побудови виразу з операндів логічного типу (AND, OR, NOT) і операндів числового типу (=, >, >=, <=, <, <>), текстовими – для побудови виразу з операндів текстового типу (&).
Хід роботи
Для виконання завдання розробив 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
Результат виконання запиту:
Висновки
На цій лабораторній роботі я навчився розробляти запити та ознайомився з використанням усіх типів запитів.