Створити базу даних в MS Access (визначити скільки і які таблиці повинна містити БД). При створенні таблиць використовувати метод побудови таблиць за допомогою Майстра і вручну - повністю самостійно. При створенні таблиць врахувати всі обмеження, які задані в постановці завдань. Передбачити необхідні зв'язки між таблицями, визначити всі поля даних (атрибути або стовпці) таблиці. Задати схему БД. Встановити необхідні зв'язки і створити необхідну схему БД. Застосувати необхідні методи підтримки цілісності при описі зв'язків.
Назва та мета виконання роботи.
Опис своєї предметної області та обгрунтування прийнятих рішень за таблицями: їх перелік, властивості стовпців таблиць і властивості самих таблиць, типи даних, обмеження.
Письмові відповіді на поставлені запитання.
Лабораторна робота №2 Створення запитів в середовищі ms Access
Мета. вивчення процесу проектування запиту за допомогою стандартної панелі інструментів вікна запиту в режимі Конструктора.
Запити забезпечують швидкий і ефективний доступ до даних, що зберігаються в таблиці.
При створенні таблиці за допомогою MS Access можна помітити, що програма не дозволяє використовувати обчислювані поля. Не існує також можливості виконати сортування за первинному ключу.
Завдяки запитам, можна виконати сортування або обчислити вирази. Наприклад, звести разом дані з пов'язаних таблиць.
При виконанні запиту MS Access зчитує дані з таблиць і відображає результат виконання в режимі таблиці. При цьому слід враховувати, що результат виконання запиту не зберігається. Дані завжди зберігаються в таблицях. У запиті MS Access зберігає тільки інструкції про те, як повинні бути організовані дані в результаті виконання запиту.
Для деяких запитів можна внести зміни в результат запиту, який відображається в режимі таблиці. Ці зміни відіб'ються і в вихідних таблицях. На підставі запиту можна розробити форму або звіт.
Сортування записів таблиці
У таблиці дані завжди відсортовані по первинному ключу. Щоб організувати інший спосіб сортування даних, використовується запит. Для створення такого запиту у вікні бази даних слід вибрати піктограму "ТАБЛИЦЯ" і вказати таблицю, яку необхідно впорядкувати. Вибір піктограми "НОВИЙ ЗАПИТ", розташованої на панелі інструментів, призводить до відкриття діалогового вікна для створення нового запиту для зазначеної в вікні бази даних таблиці. В результаті вибору піктограми "НОВИЙ ЗАПИТ" в діалоговому вікні відображається список всіх імен полів вихідної таблиці, на початку якого розташований символ "*". Відбуксируйте зірочку в бланк запиту QBE. Вона є символом-замінником всіх полів даних. Крім того, відбуксируйте в бланк запиту то поле даних, за яким повинна бути проведена сортування.
Для цього поля зі списку "Сортування" виберіть спосіб сортування. Виберіть піктограму "ВИКОНАТИ" і MS Access відобразить на екрані результат запиту, який відображається в режимі таблиці, дані в якому відсортовані потрібним чином.
Запити з критеріями пошуку
Для вибірки даних з таблиць по певній умові в MS Access використовуються запити з критеріями пошуку. Попередньо поставивши умову відбору, результатом виконання запиту буде набір даних задовольняють сформованому критерієм.
Для складання запиту слід перейти в вікно бази даних, вибрати піктограму "ЗАПИТ" і натиснути кнопку "Створити", а потім кнопку "Новий запит". У наступному вікні діалогу слід вибрати одну з таблиць БД і натиснути кнопку "Додати", MS Access помістить в вікно запиту список полів зазначеної таблиці. Тепер можна вибрати одне або кілька полів і відбуксирувати їх в бланк запиту QBE.
У рядку "Умова відбору" можна ввести тепер критерії вибору. Для позначення довільної кількості символів використовуйте в якості символу-замінника зірочку (*), а для позначення одного довільного символу знак питання (?). Сформулюйте критерії запиту. Наприклад, якщо для текстового поля буде поставлено тільки критерій "А *", то в результаті виконання запиту будуть відображені тільки ті записи, текстове поле яких починається з букви "А" (або "а").
Якщо потрібно знайти комбінацію декількох значень, необхідно ввести їх в рядок "Умова відбору", вживаючи як роздільник логічні оператори AND і OR. Крім звичайних операторів порівняння, MS Access надає три спеціальних оператора, корисних для відбору даних: BETWEEN, IN, LIKE.
Запити з параметрами
Не завжди можна вирішити на етапі створення запиту, які саме значення має відшукувати MS Access, а іноді потрібно гнучке умова відбору, яке може змінюватися в залежності від поточної ситуації. Тому замість умови відбору, безпосередньо вводиться в бланк QBE, можна включити в запит параметр, і в цьому випадку перед виконанням запиту MS Access кожен раз буде запитувати конкретні умови відбору.
Щоб встановити параметр необхідно ввести в рядок "Умова відбору" ім'я або фразу, укладену в квадратні дужки ([]). Те, що укладено всередині квадратних дужок, MS Access розглядає як ім'я параметра. Це ім'я виводиться в діалоговому вікні при виконанні запиту, тому розумно в якості імені параметра використовувати змістовну фразу. В одному запиті можна задати декілька параметрів; при цьому ім'я кожного параметра має бути унікальним і інформативним.
За замовчуванням MS Access перетворює введені в запит параметри в текстовий тип даних. Однак, так як текстові поля не можна порівнювати з полями дат, тип даних для параметрів необхідно встановити точно. Для цього виберіть команду Запит / Параметри з меню, в результаті чого MS Access відкриє вікно діалогу "Параметри запиту". Введіть параметр без квадратних дужок в діалогове вікно і виберіть необхідний тип даних.
Тепер для виконання запиту спочатку необхідно ввести значення параметра, а результат запиту буде містити тільки ті поля, які задовольняють заданому значенню параметра.
Обчислювані поля в запитах
Існує можливість завдання обчислення над будь-якими полями таблиці і зробити обчислюється значення новим полем в наборі записів. Для цього використовується безліч вбудованих в MS Access функцій. Можна створити поле в запиті з використанням арифметичних операцій над полями таблиць, а можна також створити нове поле як результат конкатенації текстових полів або символьних констант.
Створення обчислюваного поля здійснюється шляхом простого введення вирази для обчислення в порожньому стовпці бланка запиту QBE. Необхідно всього лише скласти відповідний запит з використанням імен полів. Після того як введення буде завершено, вираз матиме такий вигляд:
Вираз 1: [Поле1] "оператор" [Поле2]
У квадратні дужки полягають тільки імена полів. MS Access автоматично використовує "Вираз 1" в якості імені обчисленого виразу. Це ім'я можна змінити на більш змістовне.
При побудові складних виразів MS Access пропонує використовувати утиліту, яка називається "Будівник виразів". Для переходу в "Будівник виразів" необхідно клацнути по пустому полю в бланку QBE, а потім - по кнопці "Побудувати" панелі інструментів.
Підсумкові запити значно відрізняються від звичайних. У них можна використовувати два типи полів. Існують поля, за якими здійснюється угруповання даних, і поля, для яких проводяться обчислення. Додатково можна включити ще поля для визначення умов запиту.
Для того щоб скласти підсумковий запит, перебуваючи в режимі Конструктора запиту. слід вибрати піктограму "ГРУПОВІ ОПЕРАЦІЇ" або скористатися командою Вид / Групові операції. В результаті чого в бланку запиту з'явиться рядок "Групова операція". Потім для відповідного поля зі списку необхідно вибрати функцію "Угруповання".
По-перше відкрийте вікно Конструктора запиту і додайте таблиці, в яких міститься необхідна інформація. Якщо раніше за допомогою команди Зв'язки було встановлено зв'язок між таблицями, то MS Access визначить це автоматично. Цей зв'язок буде відображена у вигляді лінії, проведеної між полями таблиць. Якщо зв'язок між таблицями відсутня, ви повинні її встановити.
Далі необхідно визначити параметри зв'язку. Вкажіть на сполучну лінію і виберіть команду Вид / Параметри об'єднання. В результаті відкриється діалогове вікно, в якому пропонуються три опції для визначення параметрів зв'язку.
Примітка: Поля головною таблиці при відношенні "один-ко-многим" не можна змінити в результаті запиту, відображуваного в режимі таблиці. Крім того, ці поля можуть містити повторювані значення.
Будь-які запити-вибору можуть бути перетворені в запити створення таблиці. У цьому випадку створюється таблиця, яка містить результат запиту, отриманий в даний момент.
MS Access підтримує спеціальний тип підсумкових запитів, званий перехресним запитом. Такий запит дозволяє побачити обчислювані значення в вигляді перехресної таблиці, яка нагадує електронну таблицю.
Помістіть в вікно Конструктора запиту таблицю "Товари". Потім включите рядок "Групова операція", вибравши команду Вид / Групповиеопераціі. Після цього відбуксируйте поле даних "Тип" в бланк запиту. Для цього поля виберіть зі списку значення "Угрупування".
У другій стовпець бланка запиту відбуксируйте поле даних "Постачальник". Для цього шпальти обраний вами значення "Угрупування".
Останнім в бланк запиту відбуксируйте поле "Ціна". Для цього поля виберіть значення "Sum".
При виконанні запиту його результат відображається в режимі таблиці, в першому стовпці якої будуть всі типи товарів, у другому - для кожного типу будуть приведені номери постачальників, а в останньому стовпці - суми цін товару даного типу і даного постачальника.
Тепер необхідно підсумковий запит перетворити в перехресний запит. Для цього виберіть команду Запит / Перехресний.
Вибір даної команди призводить до заміни в бланку запиту рядки "Висновок на екран" на новий рядок "Перехресне таблиця". Всі інші параметри залишаються без зміни. Поле "Тип" вихідної таблиці буде використано в якості заголовка рядків. Тому з поля списку "Перехресне таблиця" виберіть елемент "Тема рядків". Для стовпця "Постачальник" виберіть зі списку "Перехресне таблиця" елемент "Тема стовпців".
Суму цін товарів необхідно помістити в осередках перехресної таблиці. Тому для цього поля зі списку "Перехресне таблиця" слід вибрати елемент "Значення".
Примітка: При створенні перехресної таблиці ви можете вибрати тільки одне поле в якості вмісту таблиці і тільки одне поле в якості заголовка стовпців. В якості заголовків рядків можна вказати і кілька полів вихідної таблиці.
Запити на видалення
Всі вище перераховані запити відносяться до запитів-вибору, які дозволяють тільки вибирати і переглядати дані з таблиць. Наступні запити є запитами-дії, що дозволяють модифікувати збережену інформацію.
За допомогою запиту на видалення здійснюється видалення певних даних з таблиць. Перш ніж сконструювати запит на видалення, слід подумати, які записи необхідно видалити. Найнадійнішим методом є попереднє створення запиту-вибору.
У режимі Конструктора запиту виберіть таблицю, в якій пізніше буде проводитися видалення. Потім визначте критерії і подивіться результат виконання запиту, який відображається в режимі таблиці. Швидке перемикання між режимами конструктора і виконання зазвичай здійснюється за допомогою однойменних піктограм, розташованих на панелі інструментів.
Лише в тому випадку, якщо в результаті запиту присутні тільки що підлягають видаленню записи, слід перетворити запит-вибору в запит на видалення.
Для цього в рядку меню виберіть команду Запит / Видалення. Після цього MS Access вимикає в бланку запиту рядки "Сортування" і "Висновок на екран". Для запитів на видалення ці рядки не потрібні. Крім того, для всіх колонок бланка запиту в новому рядку "Видалення" відображається текст "Умова". Однак критерії при цьому не змінюються.
Якщо виконати запит вибором піктограми "ВИКОНАТИ", MS Access не відображається на екрані результат виконання запиту. Замість нього з'явиться повідомлення про те, скільки записів буде видалено у вихідній таблиці. Ви можете перервати процес видалення натисканням кнопки "Скасувати". Однак натискання OK призводить до безповоротного видалення записів, які відповідають критеріям запиту.
Запит-поновлення дозволяє проводити оновлення деякої інформації, що зберігається, своєчасність якої минула на поточний момент.
Спочатку створіть новий запит вибору і введіть критерії для вибору змінюваних записів. Тільки в тому випадку, якщо результат запиту відповідає заданим вимогам, слід перетворити його в запит заміни. Для цього виберіть команду Запит / Оновлення. При цьому будуть вимкнені рядки "Висновок на екран" і "Сортування" в бланку запиту. Обидві ці рядки не потрібні для запиту заміни. Замість них включається новий рядок "Оновлення". До цього рядка слід ввести нові вирази для замінних записів. Зверніть увагу, що тип даних вирази повинен збігатися з типом даних поля вихідної таблиці.
Контрольні питання до колоквіуму і питання для самостійного опрацювання
Що таке запит і які типи запитів підтримує MS Access?
Де знаходиться шаблон виводу при конструюванні запиту-вибірки?
Як задати параметри при створенні запиту-вибірки з параметрами?
Що таке запит-дію і які бувають запити-дії?
Як можна додати або видалити таблицю при конструюванні запиту?
Що таке агреговані операції і як вони застосовуються в запитах?
Як визначити з яких таблиці взяті поля в шаблон виводу при конструюванні запиту?
Що таке перехресний запит і як він конструюється?
Що таке SQL і як ця мова використовується при формуванні запитів?
Чи можна передати параметри в запит з деякої форми, якщо можна, то як це зробити?
Чи можна вводити дані в таблиці через запити, якщо можна, то в яких випадках, які обмеження, що накладаються на взаємопов'язані таблиці, на введення даних через запити в таблиці?
Що таке поля угруповання, чи можна використовувати одночасно кілька полів угруповання в одному запиті і який сенс одержуваного результату?
Які зв'язки між таблицями можуть бути встановлені в запиті і в яких випадках зв'язку встановлюються автоматично, а коли їх можна встановити вручну?
Чим відрізняється запит-вибору від запиту на створення таблиці? Що відбувається при повторному запуску запиту на створення таблиці?