Додаток 1

Форми

Запити

Введення та редагування даних

 

Після створення структури таблиць і встановлення зв’язків між ними можна вводити дані, виконавши команди Открыть в режимі Таблицы.

Увага! Дані спочатку потрібно заносити в таблиці, в яких є первинні ключі, а потім в решту таблиць.

Для того, щоб в поле ввести інформацію, досить помістити курсор у відповідну комірку і ввести з клавіатури потрібні символи. В кінці натиснути клавішу [Tab] або [Enter].

Поле типу „Счетчик” заповнюється автоматично і його значення змінити неможливо.

Поля, яким задана властивість „Необязательное поле” можна залишити порожнім.

Увага! На відміну від БД, створених на EП Excel, кожний введений запис після переходу на наступний автоматично зберігається безпосередньо у БД.

Розрізняють два види редагування:

· редагування наповнення таблиці;

· редагування її структури.

Для редагування даних потрібно активізувати відповідний запис. Під час редагування запису зліва від нього з’являється зображення олівця, який вказує на те, що запис редагується. Технологія редагування запису аналогічна прийомам редагування в додатках Word та Excel.

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

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

Таким чином, реалізацію перших трьох етапів створення БД на базі СУБД Access можна представити структурною схемою, зображену на рисунку 23.

 

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

Запити за своїм призначенням та результатами відбору поділяються на:

· запити на вибірку;

· параметричні;

· перехресні;

· запити на змінювання (доповнення, знищення, оновлення, створення нової таблиці).

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


 

Таблиця 1
STUDENTI
№ залікової книжки ПІП шифр групи стипендія
БІ-050114 Конограй А.Ф. БІ-501
БО-007305 Голуб О.В. БО-73
БОК-007803 Вишемірський С.С. БОК-78
БОК-007804 Врана Т.В. БОК-78
БОК-007825 Шукало А.П. БОК-78
ЕК-003510 Демчук О.П. ЕК-35
ЕК-003516 Затяміна О.С. ЕК-35
М-004213 Кованда Н.М. М-42
М-004220 Моренко Ю.Г. М-42
М-004230 Яковлева О.О. М-42
ПЛ-004401 Бараннік С.В. ПЛ-44
У-002210 Козачинська М.І. У-22
У-002214 Овечко О.О. У-22
У-002215 Оніщенко Т.В. У-22
У-002228 Філь Ю.О. У-22
У-006202 Бабенко О.О. У-62
У-006216 Стеблина А.В. У-62
Ф-009117 Лобанова А.О. Ф-91
Ф-009119 Милосердна Г.О. Ф-91
ФК-008520 Третяк О.М. ФК-85
ФК-008531 Шевченко Ю.Т. ФК-85

 

Таблиця 2
DISCIPLINI
№ дисципліни назва дисципліни
Історія
РПС
Вища математика
Релігієзнавство
Інформатика
Політекономія
Фізкультура
Філософія
Етика
Естетика
Макроекономіка
Соціологія
Культурологія
Теоретична механіка
Іноземна мова

 

Таблиця 3

GRUPI
шифр групи назва факультету курс
БІ-501 ФЕТ
БО-73 ФЕФ
БОК-78 ФЕФ
ЕК-35 БФ
М-42 ФЕУ
ПЛ-44 ЛФ
У-22 ФЕУ
У-62 ФЕУ
Ф-91 ФЕФ
ФК-85 ФЕФ

 

Таблиця 4

OZINKI
№ залікової книжки дата № дисципліни отримана оцінка
БІ-050114 12.12.2007
БІ-050114 18.10.2007
БО-007305 30.11.2007
БО-007305 14.12.2007
БОК-007804 20.11.2007
БОК-007825 25.10.2007
БОК-007825 16.11.2007
ЕК-003510 28.11.2007
ЕК-003510 28.11.2007
ЕК-003516 26.12.2007
ЕК-003516 12.10.2007
М-004213 10.11.2007
М-004213 15.12.2007
М-004220 31.12.2007
ПЛ-004401 24.12.2007
ПЛ-004401 04.09.2007
ПЛ-004401 13.10.2007
У-002214 30.10.2007
У-002214 25.12.2007
У-002214 26.12.2007
У-002215 14.10.2007
У-002215 19.10.2007
У-002215 20.10.2007
У-002215 21.10.2007
У-002228 12.11.2007
У-006202 25.12.2007
У-006202 20.10.2007
У-006216 13.11.2007
У-006216 16.12.2007
Ф-009119 20.12.2007
Ф-009119 03.11.2007
ФК-008520 30.11.2007
ФК-008531 29.12.2007
ФК-008531 24.11.2007
ФК-008531 12.12.2007

