
- •С.М. Яцюк Економічна інформатика
- •С.М. Яцюк Економічна інформатика
- •Ms Office. Бази даних Access. Практична робота № 1
- •Хід роботи
- •Практична робота № 2
- •Хід роботи
- •Розгляньте головну кнопкову форму і натисніть на кнопку введення даних.
- •Розгляньте створену базу даних – двосторінкову форму, погортайте записи і введіть у формудані для п’яти осіб.
- •Перейдіть у режим конструктора. Розташуйте всі об’єкти на формі якнайкраще.
- •Закрийте базу даних, зберігаючи форму. Здайте звіти. Практична робота № 3
- •Хід роботи
- •Налагодьте зв’язки між таблицями бд про студентів.
- •Розв’яжіть задачу про склад.
- •Практичні роботи № 4-5
- •Хід роботи № 4
- •1. Запустіть програму ms Access і відкрийте бд, що містить таблицю Оцінки, чи створіть подібну таблицю.
- •2. Розгляньте таблицю і відкоригуйте її.
- •Хід роботи № 5
- •11. Збережіть таблицю Відмінники чи Відмінники2 як новостворену без записів, що повторюються.
- •12. Створіть нову таблицю Оцінки2, відобразивши у ній три перші поля з таблиці Оцінки тих студентів, які мають хоча би одну двійку (чи трійку, якщо двійок немає) з будь-якого предмета.
- •13. Відкрийте таблицю Оцінки2 і перегляньте її.
- •15. Сформулюйте і реалізуйте три будь-які запити до бази даних "Склад".
- •16. Закрийте базу даних. Закінчіть роботу. Здайте звіти.
- •3. Створення запитів на вибірку записів.
- •26. Побудуйте запит на каскадне вилучення даних про студентів, які мають три двійки з будь-яких предметів.
- •27. Закінчіть роботу. Здайте звіти.
- •Рекомендована література
3. Створення запитів на вибірку записів.
Вибірка — це динамічний набір даних з бази даних, який відображається на екрані комп'ютера. Вибірку записів створюють за допомогою конструкції SELECT, що має такий загальний вигляд:
SELECT предикат список полів
FROM таблиця {IN адреса зовнішньої БД на диску}
{WHERE умова пошуку}
{GROUP BY поле для групування записів}
{HAVING додаткова умова пошуку в групі}
{ORDER BY список полів для впорядкування) ;
Команди, записані у фігурних дужках, є необов'язковими.
Предикатом може бути службове слово ALL (показати всі незнайдені записи), TOP n — показати перші п записів, TOP n PTRCENT — показати перші п% записів, DISTINCT — показати лише різні записи.
Список полів містить назви полів, які відображатимуться у вибірці. Елементи списків відокремлюються комами. Усі поля тaблиці позначаються так: таблиця.* або *, якщо розглядається одна таблиця.
Джерелом даних може бути одна або декілька таблиць з поточної чи зовнішньої бази даних.
Назви полів, якщо вони трапляються в різних таблицях, повинні бути доповнені назвами таблиць. Між двома назвами має cтояти крапка, наприклад, Склад1.Ціна, Товари.Ціна.
Якщо таблиць є декілька, то їх оголошують списком у команді FROM. Якщо між двома таблицями є внутріiній зв'язок по деякому полю, наприклад, [Номер товару], то команду МІОМ треба писати так:
FROM таблиця1 INNER JOIN таблиця2
ON таблиця1. [Номер товару]=таблиця2. [Номер товару].
Команда ORDER BY призначена для впорядкування отрима-иих записів в алфавітному чи зворотному порядку. Відповідний напрямок упорядкування задається предикатами ASC чи DESC, що записуються після назви поля.
Приклад 2. З таблиці Склад1 вибрати перші три записи з усіма полями про товари, ціна яких менша від 100 грн.
Розв'язок:
SELECT TOP 3 *
FROM Склад1
WHERE Ціна < 100;
4. Пошук даних в базі даних. Команда WHERE є найважливішою у конструкції SELECT. Власне вона призначена для відбору потрібних записів згідно з деяким критерієм (умови пошуку). Умова пошуку – це простий або складений логічний вираз. Простий логічний вираз – це два вирази, з'єднані oneрацією відношення: =, <, >, <=, >=. Відношення «не рівно» позначається <> або !=.
Вирази можуть містити назви полів і сталі величини, з'єднані допустимими операціями. Складені логічні вирази утворюють з простих за допомогою логічних операцій NOT, AND, OR, XOR та інших так, як це прийнято у мовах програмування Visunl Basic чи Qbasic. Розглянемо приклади умов пошуку:
1) [Назва товару]="телефон";
2) [Дата виготовлення]=#5/21/05#;
3) NOT Продавець="Афоня" або Продавець != "Афоня";
4) Мат > 3 AND Фіз > 3 AND Інформ > 3;
5) [Ціна товару] > 20.5 AND [Ціна товару] < 85.
Для останнього прикладу є зручніша конструкція, компактніша, якщо назва поля довга:
[Ціна товару] BETWEEN 20.5 AND 85.
Усі дати за останні 30 днів:
Дата BETWEEN day() - 30 AND day().
Дати слід писати в американському стилі місяць/день/рік.
Для пошуку даних у текстових полях корисною є операція порівняння Like.
Приклад 3. З деякої таблиці вибрати всі записи про фірми, назви яких починаються літерою «Д» і які є в містах, назви яких починаються від літери «А» до літери «Ж», погрупувавши фірми по містах, а міста впорядкувавши за алфавітом.
Розв'язування:
SELECT *
FROM [Якась таблиця]
WHERE Фірма Like "Д*" AND Місто Like [А-Ж]
GROUP BY Місто
ORDER BY Місто;
Умови конструюють так само, як і в QBE, з тією відмінністю, що в логічних виразах SQL є назви полів.
Наведена вище конструкція SELECT призначена для створення запитів на вибірку записів з БД.
5. Застосування команди SELECT. Розглянемо такі застосування команди SELECT: 1) для статистичних обчислень у вибірці; 2) для побудови параметричних запитів; 3) для створення нового обчислювального поля; 4) запиту на створення нової таблиці; 5) запиту на додавання записів.
1. Статистичні функції. Команду SELECT використовують для обчислення і виведення на екран значень статистичних функцій по полях вибірки. Перше речення у конструкції повинно бути таким:
SELECT список функцій.
Розглянемо деякі статистичні функції:
Соunt(поле) дає кількість записів, де це поле не порожнє (тобто є NOT Null, де Null — ознака порожнього поля);
Sum(поле) обчислює суму всіх числових значень поля;
First:(поле), Last(пoлe) — значення полів у першому і Останньому записах таблиці;
Міп(поле), Мах(поле) — мінімальне і максимальне значення у цих полях;
Аvg(поле) — середнє арифметичне значення поля;
Stdev(ПОЛЄ), Stdevp(ПОЛЄ) — середньоквадратичні відхилення у полі.
Приклад 4. Визначити середню ціну товарів, що є на складі:
SELECT Аvd(Ціна) AS t
FROM Склад1;
Результат t потрібно переписати з екрана.
2. Запит з параметром.
Щоб вивести на екран вибірку всіх ІТоиарів, ціна яких менша за середню, потрібно виконати такий (триметричний запит:
SELECT *
FROM Склад1
WHERE Ціна <z;
Якщо деяка назва у команді WHERE не збігається з назвою поля чи поточної бази даних, то вона розглядається як назва Параметра в параметричному запиті. Відкриється вікно, куди слід ввести значення параметра (у нашому випадку це значення беремо з попереднього прикладу — t). Зверніть увагу: у команді WHERE застосовувати статистичні функції не можна.
З. Запит на створення нового обчислювального поля. Наступне застосування команди SELECT — це створення нового Обчислювального поля, наприклад Сума, так:
SELECT Ціна, Кількість, Ціна*Кількість AS Сума
FROM Складі;
Якщо обчислення містить розгалуження, то використовують функцію IF - «якщо». Загальний вигляд функції IF такий: ІІF(умова, значення 1, значення2 ), де значення1 надається полю, якщо умова істинна, а значення2, якщо – хибна. Значення в полі може змінюватися залежно від деякої умови. Наприклад, якщо деяке числове поле Кількість у вибірці не містить жодного значення, то його можна продублювати полем НоваКількість так, щоб на місці порожніх значень поля було число 0:
SELECT Ціна, Кількість, IIF(Кількість IS NULL,O, Кількість) AS
НоваКількість
FROM Склад1;
4. Запит на створення нової таблиці. Нову таблицю можна створити за допомогою такого запиту:
SELECT список полів таблиці-джерела
INTO нова таблиця {IN зовнішня БД}
FROM таблиця-джерело {WHERE умова};
5. Запит на додавання записів.
Запит на додавання записів у таблицю1з іншої таблиці2 має такий вигляд:
INSERT INTO таблиця 1 (поле1, поле2,...) SELECT полє1таблиці2, поле2таблиці2,...
FROM таблиця2
{WHERE умова};
Методику створення деяких інших запитів мовою SQL можна вивчати шляхом конструювання відповідного запиту QBE і перетворення його в запит SQL. Інформацію про нові службові слова мови SQL можна отримати з файлів довідок.
Практична робота № 7
Тема.
MS Access. Реляційні запити. Оформлення звітів.
Мета.
Уміти створювати реляційні запити й оформляти звіти.
План
1. Реляційні запити.
2. Звіти.
Теоретичні відомості
1.
Реляційні запити.
Дві або більше таблиць, які мають поля
з даними, між якими налагоджено зв'язок,
називають реляційними. Приклади
реляційних таблиць: Оцінки і Рейтинг,
Оцінки і Телефони, Клієнти і Замовлення.
Перша пара таблиць характеризується
зв'язком один до одного по полю Номер
(рис. 59), друга і третя – дин до
багатьох по полях Прізвище і Код клієнта відповідно.
Реляційними є також форми, запити і звіти, побудовані на базі кількох реляційних таблиць. Для створення реляційних запитів, звітів і форм спочатку відкривають їхні конструктори, у вікно конструктора додають таблиці і формують зв'язки, якщо вони не були задані раніше. Після цього у бланк конструктора заносять назви полів з різних таблиць, будують умови тощо.
2. Звіти. Розглянемо принципи створення звітів. Звіти призначені для оформлення потрібних даних з БД згідно з вимогами стандартів чи замовника і виведення їх на папір (рис. 60).
Є такі засоби створення звітів: 1) конструктор (не для початківців);
2) майстер звітів; 3) автозвіти.
Як і у випадку форм, оптимальним є комбінований спосіб: звіт створюють за допомогою майстра звіту, а потім дооформляють вручну за допомогою конструктора.
Звіт складається з декількох частин (елементів, не всі вони є обов'язковими), які створює конструктор, а саме:
♦ заголовок звіту;
♦ верхній колонтитул (повторюється на усіх сторінках);
♦ заголовок групи (якщо записи групуються);
♦ область даних;
♦ нижній колонтитул (повторюється на всіх сторінках);
♦ примітки.
За допомогою елементів керування у звіт можна додавати рисунки, діаграми, інші об'єкти. У колонтитулі можна помістити будь-яку обчислювальну функцію бази даних, наприклад, для наставляння дат, номерів сторінок тощо. Дані редагувати у звіті не можна.
Хід роботи
1. Запустіть програму MS Access і відкрийте БД, що містить таблиці Рейтинг та Адреси.
2. У таблицю Рейтинг додайте поле Група та заповніть його даними. У таблицях поле НОМЕР зробіть ключовим.
У конструкторі виберіть поле НОМЕР і клацніть на панелі інструментів на кнопці із зображенням ключа.
3. Створіть реляційний запит.
У бланк конструктора вставте ці дві таблиці. Між ними автоматично налагодиться зв'язок один до одного по полю Номер. У запиті повинні бути такі поля з двох таблиць: Номер, Група, Прізвище, Ім'я і Сума з таблиці Рейтинг, а також поля Місто і Вулиця з таблиці Адреси. Задайте режим упорядкування за спаданням рейтинга (поле Сума).
4. Запустіть запит на виконання і перегляньте результати.
5. Змініть тип запиту на утворення нової таблиці, утворіть її з назвою Облік.
6. Упорядкуйте таблицю Облік за спаданням значень поля Сума і додайте поле з назвою Місце (тип лічильник).
7. Перегляньте таблицю.
У кого зі студентів 5-й рейтинг?
8. Утворіть рядковий автозвіт на базі таблиці Облік. Вікно БД => Закладка Звіти => Створити => Автозвіт: рядковий => Виберіть таблицю Облік => ОК.
9. Розгляньте звіт.
Виконайте команду Попередній ОГЛЯД.
10. Розгляньте структуру звіту. Перейдіть у режим конструктора.
11. Закрийте конструктор і збережіть звіт з назвою Звіт 1.
12. Почніть створювати Звіт 2 за допомогою майстра звітів. Вікно БД => Закладка Звіти => Створити => Майстер звітів => Облік => ОК. Виконайте всі вимоги майстра (див. пункти 13-18).
13. Сформуйте структуру звіту з таких полів в такому порядку: Група, Прізвище, Ім'я, Сума, Місце. Вибирайте по черзі поля у вікні Доступні ПОЛЯ і натискайте на кнопку з позначкою => Далі.
14. Задайте групування записів у звіті по полю Група і натисніть на кнопку Далі.
Задайте групову операцію – обчислення середнього значення по полю Сума для кожної групи.
15. Упорядкування можете не задавати (Далі).
16. Задайте вигляд макета звіту.
Макет задайте ступінчастий (табличний), орієнтацію книжкову, увімкніть режим налаштовування ширини полів для розміщення звіту на одній сторінці (за замовчуванням усе це вже повинно бути задано) => Далі.
17. Виберіть стиль, який вам більше до вподоби (Далі). Який стиль ви вибрали?
18. Звіту дайте ім'я Звіт2, перемкніть звіт у режим перегляду і натисніть на кнопку Готово.
19. Розгляньте звіт і його структуру.
20. Змініть структуру звіту в режимі конструктора так, щоб покращити вигляд звіту:
1) клацніть один раз у вікні заголовка групи (виберіть назву групи Група) і зменшіть заголовок методом зменшення об'єкта;
2) зменшіть і вигідніше розташуйте (перетягніть) інші об'єкти на свій розсуд;
3) перемістіть через буфер обміну об'єкт Група з верхнього колонтитулу в заголовок групи;
4) розмалюйте різними кольорами різні структурні частини звіту: І
5) задайте прізвища товстим шрифтом 16 пунктів;
6) внесіть інші зміни на свій розсуд.
Рекомендація. Перемикайте режими Конструктор на Взірець. і навпаки, щоб оглянути результати кожного кроку.
21. Перепишіть у зошит останній рядок звіту.
22. Розгляньте базу даних «Склад» і задайте зв'язок між таблицями Клієнти і Замовлення по полю Код Клієнта.
Зробіть поле Код Клієнта ключовим і створіть зв'язок. Переконайтеся, що тип зв'язку буде один до багатьох.
2З. Придумайте структуру звіту для БД «Склад» і створіть його.
24. Покажіть викладачеві і збережіть звіт.
25. У таблиці Оцінки зробіть так, щоб декілька студентів мали двійки з усіх предметів. Таких студентів відчисляють з навчального закладу. Побудуйте запит, який забезпечить каскадне вилучення записів про студентів, які мають двійки з усіх предметів, з усіх відповідних таблиць, форм і звітів.
У конструктор запиту занесіть усі таблиці і налагодьте зв'язки між ними по полю НОМЕР один до одного. Задайте режими збереження цілісності даних і каскадного вилучення записів у таблицях. Введіть умови і виконайте запит на вилучення. Переконайтеся, що з таблиць Адреси, Телефони тощо вилучено записи про студентів, яких відчислено.