Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практичні 2012.doc
Скачиваний:
13
Добавлен:
25.11.2019
Размер:
4.16 Mб
Скачать

Практична робота №6 Проектування запитів до баз даних на вибірку даних

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

Теоретичні відомості

Вибір інформації з баз даних можна здійснювати за допомогою мови SQL або QBE. Query-by-Example –– це графічна версія реляційної мови SQL Вона створювалася в сімдесяті роки на фірмі ІВМ під керівництвом (Zluff) Злуфа в 1975 р. Ця мова дістала широке розповсюдження і в даний час реалізована в більшості СКБД.

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

В таблиці є такі рядки:

Поле – у цьому рядку розміщаються назви полів. У випадку обчислювального поля, в клітинці розміщається вираз, який після обчислення стає значенням цього поля. Клітинки, що знаходяться нижче належать до цього поля.

Сортування – визначає спосіб впорядкування записів за відповідним полем.

Виведення на екран – визначає, чи буде поле виводитися на екран.

Умова вибору – вміщує критерії, згідно з якими записи вибираються у динамічний набір даних.

В Microsoft Access за допомогою мови QBE можна реалізувати такі типи запитів на вибірку даних із бази даних.

Запити на вибірку (Select) містять формулювання запиту до бази даних, який визначається як набір критеріїв для вибірки з однієї або декількох таблиць. Такі запити є найбільш поширеними.

Створення запиту на вибірку можна здійснити шляхом натискання кнопки запит у вікні відкриття БД. Далі у відкритому вікні натиснути кнопку Створити (Создать). Створити запит можна власноруч, або за допомогою майстра.

Для того щоб створити новий запит, потрібно у діалоговому вікні Створення запиту (Создание запроса) вибрати мишкою кнопку Новий запит (Новый запрос). Відкриється вікно запит вибірка і з’явиться діалогове вікно Додаавання таблиці (Добавление таблицы). Мишкою виділяється потрібна таблиця і виконується команда Додати.

Після того, як вибрана таблиця буде додана, в нижній частині з’явиться таблиця QBE. В рядок поле таблиці QBE потрібно задати поля, які необхідно отримати в результаті виконання запиту. Нижче буде задаватися назва таблиці, а далі під полем вибираються сортування і умова вибору. Далі за допомогою меню Файл і підменю Зберегти запам’ятовується запит.

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

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

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

В Access можна використовувати наступні групувальні функції.

SUM - обчислення суми значень поля;

AVG - обчислення середнього арифметичного значення поля;

MIN - пошук мінімального значення поля;

MAX - пошук максимального значення поля;

COUNT - підрахунок кількості значень у полі;

StDev - обчислення середньо-квадратичного відхилення для значень поля;

Var - обчислення дисперсії значень поля;

First - вибір значення з першого запису;

Lаst – вибір значення з останнього запису, для встановлення поточного порядку сортування.

Запити з умовами вибору (параметрами). В розглянутих запитах для умов відбору використовувались константи, але замість констант у виразах умов відбору можна використовувати змінні (параметри). Параметри – це довільні текстові рядки в квадратних дужках. Для того, щоб встановити умову вибірки використовуються вирази, в яких можна використовувати операції порівняння, логічні операції, а також службові слова розглянуті в SQL.

Оператори

Значення оператора

Приклад

Значення прикладу

Оператори порівняння

=

Рівність

=Бойчук

Тільки ім’я Бойчук

>

Більше ніж

>5000

<

Менше ніж

<05.04.2003

Менше ніж (більше ніж) 5 квітня 2003

>=

Більше рівне

>=M

Більше або рівно літері M

<=

Менше рівне

<=05.04.2003

Більше або рівно 5 травня 2003 року

<>

Не рівно

<>UA

Не рівно PL

Between

Мід двома значеннями (włącznie)

Between 15 and 25

Число від 15 до 25

In

Список значень

In(UA, GB, USA)

UA, GB, lub USA

Is Null

Поле порожнє

Is Null

Запис, який не має значення в полі

Is Not Null

Поле не є порожнє

Is Not Null

Запис, який має значення в полі

Like

Описує зразок

Like с*

запис починається з букви “с”

Логічні оператори

And

Обидва значення вірні

>=1 And <=10

між1 i 10

Or

Одне із значень вірне

UA or USA

UA або USA

Not

неправда

Not Like ma???

Записи, які не розпочинаються літерами „ma” з трьома іншими знакамиi

Спеціальні знаки

?

Одинарний знак

8?-791

Номер телефону з будь яким другим знаком

*

знаки

(8245)*

Текст, що починається з (8245). Наприклад номер факсу.

[назва поля]

інші поля із запиту

<[TYZN_PLATA]

записи, в яких значення поля є менші від значення в полі „ TYZN_PLATA”