Рисунок 22 – БД „Університет”

 

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

Різновидами запитів на вибірку є параметричні та перехресні запити.

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

Запити в Accessможна створювати в формі QBE(Query By Example – запит по зразку), параметри яких задаються в вікні конструктора запитів, та в формі SQL (Structured Query Language – структурована мова запитів), інструкції яких записуються у вікно SQL. В СУБД Access досить легко перейти з одного вікна в інше або в вікно таблиць за допомогою кнопки Вид.


Рисунок 23 – Етапи створення БД


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

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

Після збереження запиту на вкладці Запросы вікна бази даних з’явиться його піктограма.

 

3.7.1 Створення QBE – запиту на вибірку

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

Для створення запиту можна також скористатися кнопкою Создатьпанелі інструментів вікна бази даних. Після натискання кнопки з’явиться діалогове вікно „Новый запрос”,у якому можна вибрати один із можливих варіантів створення запитів (рисунок 24):

 

Рисунок 24 – Вибір способу створення запиту

 

· Конструктор - створення запиту засобами конструктора;

· Простой запрос - створення за допомогою майстра шляхом вибору потрібних полів таблиць чи інших запитів;

· Перекрестный запрос - створення перехресного запиту за допомогою майстра;

· Повторяющиеся записи - створення запиту, який дозволяє вибирати записи з таблиці або іншого запиту, які повторюються;

· Записи без подчиненных - створення запиту, який вибирає з таблиці записи, які не зв’язані з записами іншої таблиці.

Найбільш універсальним і найчастіше використовуваним серед них є варіант Конструктора. Виберемо його. На екрані з’являється два вікна: „Вікно конструктора запитів Запрос1: запрос на выборку” та „вікно Добавление таблицы”, яке містить три вкладки – „Таблицы”, „Запроси”, „Таблицы и запросы„ (рисунок 25).

 

Рисунок 25 – Вікно конструктора та діалогове вікно „Добавление таблицы”

 

У вікні „Добавление таблицы” на відповідних вкладках знаходиться перелік наявних об’єктів бази даних. Для вибору таблиць та запитів, на основі полів яких створюватиметься запит, потрібно виділяти об’єкти курсором миші та кнопкою Добавить, попереносити структуру об’єктів у вікно конструктора. В кінці натиснути кнопку Закрыть.

Наступним етапом створення запиту є заповнення бланку конструктора запиту (рисунок 26). У перший рядок бланку (Поле)розміщують назви полів, які братимуть участь у відборі та аналізі даних. Це робиться або подвійним клацанням по імені поля в верхній панелі вікна або методом буксування. При цьому у наступному рядку (Имя таблицы) автоматично розміститься назва таблиці, з якої взяте дане поле. Третій рядок бланку запиту (Сортировка)дозволяє задати параметр сортування даних поля результуючої таблиці запиту в бік збільшення або зменшення параметра.Оскільки сортування можна здійснювати одночасно по декількох полях, то, встановлення параметрів сортування можливе для кожного поляу запиті.

 

Рисунок 26 – Вікно конструктора запиту

 

У рядок бланку Вывод на экранпісля включення поля таблиці у бланк запиту встановлюється значок , який означає, що дане поле виводитиметься у таблицю з вибраними записами. Для того, щоб поле в запиті зробити невидимим, потрібно зняти „галочку” з прапорця.

Наступні рядки бланку запиту (Условие отбората или)призначені для фільтрації даних, що будуть заноситься в таблицю запиту. Сюди вводять умови, на основі яких здійснюватиметься відбір даних.

В рядку „Условие отбора” можуть бути застосовані операції порівняння (<, <=, >, >=, =, <>), логічні операції AND, OR та NOT, а також оператори IN(<список>), BETWEEN<діапазон>, LIKE<шаблон>.

Оператор IN вибирає в кортеж запиту лише ті значення, що відповідають параметру оператора. Наприклад, умова IN(„Київ”, „Черкаси”) вибирає із адресної книги лише адреси цих міст.

Оператор BETWEEN задає діапазон значень, що підлягають вибірці. Наприклад, умова BETWEEN 300 AND 310 дасть можливість вибрати лише тих студентів, які мають стипендію від 300 до 310 грн.

Оператор LIKE застосовується лише для даних типу text. Відбираються дані, що відповідають створеному шаблону (в шаблоні застосовуються : * – будь-яка кількість символів; ? – будь-який один символ). Наприклад, якщо в полі прізвищ стоїть умова LIKE К*, то будуть вибрані дані тих студентів, прізвище яких починається на літеру К.

Якщо в „Условии отбора” розмістити оператор LIKE[Введіть назву...], будемо мати запит з параметром. При запуску цього запиту відкривається вікно, в яке потрібно ввести параметр фільтрації даних. Наприклад, при роботі з адресною книгою в параметр : „Введіть назву міста” ввести Київ, то будуть вибрані лише київські адреси.

Якщо при створенні запиту натиснути кнопку , в бланку конструктора з’являється новий рядок Групповая операция, в якому для вибраного поля можна ввести одну із агрегатних функцій:

SUM – сумування значень даного поля, які вибрані в запит;

AVG – визначення середнього значення записів поля запиту;

MAX (MIN) – вибірка найбільшого (найменшого) в записах поля;

COUNT – підрахунок кількості записів запиту в даному полі;

FIRST (LAST) – вибирається перше (останнє) значення даного поля, відібране запитом.

В одному запиті можна задати одночасно декілька агрегатних функцій, наприклад:

В запиті можуть бути поля створені по даним різних аргументів таблиць БД. Такі поля називаються розрахунковими. Вони мають вигляд:

, де <підпис> – це ім’я поля, яке буде розміщене в шапці запиту; <вираз> - формула, в яку операндами входять ідентифікатори полів таблиць та запитів БД.

Наприклад:

.

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

 

Рисунок 27 – Діалогове вікно „Построитель выражений”

 

Розглянемо створення декількох QBE – запитів для БД „Університет”.

1. Знайти шифри груп будівельного факультету.

2. Вибирати лише тих студентів, які стипендію 300 та 305 грн.

 

3. Підрахувати витрати на виплату стипендій по групам університету.

 

3.7.2 Створення SQL – запиту на вибірку

Відкрити вікно SQL- запиту можна із режиму ЗапросÞКонструкторта:

· розкрити список кнопки панелі інструментів Вид і вибрати Режим SQL;

· в контекстного меню вибрати Режим SQL;

· в меню Вид вибрати Режим SQL.

В вікно, що відкривається потрібно занести SQL – інструкцію, яка вказує СУБД, що потрібно зробити з даними БД, щоб одержати очікувану таблицю запиту. Структура інструкції повинна вводитися в відповідності з такими правилами синтаксису:

· параметри інструкції на вибірку повинні записуватись в такій послідовності:

SELECT <список полів запиту> [AS<псевдонім>]

FROM <список таблиць>

[WHERE<критерій фільтрації даних>]

[GROUP BY<список полів групування>]

[HAVING <критерії пошуку агрегатних даних>]

[ORDER BY<список полів сортування>];

· ідентифікатори полів розділяються комами;

· ідентифікатори, які мають розділовий знак (пропуск, дефіс тощо) потрібно брати в квадратні дужки;

· якщо в різних таблицях є ідентифікатори, що повторюються, потрібно писати повну специфікацію поля (ім’я таблиці.ідентифікатор);

· в кінці інструкції потрібно ставити розділовий знак „крапка з комою” (;);

· якщо сортування ведеться в бік зменшення значень поля, в параметрі ORDER BY потрібно задавати ключове слово DESC;

· вибірку всіх полів таблиці позначають символом *;

· якщо вибране поле БД потрібно позначити іншим підписом, в параметрі SELECT ці імена з’єднуються службовим словом AS;

· службові слова SQL- інструкції можна писати як великими так і малими літерами латині;

· вважається, що інструкція SQL- запиту записується в один рядок; для продовження її на іншому рядку потрібно виконати команду [Ctrl+Enter].

Розглянемо ряд прикладів побудови та виконання SQL- запитів на вибірку:

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

SELECT *

FROM STUDENTI;

 

2. Знайти шифри груп будівельного факультету.

SELECT shifr_grypi

FROM GRUPI

WHERE nazva_fakultetu=’БФ’;

 

3. Вибрати усіх студентів університету, що отримують стипендію 250 грн.

SELECT *

FROM STUDENTI

WHERE stipendiya=250;

 

4. Роздрукувати всі групи факультету ФЕФ першого та другого курсів.

STUDENTI *

FROM GRUPI

WHERE nazva_fakultetu=’ФЕФ’ AND kurs<3;

 

5. Вибрати дані усіх груп 1 та 2 курсу за виключенням БФ.

STUDENTI *

FROM GRUPI

WHERE nazva_fakultetu=’БФ’ AND kurs<3;

 

6. Вибирати лише тих студентів, які стипендію 300 та 305 грн.

SELECT *

FROM STUDENTI

WHERE stipendiya IN(300, 305);

 

7. Вибрати студентів, які одержують стипендію від 250 до 300 грн. включно.

SELECT *

FROM STUDENTI

WHERE stipendiya BETWEEN 250 AND 300;

 

8. Приведемо ще один приклад. Створимо запит по витратам на виплату стипендій по групам університету.

SELECT GRUPI.shifr_grypi, SUM(STUDENTI.stipendiya) AS [Сума]

FROM GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi

GROUP BY GRUPI.shifr_grypi;

В цій інструкції параметр

<Таблиця1> INNER JOIN <Таблиця2> ON<поле1>=<поле2>вказує зв’язки між таблицями БД. В даному прикладі застосовано агрегатну функцію для знаходження суми

9. Необхідно вибрати студентів групи У-62, що здали вчасно зимову сесію 2007 року.

SELECT STUDENTI.PIP, AVG(OZINKI.ocinka) as [Середня оцінка]

FROM (GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi) INNER JOIN OZINKI ON STUDENTI.N_zalikovki = OZINKI.N_zalikovki

WHERE GRUPI.shifr_grypi="У-62" AND OZINKI.data BETWEEN #09/01/2007# AND #02/07/2008#

GROUP BY STUDENTI.PIP

HAVING AVG(OZINKI.ocinka)>=3;

 

10. Наступний приклад демонструє застосування в інструкції функції LIKE:

SELECT STUDENTI.N_zalikovki, STUDENTI.PIP, STUDENTI.stipendiya

FROM GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi

WHERE GRUPI.shifr_grypi="М-42" AND STUDENTI.PIP LIKE "К*";

Тут вибираються із групи М-42 всі студенти, прізвище яких починається на літеру „К”.

 

 

3.7.3 Запити на зміну БД

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

· запити на створення нових таблиць в БД, на основі даних, що зберігаються в основних її таблицях;

· запити на оновлення записів в таблицях БД;

· запити на додавання нових записів;

· запити на вилучення із БД непотрібних записів.

Всі ці запити в СУБД Access можна створити, як в режимі QBE, так і на мові SQL.

Розглянемо створення кожного типу таких запитів.

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

· відкрити список кнопки Вид запроса;

· вибрати режим “Создание таблицы”;

· в вікно, що відкривається, потрібно ввести назву нової таблиці, яка буде мати структуру, щойно створеного запиту;

· закрити бланк створення запиту, задавши йому ім’я, в робочому полі вікна “Запросы” з’явиться піктограма створеного запиту .

Якщо запустити такий запит на виконання, в діалоговому вікні, що відкривається, буде повідомлено скільки кортежів буде в новій таблиці, а її піктограма з’явиться на робочому полі “Таблицы”.

З добавленою таблицею можна поводитися так, як і з основними, але її наповнення буде змінюватися лише після запуску запиту, який її створив. Тому після внесення змін в таблиці БД запит на створення додаткової таблиці потрібно перезапускати, щоб її дані відповідали даним таблиць БД. На рисунку 28 показаний результат створення таблиці „Додаткова таблиця”.

 

Рисунок 28 – Створення додаткової таблиці

 

Аналог такого запиту на мові SQL має вигляд:

SELECT DISCIPLINI.N_disciplini AS [Номер дисципліни], AVG(OZINKI.ocinka) AS [Середній бал] INTO [Додаткова таблиця]

FROM DISCIPLINI INNER JOIN OZINKI ON DISCIPLINI.N_disciplini=OZINKI.N_disciplini

GROUP BY DISCIPLINI.N_disciplini;

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

· відкрити запит в режимі Конструктор;

· в списку кнопки Тип запроса вибрати режим ; в бланку запиту зникнуть рядки “Сортировка” та “Вывод на экран”; замість них з’явиться рядок “Обновление”;

· в бланк запиту ввести лише ті поля БД, в яких потрібно змінити дані;

· в рядок “Обновление” ввести вираз, який дасть можливість змінити дані цього поля;

· дописати цей запит в перелік раніше створених запитів і запустити його на виконання.

На рисунку 29 показано запит “Нова стипендія”, який збільшує стипендії для усіх студентів на 25%.

 

Рисунок 29 – Створення запиту на оновлення

На мові SQL такі запити реалізуються структурою:

UPDATE таблиці БД

SET [ім’я поля = значення поля]

WHERE [умова відбору];

Примітка:

1. Може бути вказано кілька полів та їх значень через кому. Значенням поля може бути текст, число, математичний вираз, функція чи Select-оператор, який повертає одне значення.

2. Умова відбору рядків записується по тим же правилам, що і в операторі Select.

Приклади:

1. Збільшити стипендію на 25% у всіх студентів:

UPDATE STUDENTI

SET stipendiya= stipendiya*1,25;

 

2. Замінити всі 4, поставлені 1 жовтня 2007 року, на 5:

UPDATE OZINKI

SET ocinka=5

WHERE ocinka=4 AND data=#10/01/07#;

 

3. Замінити прізвище Голуб О.В. на Іванова І.І.:

UPDATE STUDENTI

SET PIP = ‘Іванов І.І.’

WHERE PIP = ‘Голуб О.В.’;

 

4. Студенти перездали іспит по дисципліні “Інформатика” з 2 на 4. потрібно це відобразити в БД:

UPDATE DISCIPLINI INNER JOIN OZINKI ON DISCIPLINI.N_disciplini = OZINKI.N_disciplini

SET OZINKI.ocinka=4

WHERE OZINKI.ocinka AND DISCIPLINI.nazva=’Інформатика’;

 

Додавання нових записів. Цей запит додає групу записів в кінець однієї або декількох таблиць. Таке доповнення можна здійснити також і з іншої БД.

Дописування нового кортежу в будь-яку таблицю являються тривіальним в режимі ТаблицаÞОткрыть або за допомогою відповідної форми. Також це можна здійснити, написавши інструкцію на мові SQL за шаблоном:

INSERT INTO таблиця БД ([перелік полів таблиці])

VALUES (значення полів таблиці у відповідності зі структурою таблиці);

“Перелік полів таблиці”, взяті в квадратні дужки означають їх необов’язковість.

Приклади:

1. Додати нового студента в таблицю STUDENTI:

INSERT INTO STUDENTI

VALUES (‘У-004142’, ‘Іванов І.І.’, 13, 320);

 

2. Для студента з №2 додати 3 з дисципліни №8 за 31 жовтня 2006 року:

INSERT INTO OZINKI

VALUES (‘БО-007305’, #10/31/06#, 8, 3);

 

3. Додати в таблицю DISCIPLINI дисципліну “Дизайн” під №12:

INSERT INTO DISCIPLINI

VALUES (12, ‘Дизайн’);

 

Інша справа, коли до таблиці БД потрібно дописати масив даних з іншої таблиці.

Для відбору записів, що додаються, потрібно створити запит на вибірку, потім виконати цей запит і оцінити результат, переключившись в режим таблиці. Якщо ця таблиця задовольняє поставлену задачу, повертаємось в режим конструктора і активізуємо команду ЗапросÞДобавление . У вікні, що відкривається, необхідно в рядку “Имя таблицы” вказати назву таблиці, до якої треба додавати дані із таблиці запиту. Закриття цього вікна приводить до появи в бланку запита рядка “Добавление”. В цей рядок автоматично (або вручну) встановлюються назви полів цільової таблиці, які співпадають з іменами полів запиту. Далі потрібно виконати запит, натиснувши кнопку на панелі інструментів. Access повідомить скільки записів буде добавлено до цільової таблиці і запросить підтвердження такого виконання. Останній режим технології зображений на рисунку 30.

 

Рисунок 30 – Реалізація запиту на додавання

 

На мові SQL інструкція такого запиту має структуру:

INSERT INTO таблиця БД ([перелік полів таблиці])

Select [таблиця і поля, з якої відбираються дані];

В операторі SELECT потрібно вказати перелік полів, які будуть записані до таблиці.

Приклади:

1. Додати для кожного студента оцінку 4 по дисципліні №8 за 10 грудня 2006 року:

INSERT INTO OZINKI (N_zalikovki, data, N_disciplini, ocinka)

SELECT N_zalikovki, #12/10/06#, 8, 4

FROM STUDENTI;

2. Для всіх студентів додати оцінку 5 по дисципліні №3:

INSERT INTO OZINKI (N_zalikovki, N_disciplini, ocinka)

SELECT N_zalikovki, 3, 5

FROM STUDENTI;

 

3. Додати студента Іванова І.І., якщо він навчається в групі БО – 10 і не отримує стипендію:

INSERT INTO STUDENTI (N_zalikovki, PIP, shifr_grypi, stipendiya)

SELECT ‘БО-35’, ‘Іванов І.І’, shifr_grypi, 0

FROM GRUPI

WHERE shifr_grypi=’БО-10’;

 

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

В першу чергу потрібно створити запит на вибірку даних, що будуть вилучатися, переглянути його, щоб впевнитися в правильності критеріїв вибірки (рядок “Условие отбора”). Після цього активізувати команду . Далі можна виконати запит командою (рисунок 31). В діалоговому вікні, що з’явиться, буде повідомлено скільки записів буде видалено в таблиці та вимога на підтвердження вилучення.

 

Рисунок 31 – Створення запиту на вилучення

 

На мові SQL такі запити виконуються інструкцією такого вигляду:

DELETE *

FROM таблиці БД

WHERE [умова вилучення];

Приклади:

1. Вилучити студентів, у яких код групи “ЕК -35”:

DELETE *

FROM STUDENTI

WHERE shifr_grypi=’ЕК-35’;

 

2. Вилучити із БД оцінки поставлені до 25 вересня 2007 року:

DELETE *

FROM OZINKI

WHERE data<#09/25/07#;

 

3. Вилучити з таблиці OZINKI всі 5, поставлені 20 березня 2007 року:

DELETE *

FROM OZINKI

WHERE ocinka=5 AND data=#03/20/07#;

 

4. Вилучити всіх студентів з таблиці STUDENTI, які навчаються в групі У-22:

DELETE *

FROM GRUPI INNER JOIN STUDENTI ON GRUPI.shifr_grypi = STUDENTI.shifr_grypi

WHERE GRUPI.shifr_grypi="У-22";

 

5. Вилучити дані про оцінки, поставлені до 25 травня 2007року по дисципліні “Фізика”:

DELETE *

FROM DISCIPLINI INNER JOIN OZINKI ON DISCIPLINI.N_disciplini = OZINKI.N_disciplini

WHERE OZINKI.data<=#05/25/07# AND DISCIPLINI.nazva=’Фізика’;

 

6. Вилучити з таблиці GRUPI всі групи 5 курсу Будівельного факультету:

DELETE *

FROM GRUPI

WHERE kurs=5 AND nazva_fakultetu=’Будівельний факультет’;

 

 

Як було сказано раніше, інформацію в бази даних можна вводити та переглядати як за допомогою таблиць, так і за допомогою спеціальних об’єктів – форм.

Форма – це інструмент, який дозволяє зручно відобразити дані, для заповнення та редагування вмісту таблиць БД. Є як мінімум, чотири такі причини, що роблять послугу форм незамінними:

1. малокваліфікованому персоналу не можна надавати доступ до БД (уявіть собі, що буде, якщо новачок наведе порядок в таблицях БД якогось банку, де зберігаються рахунки клієнтів);

2. різні співробітники можуть мати різні права доступу до інформації (один вводить лише коди та імена клієнтів банку, а інший по цим кодам вводить грошові дані);

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

4. як правило, дані для БД беруться з бланків (анкет, накладних, рахунків, лікарняних листків тощо); екранні форми можна зробити точною копією документів, з яких вводиться інформація, що приведе до зменшення помилок при введенні.

Створення форми здійснюється після завантаження БД. Для цього потрібно перейти в режим ФормыÞСоздать. В діалоговому вікні „Новая форма”з’явиться перелік можливостей створення форм (рисунок 32).

Найлегший спосіб створення форм – автоформи (в стовпчик, стрічкова, таблична). Просто потрібно вибрати її типи, задати ім’я таблиці чи запиту, для яких створюється форма і натиснути кнопку ОК. В результаті одержимо об’єкт, як на рисунку 33.

 

 

Рисунок 32 – Способи створення форм     Рисунок 33 – Автоформа для таблиці STUDENTI

В нижній частині форми маємо стандартні для усіх форм кнопки, що

– висвічують наступний кортеж таблиці;

– висвічують останній кортеж таблиці;

– висвічують перший кортеж таблиці;

– висвічують попередній кортеж таблиці;

– підготовлюють форму до дописування в таблицю нового кортежу.

Автоформи можна в подальшому ускладнити та відредагувати в режимі конструктора.

Запам’ятовування форми в БД здійснюється по технології запам’ятовування таблиць та запитів.

Досить простим є метод створення форм з допомогою Мастера форм. Майстер форм дозволяє вибрати окремі поля для форми, а також вибрати макет та зовнішній вигляд форми. Технологію такого вибору можна уявити з вікна „Создание формы” (Рисунок 34).

 

Рисунок 34 – Майстер створення форм

 

Кнопкою вибирають потрібні поля, які переносяться в панель „Выбранные поля”. В такій же черзі вибрані поля будуть відображені на майбутній формі.

В подальшому виконуйте всі підказки Майстра по вибору типу макету, стиля форми, заголовка і в кінці натиснути кнопку Готово. З’явиться форма створена до перегляду даних (рисунок 35).

 

Рисунок 35 – Форма створена в режимі „Мастер форм”

 

Якщо створена форма не відповідає деяким вимогам (надписи полів обрізані, потрібні кнопки швидкого редагування, тощо) її можна доопрацювати в режимі Конструктор.

Для цього потрібно виконати такі дії:

1. Виконати команду ФормыÞКонструктор; Відкривається вікно конструктора, яке поділяється на три частини: „Заголовок формы”, „Область даных”, „Примечание формы”; поряд розміщена панель елементів з шаблоном об’єктів які можна розмістити на формі.

2. Розширити поле „Примечание формы”.

3. На панелі елементів натиснути елемент під назвою „Кнопка” для створення кнопочного меню.

4. Тримаючи затиснутою ліву кнопку мишки, створити прямокутник для майбутньої кнопки.

5. В вікні „Создание кнопок” вибрати категорію „Переходы по записям” і дію „Первая запись”; натиснути кнопку Далее.

6. Вибрати текст або малюнок, який буде розміщений на кнопці.

7. В наступному вікні задати ім’я кнопки або залишити те, яке пропонує програма. Натисніть кнопку Готово.

Такі дії потрібно повторити стільки разів, скільки кнопок потрібно розмістити в формі.

Для того, щоб переглянути результати в процесі виконання, потрібно скористатися елементом меню ВидÞРежим формы, а щоб повернутися в вікно конструктора: ВидÞРежим конструктора.

Якщо в таку форму потрібно ввести пояснювальний текст, користуйтесь елементом „Надпись” . При натисканні на нього курсор миші набуває вигляду . Розмістіть цей курсор в область „Заголовка форми”, натисніть ліву клавішу миші перетягніть її так, щоб створити прямокутник для введення тексту. Відпустивши кнопку миші будете мати змогу в середині прямокутника ввести текст та надати йому відповідний формат.

На рисунку 36 показане зображення форми для таблиці STUDENTI.

 

Рисунок 36 – Форма відредагована в конструкторі

 

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

Технологія створення головної форми може бути такою:

1. Ввійти в режим ФормаÞКонструктор.

2. Розширити область заголовка та приміток.

3. На панелі елементів вибрати “Надпись” і при затисненій лівій клавіші миші створити область для введення заголовку роботи; ввести текст і натиснути Enter.

4. Аналогічно пункту 3 ввести дані про автора роботи.

5. Відформатувати введений текст, скориставшись режимом ФорматÞФорма/Отчет.

6. Створити кнопки для виклику ваших форм створених до таблиць; для цього виберіть кнопку панелі елементів, далі категорію “Работа с формой” і дію “Открытие формы”; з списку виберіть назву форми, для якої створюється кнопка; введіть текст для назви даної кнопки; натисніть кнопку Готово.

7. Створіть кнопки для перегляду ваших запитів; для цього виберіть кнопку на панелі елементів, далі категорію “Разное” і дію “Запуск запроса”; з списку виберіть назву запиту, який буде виконуватися при натисканні даної кнопки; введіть текст для назви даної кнопки; натисніть кнопку “Готово”;

8. На вільне місце вставити малюнок: на панелі елементів натиснути кнопку „Рисунок ” та виділити для нього на формі прямокутник; в вікні „Выбор рисунка” знайти потрібний малюнок і натиснути кнопку ОК.

Вигляд головної форми представлений на рисунку 37.

 

Рисунок 37 – Головна форма

 

3.9 Звіти

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

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

Для створення звіту потрібно ввійти в режим ОтчётыÞСоздать. Відкриється вікно „Новый отчёт”, в якому можна вибрати один зі способів створення. Найпростішим способом є використання автозвітів (в стовпчик або в рядочок), більш складним є спосіб створення з допомогою Майстра, а найскладнішим – з допомогою Конструктора. (Рисунок 38).

СУБД Access також дозволяє створювати поштові наклейки, які використовуються у діловодстві для розсилання кореспонденції.

Для створення автозвіту потрібно вибрати зі списку назву таблиці або запиту, на даних яких буде базуватися звіт і натиснути кнопку ОК. Звіт буде відображений на екрані в режимі „Предварительный просмотр” (Рисунок 39).

 

Рисунок 38 – Способи створення форм

 

З допомогою „Мастера” звіт можна створити по такій технології;

1. Перейти в режим ОтчётыÞСоздатьÞМастер отчётов.

2. В вікні „Создание отчётов” у полі „Таблицы и запросы” вибрати потрібний об’єкт; у полі „Доступные поля” кнопками перенести потрібні поля в праве поле і натиснути кнопку Далее.

3. У наступних вікнах потрібно задати рівні групування, порядок впорядкування для полів, вибрати вид макету (в стовпчик, табличний чи вирівняний), орієнтацію аркуша паперу (книжна чи альбомна) та стиль оформлення звіту (діловий, звичайний, напівжирний, стиснутий, стовпчиковий, суворий); режими потрібно вибирати у відповідності до підказки Майстра, та зразків звіту що при цьому з’являються; перехід з одного вікна в інше реалізується натисканням кнопки Далее.

4. Задати назву звіту та натиснути кнопку Готово.

 

Рисунок 39 – Режим „Предварительный просмотр”

В результаті виконаних дій з’явиться звіт STUDENTI, приведений на рисунку 40.

 

Рисунок 40 – Створений звіт за допомогою Майстра

 

Редагування звітів, створених з допомогою Автозвітів чи Майстра здійснюють в режимі Конструктора. Технологія такого удосконалення аналогічна технології використання Конструктора до форм. В режимі ОтчётыÞКонструктор раніше створений звіт відкриється в вікні, поділеному на частини;

· название отчёта;

· верхний колонтитул;

· область данных;

· нижний колонтитул;

· примечание отчёта.

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

З допомогою кнопки або команди ВидÞПанель элементов визиваємо цю панель на екран. На поле звіту можна перенести додаткові текстові написи, графічні зображення, розрахункові поля. Занесення текстових пояснень та графічних зображень було описано в пункті „Форми”. Занесення в звіт розрахункового поля здійснюється по такій технології:

1. Створити на області даних текстове поле елементом .

2. Змінити з’єднаний з цим полем текст так, щоб він відповідав призначенню поля.

3. Подвійним клацанням по створеному полю занести в нього курсор клавіатури і ввести розрахункову формулу.

4. Клацнути мишею в будь-якому місці поза межами текстового поля.

Формули повинні починатися символом „=”, всі імена полів повинні братися в квадратні дужки. Наприклад див. рисунок 41.

 

Рисунок 41 – Конструктор звітів

 

Перед друкуванням звіту його обов’язково потрібно переглянути в режимі попереднього перегляду . Якщо вигляд звіту задовольняє, його потрібно відкрити і запустити на друк кнопкою або командою ФайлÞПечать.

Зразок звіту представлений на рисунку 42.

 

Рисунок 42 – Зразок звіту

4 Завдання до курсової (розрахунково-графічної) роботи

 

Створити систему обробки даних згідно з індивідуальним завданням (Додаток 1):

По узгодженню з викладачем студент створює програму на VBA ЕП Excel для одного із запитів (SELECT 1, 2 або 3).

При створенні таблиць в СУБД Access необхідно обґрунтувати створення або відсутність первинних ключів. Обов’язково необхідно встановити зв’язки між таблицями в схемі даних MS Access по забезпеченню цілісності даних з каскадним оновленням полів та каскадним вилученням даних.

Обробка даних включає створення запитів за допомогою конструктора MS Access та з використанням операторів мови SQL на вибірку (SELECT), додавання (INSERT), зміну (UPDATE) та вилучення (DELETE)

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

Необхідно розробити інтерфейс користувача, який включає:

- головну форму системи обробки даних із забезпеченням можливостей виклику форм редагування таблиць, перегляд результатів відбору даних та виконання операцій маніпулювання з даними;

- форми для редагування таблиць із забезпеченням зручних засобів редагування потрібних полів у зв’язаних таблицях.

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


Література

1. Гарнаев А.Ю. Использование MS Excel и VBA в экономике и финансах. – К.:BHV, 1999. – 336 с.

2. Інформатика і комп’ютерна техніка: Навчальний посібник / За ред. М.Є. Рогози. – К.: Видавничий центр „Академія”, 2006. – 368 с. . (Альма-матер)

3. Інформатика та комп’ютерна техніка: Посібник для студентів вищих навчальних закладів. – К.: Видавничий центр „Академія”, 2002. – 320 с. (Альма-матер)

4. Інформатика: Комп’ютерна техніка. Комп’ютерні технології. Посіб. /За ред. О.І. Пушкаря – К.: Видавничий центр „Академія”, 2001. – 696 с. (Альма-матер)

5. Куртис Фрай Microsoft Ecxel 2003. Русская версия. Практическое пособие. Серия „Шаг за шагом”/ Пер. с англ. – М. : СП ЭКОМ, 2005. – 416 с.

6. Пол Литвин, Кен Гетц, Майк Гильберт Access 2000. Руководство разроботчика Том 2. Корпоративне приложения: Пер. с англ. – Киев: Издательсткая группа BHV, 2001. – 912 c.

7. Попов А.А. Excel: Практ. руководство. – М.:ДЕСС КОМ, 2000. – 302 с.

8. Рогоза М.Є., Клименко В.І. ХР: WINDOWS, WORD, ECXEL для самостійного вивчення: Навчальний посібник. – Київ: „Центр навчальної літератури”, 2003. – 294 с.

9. Сайлер, Братан, Споттс, Джефф. Использование Visual Basic 6. Специальное издание.: Пер. с англ. – М.; СПб.; К.: Издательский дом „Вильямс”, 2003. – 832 с.


Завдання для курсових і розрахунково-графічних робіт

Задача 1

В деканаті інституту зберігається інформація про студентів (номер, ПІП, курс), дисципліни (номер, назва) та отримані студентами оцінки (номер студента, номер дисципліни, дата, отримана оцінка).