Реферат: Работа с запросами в MS Access 97
Название: Работа с запросами в MS Access 97 Раздел: Рефераты по информатике, программированию Тип: реферат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ВСТУП Програмне забезпечення для роботи з базами даних використовується на персональних комп’ютерах досить давно. Взагалі, база даних – це набір записів і файлів, які організовані спеціальним чином. В комп’ютері, наприклад, можна зберігати прізвища і адреси друзів або клієнтів. Можливо, зберігати всі свої листи, і вони згруповані по адресатам, або набір файлів з даними по фінансовим справам: отримані або виставлені рахунки, витрати по чековій книжці або балансам. Один з типів баз даних – це документи, які набрані за допомогою текстових редакторів і згруповані за темами. Другий тип – файли електронних таблиць, які об’єднані в групи по характеру їх використання. Щоб керувати даними, які розкидані по сотням таблиць і файлів використовуються системи керування базами даних (СКБД). Microsoft Access 97 саме є такою системою. Майже всі сучасні системи побудовані на реляційній моделі керування базами даних. Назва “реляційна” пов’язана з тим, що кожний запис в такій базі даних має інформацію, яка відноситься тільки до одного конкретного об’єкту. В реляційній СКБД всі дані представлені в вигляді таблиць. Інформація про об’єкти визначеного виду представляється в табличному вигляді – в стовпчиках таблиці містяться різні характеристики об’єктів – атрибути (наприклад, адреси клієнтів), а рядки призначені для опису величин всіх атрибутів окремого об’єкта (наприклад, дані про конкретного клієнта). В випадку, коли використовуються функції СКБД для вибору інформації з однієї або декількох таблиць (виконується запит, що є темою даної дипломної роботи), результат представляється у вигляді таблиці. Більше того, можна виконати запит із використанням результатів іншого запиту. Можна об’єднати інформацію з декількох таблиць або запитів. Система керування базами даних дає можливість контролювати структуру і опис даних, роботу з ними і організацію колективного користування інформацією. СКБД також суттєво збільшує можливості і полегшує каталогізацію і ведення великих об’ємів інформації, яка зберігається в численних таблицях. СКБД включає в себе три основних типа функцій: визначення даних, їх обробка й керування даними. Усі ці функціональні можливості в повній мірі реалізовані в Microsoft Access. В базі даних Access основними об’єктами є таблиці, запити, форми, звіти, макроси і модулі. Таблиця – об’єкт, який використовується для збереження даних. Таблиця складається з полів (стовпчиків), в яких зберігаються різні дані, і записів (рядків). В записи зібрана вся інформація про деякий об’єкт. Запит – об’єкт, який дозволяє користувачу отримати потрібні дані з одної або декількох таблиць. Для створення запиту можна використовувати бланк QBE (запит по зразку) або інструкцію SQL. Можна створювати запити на вибірку, поновлення, видалення або додавання даних. За допомогою запитів також можна створювати нові таблиці, використовуючи дані з одної або декількох існуючих таблиць. Форма – об’єкт, призначений в основному для вводу даних, відображення їх на екрані або керування роботою додатку. Звіт – об’єкт, призначений для створення документа, який в подальшому може бути роздрукований або включений в документ іншого додатку. СТВОРЕННЯ ЗАПИТІВ НА ВИБІРКУ ДАНИХЗапити дають широкі можливості для вибору, сортування і обчислення з використанням даних однієї таблиці. Дуже важливо вміти використовувати дані з пов`язаних таблиць, допомагає будувати багатотабличні запити майстер запитів. Запит на вибірку можна використовувати не тільки для відбору даних, але і для їх поновлення. Запит на вибірку має ряд властивостей, які можна використовувати для зміни роботи запиту. В режимі таблиці доступні самі різні операції з даними - огляд, сортування, фільтрація, поновлення і друк. Але достатньо часто приходиться проводити обчислення і огляд даних з декількох таблиць. Відобразити потрібні дані можна за допомогою запитів. Після виконання запита на вибірку (який відбирає інформацію з таблиць і інших запитів бази даних, в той час як при виконанні запиту на зміну дані вставляються, поновлюються або видаляються) Microsoft Access створює набір записів, які містять відібрані дані. В більшості випадків з набором записів можна працювати так само, як з таблицею: можна проглянути і відібрати інформацію, роздрукувати і поновити дані. Але на відміну від реальної таблиці, цей набір записів фізично не існує в базі даних. Access створює набір записів з даних таблиць тільки під час виконання запиту. Якщо змінити дані в наборі записів, Access внесе відповідні зміни в таблицю, на базі яких побудований запит. При вивченні форм і звітів виявляється, що запити є найкращим способом виділення даних, необхідних для вирішення визначеного завдання. Запити можуть слугувати джерелами даних таких елементів керування, як список і поле зі списком, що спрощує введення даних. Щоб відкрити вікно нового запиту в режимі конструктора, і вікні бази даних потрібно перейти на вкладку Запрос і натиснути кнопку Создать, яка міститься з правого боку від списку запитів. Access відкриє вікно діалогу Новый запрос. В нас є вибір: створити запит самостійно в режимі конструктора або скористатися допомогою майстра для створення одного з декількох типів запитів. Щоб відкрити існуючий запит в режимі конструктора, треба виділити його ім`я на вкладці Запрос і натиснути кнопку Конструктор. Запит відкривається в режимі Конструктор. В верхній частині вікна запиту знаходяться списки полів (назви стовпчиків таблиці), в нижній частині - бланк запиту. Вибір даних з однієї таблиці Одна з переваг запитів є те, що вони дозволяють достатньо швидко відібрати необхідні дані з декількох пов'язаних таблиць. Але запити корисні і при роботі з одною таблицею. Всі методи, які використовуються для роботи з єдиною таблицею, підходять і для складних багатотабличних запитів. Найкраще за все створити запит на основі одної таблиці так: відкрити вікно бази даних, вибрати потрібну таблицю, розкрити список кнопки Новыйобъект на панелі інструментів і вибрати пункт Новый запрос і натиснути кнопку ОК (якщо рядок Имя таблицы не виводиться в бланку запиту, слід вибрати команду Вид/Имена таблиц). Відкривається вікно конструктора, воно розділене на дві частини (мал. 1). В верхній частині знаходяться списки полів таблиць або запитів, на підставі яких створюється новий запит. В нижній розміщений бланк QBE (Query By Example - запит по зразку), в якому виконується вся робота по створенню нового запиту. Кожний стовпчик бланку представляє одне поле, яке використовується в запиті. Поле може просто належати одній з таблиць, бути обчислюваним (його значення розраховується на основі одного або декількох полів таблиці), або підсумковим, яке використовує одну із вбудованих функцій Microsoft Access.
М Полям запиту можна надавати імена, які будуть відображатися і заголовках стовпчиків при виведенні набору записів запиту, а для генерації обчислюваних полів можна використовувати вирази любого ступеню складності. В зв’язку з тим, що була виконана команда Вид/Имена таблиц, в даному рядку бланка запиту Access виведе ім’я таблиці, з якої вибране поле. В третьому рядку бланка можна задати, чи потрібно виконувати сортування по вибраному або обчислюваному полю. Прапорці в бланку Вывод на екран відповідають за вивід на екран полів в наборі записів. По замовчуванню Access виводить на екран всі поля, які містить бланк запиту. Але деякі поля включаються в запит тільки для відбору потрібних записів, а виводити їх на екран зовсім не обов`язково. Щоб виключити таке поле з набору записів, треба зняти його прапорець в рядку Вывод на екран. Для введення умов відбору записів використовується рядок Условиеотбора і рядок или. Першим кроком при створенні запиту є вибір полів, які включаються в набір записів. Це можна зробити, просто перетягнувши поле в потрібний стовпчик бланка зі списку полів в верхній частині вікна. При перетягуванні поля вказівник мишки перетворюється в маленький прямокутник. Якщо потрібно включити в запит всі поля таблиці, то достатньо перетягнути значок “*” зі списку полів в бланк QBE. Інший спосіб ввести в запит всі поля таблиці - це двічі клацнути на заголовку списку полів в верхній частині вікна: таким чином виділяються всі поля таблиці. Потім перетягнути виділені поля в рядок Поле бланка запиту. Вказівник миші перетвориться в значок з зображенням декількох прямокутників, який показує, що перетягуються декілька полів. Коли відпускається кнопка миші, Access помістить в бланк запиту всі поля таблиці. Встановлення властивостей полів В загальному випадку поля, які виводяться в наборі записів запиту, наслідують властивості для відповідних полів таблиці. Можна задати інші значення наступних властивостей: Описание (інформація, яка виводиться в рядку стану вікна запита в режимі таблиці, коли поле стає поточним), Формат поля (представлення даних на екрані), Число десятичных знаков (для числових даних), Маска ввода і Подпись (заголовок стовпчика). Щоб задати властивості деякого поля, потрібно клацнути на любій чарунці відповідного стовпчика в бланку запита і натиснути кнопку Свойства на панелі інструментів або вибрати команду Вид/Свойства. Введення умов відбору Якщо потрібно відібрати записи з конкретним значенням поля, треба ввести його чарунку Условие отбора цього поля. Текстове значення, яке використовується в якості умови відбору, повинне бути вміщене в лапки. В випадку, якщо нас цікавить декілька значень, вводяться в рядок Условие отбора і розділяються логічним оператором OR. Коли вводяться умови відбору для декількох полів, то всі вирази в рядку Условие отбора або в рядку или повинні приймати значення Істина для любого запису, який включається в набір записів запиту. Це означає, що Access виконує логічну операцію AND над умовами відбору, які знаходяться в одному рядку. Щоб результат операції AND мав значення Істина, умови повинні бути істинними; тільки в цьому випадку запис відбирається запитом. Наприклад, ми вибираємо записи з таблиці, в якій знаходяться дані про робітників. Умовою відбору обрано поле Загальний стаж і його значіння: >10 AND <20 Це означає, що будуть відібрані тільки ті записи (з даними про робітників) значення яких відповідає обом умовам в рядку Условие отбора (стаж більше 10 років, але не перевищує 20). Всі інші записи в таблицю запиту не попадуть. Коли задаються для деякого поля декілька умов відбору, які з’єднані логічним оператором OR, то для того, щоб запис був відібраний запитом, істинним повинна бути хоча б одна з них. Є два способи задати декілька пов’язаних оператором OR умов для одного поля. Можна ввести всі умови в одну чарунку рядка Условие отбора і з’єднати їх оператором OR. Наприклад, з таблиці про поставників продукції запис в чарунці Условие отбора: “Київ” OR “Вінниця”, означає, що будуть відібрані всі записи про поставників, що знаходяться в містах Київ і Вінниця. Інший варіант: введення кожної умови в окрему чарунку рядка или. При використанні декількох рядків или для відбору запису достатньо виконання всіх умов в одному з рядків или. Окрім звичайних операторів порівняння Access пропонує три спеціальних оператора, корисних для відбору даних, які виводяться в наборі записів запиту. BETWEEN. Визначає діапазон значень. Between 10 означає те саме, що і вираз And 20 >=10 And <=20.
IN. Задає
список значень,
що використовується
для порівняння.
Вираз LIKE. Оператор, корисний для пошуку зразків в текстових полях. В зразок пошуку можна включити символи шаблона, “?” заміняє любий символ в даній позиції, а “*” означає любу кількість символів в даній позиції. Символ “#” вказує, що в даній позиції повинна бути цифра. Умови відбору для дат і часу Microsoft Access зберігає значіння дат і часу як числа з плаваючою комою і з подвійною точністю. Значіння з лівого боку від десяткової коми відповідає даті, а дробова частина числа представляє час доби. Щоб повідомити Access про те, що вводиться дата і час, значення вміщується в символи числа (#). Наприклад, #10 Квітень 2003# і #10/04/03# визначають одну і ту саму дату. Access дає декілька функцій, які можна використовувати при завданні умов відбору для дат і часу: Day (дата). Повертає значення дня місяця в діапазоні від 1 до 31. Month (дата). Повертає значення місяця року в діапазоні від 1 до 12. Year (дата). Повертає значення року в діапазоні від 100 до 9999. Weekday (дата). Повертає значення чисел від 1 (Неділя) до 7 (Субота), які відповідають дням тижня. Hour (дата). Повертає ціле число від 0 до 23, які представляють значення часу. DatePart (інтервал, дата). Повертає номер кварталу або номер тижня в залежності від того, який код інтервалу задається (“q” - для визначення кварталу, “ww” - для визначення порядкового номера тижня в році). Date(). Повертає поточну системну дату. Використання параметрів запиту До сих пір ми вводили умови відбору безпосередньо в бланк запиту в режимі конструктора. Але на етапі створення запиту на завжди можна визначити, які значіння повинен відшукувати Access. Потрібно включити в запит параметр, і при кожному виконанні запиту Access буде вимагати конкретні умови відбору. Щоб визначити параметр, потрібно ввести в рядок Условие отбора замість конкретного значення ім’я або фразу, яка вміщена в квадратні дужки. Те, що вміщене всередині квадратних дужок, Access розглядає як ім’я параметра. Воно виводиться в вікні діалогу при виконанні запиту, тому в якості імені параметра розумно використовувати змістовну фразу. В одному запиті можна задати декілька параметрів, при цьому ім’я кожного параметру повинно бути унікальним і інформативним. Для кожного параметра запиту можна вказати тип даних. Access використовує цю інформацію для перевірки введеного значення. Наприклад, якщо визначено параметр як числовий, Access відкине літерні символи в значенні параметра. З мовчазної згоди Access надає параметрам запиту текстовий тип даних. Якщо потрібно змінити тип даних, треба вибрати команду Запрос/Параметры, і Access виведе на екран вікно діалогу Параметры запроса. В цьому вікні діалогу вводиться ім’я кожного параметра, тип якого ми хочемо визначити, в стовпчик Параметр в такому вигляді, в якому воно було вказане в бланку запиту, але без квадратних дужок. В стовпчику Тип данных треба встановити потрібний тип даних, який вибирається зі списку, що розкривається. Після визначення всіх параметрів натискаємо кнопку ОК. При виконанні запиту Access попросить ввести почергово значення для кожного з параметрів, використовуючи вікно діалогу. Багатотабличні запити Розглянувши можливості запитів, які основані на одній таблиці, на базі отриманих знань легко організувати перегляд об’єднаних даних з декількох пов’язаних таблиць. Здатність запитів відбирати дані з декількох таблиць особливо корисна при створенні форм і звітів. Розглянемо приклад, в якому об’єднується інформація з двох таблиць. В вікні бази даних треба перейти на вкладку Запросы і натиснути кнопку Создать. В вікні діалогу Новый запрос вибрати Конструктор і натиснути кнопку ОК. Access відкриє вікно нового запиту в режимі конструктора і виведе на екран вікно діалогу Добавление таблицы. Вікно діалогу дозволяє вибрати таблиці і запити, які будуть базовими для нового запиту. Вибираються дві таблиці і закривається вікно.
Я Мал. 2. Конструктор запиту на мал. 2. Access пов’язує використовувані в запиті таблиці на основі інформації про зв’язок, яка задана при їх створенні. Access зв’язок в вигляді лінії, яка з’єднує первинний ключ одної таблиці з відповідним полем іншої. Якщо зв’язок між таблицями не визначений, Access сам прийме рішення, встановивши зв’язок між полями з однаковими іменами і співпадаючими типами даних. Користувач включає в бланк запиту необхідні поля з двох таблиць. Побачити результат запиту можна, переключившись у режим таблиці. Як уже згадувалося, вікні режиму таблиці можна виконувати з набором записів запиту майже всі дії, які доступні для звичайних таблиць. Одним з найцікавіших аспектів багатотабличних запитів є можливість зміни даних вихідних таблиць прямо в наборі записів. Створення запиту на основі іншого запиту При створенні запита в режимі конструктора вікно діалогу Добавлениетаблицы дозволяє вибрати в якості джерела даних для нового запиту не тільки таблиці, але і запити. Дійсно, побудова одного запиту на основі іншого - це ще один спосіб роботи з даними з декількох таблиць: спочатку створюється один запит, за допомогою якого вирішується визначене коло задач і відбирається сукупність даних з декількох таблиць, а потім на його основі будується інший для отримання кінцевого набору записів. Використання майстра запитів
Мал. 4. Створення простого запиту Якщо необхідно, вказати додаткові таблиці або запит, а потім вибрати з них поля, які повинні бути використані.
Відкриття, копіювання, збереження, перейменування і видалення запитів Користувач може відкрити в режимі конструктора різні запити: запит на вибірку, перехресний запит і запит на зміну. Запит на вибірку і перехресний запит також можна відкрити в режимі таблиці для огляду результатів. Можна створити ярлик для відкриття об’єкта бази даних, яка знаходиться або на комп’ютері користувача, або на файловому сервері мережі або в директорії для спільного доступу. В Microsoft Windows можна створити ярлик, перемістивши за допомогою миші об’єкт з вікна бази даних в робочий стіл або папку. Інший спосіб – клацнути правою кнопкою миші потрібний об’єкт (запит, наприклад) і вибрати команду Создать ярлык. Щоб створити ярлик не на робочому столі, треба ввести новий шлях в поле Размещение. Для копіювання вибирається об’єкт і натискається кнопка Копировать на панелі інструментів. Під час копіювання об’єкта в іншу базу даних, закривається поточна база і відкривається та, в яку потрібно вставити об’єкт. При відкритому вікні бази даних натиснути кнопку Вставить на панелі інструментів. Збереження запиту відбувається шляхом натискання кнопки Сохранить на панелі інструментів. Для збереження копії об’єкта бази даних з новим ім’ям або в іншому файлі, при умові що об’єкт відкритий або виділений, потрібно вибрати команду Сохранить как/Экспорт в меню Файл. Щоб зберегти об’єкт в поточній базі даних, треба вибрати параметр В текущей базе данных в діалоговому вікні Сохранение объекта, ввести ім’я об’єкта і натиснути ОК. Для перейменування запита потрібно впевнитися, що об’єкт бази даних закритий. Далі в вікні бази даних вибрати вкладку Запросы, яка містить потрібний об’єкт. Натиснути кнопку миші на імені об’єкта, а потім знову натиснути кнопку миші, щоб змінити ім’я, ввести нове ім’я. Для видалення об’єкта виділити його і натиснути кнопку Delete. Оптимізація запитів Існує ряд способів прискорення виконання запитів:
Можна виконувати обчислення з любими полями таблиці і зробити обчислюваний вираз новим полем в наборі записів. Для цього можна використати любі із вбудованих функцій Access . Окрім цього, поля запиту можуть містити дані, які отримані за допомогою арифметичних операцій над полями таблиці. Обчислюване поле може також містити результат конкатенції (об’єднання) значінь текстових полів або рядкових (текстових) констант. Щоб створити рядкову константу, потрібно заключити текст в подвійні або одинарні лапки. В якості операції конкатенції використовується символ “&”. Наприклад, можна створити поле, яке буде містити результат об’єднання поля Прізвище і поля Ім’я: [Прізвище]& [Ім’я]. В виразах можна використовувати наступні оператори: + Додає два арифметичних вирази. - Віднімає від першого арифметичного виразу другий. * Перемножує два арифметичних вирази. / Ділить перший арифметичний вираз на другий вираз. \ Заокруглює два арифметичних вирази до цілих значінь і ділить перше на друге. Результат округлюється до цілого. ^ Вираховує степінь першого арифметичного виразу, степінь задається другим арифметичним виразом. MOD Округлює обидва арифметичних вирази до цілих значінь, ділить перше на друге і повертає залишок. & Створює текстовий рядок, як результат приєднання другого рядка в кінець першого. Якщо після клацання в чарунці рядка Поле (де ми маємо ввести вираз) натиснути SHIFT+F2, то відкриється вікно Область ввода, в якому зручно задавати довгі вирази. Використання побудови виразів.
Д Мал. 5. Створювач виразів В верхній частині цього вікна міститься пуста область введення, яка призначена для створення виразів. Можна самому ввести вираз, але легше використати різні кнопки операторів, які містяться прямо під областю введення. В нижній частині вікна знаходяться три списки, призначені для пошуку імен імен полів і функцій, необхідних для створення виразів. Наприклад, в нас є таблиця з даними про учнів 8-А класу, складається вона з таких полів: Прізвище, Ім'я, По батькові, Дата народження, Фізика, Хімія, Алгебра, Геометрія, Історія, Українська література, Українська мова. Формат останніх семи полів числовий (оцінки за 12-ти бальною шкалою). Необхідно обчислити середню оцінку за навчання для кожного учня. В бланку запита вибирається вільне поле і запускається Построитель выражений. В нижній частині вікна, що з’явилося, в правому полі відшукуємо таблицю, на основі якої будується запит. При виборі таблиці, у центральному списку з’являються назви полів. Саме з цього списку потрібно обрати необхідні поля. Формула, за якою пройде обчислення така: Середня оцінка=Сума оцінок по всім предметам/Кількість предметів У верхньому вікні Построителя выражений ця формула набуде такого вигляду: Выражение1:([8Аклас]![Фізика]+[8Аклас]![Хімія]+[8Аклас]![Алгебра]+ [8Аклас]![Геометрія]+[8Аклас]![Історія]+ [8Аклас]![Українська література]+[8Аклас]![Українська мова])/7 Щоб не вводити назви полів вручну, достатньо двічі клацати на них в нижньому середньому списку і вони будуть з’являтися автоматично в верхній області введення. Якщо при побудові виразу потрібно додати стандартну вбудовану функцію, потрібно в лівому нижньому списку вибрати папку Функции/Встроенные функции. В результаті в правому списку з’являться назви функцій. Створивши вираз, в бланку запита можемо дати ім’я новому стовпчику. Для цього акуратно замість слова Выражение1 вводимо власну назву (більш змістовну). Після всіх виконаних попередніх дій потрібно перейти в режим таблиці і оглянути отримані результати. Якщо вони не задовольняють, треба повернутися в режим конструктора і виправити помилки. В разі потреби можна задати порядок сортування даних. Для цього клацнути по рядку Сортировка в стовпчику того поля, по значенням якого потрібно відсортувати записи, і вибрати По возрастанию або По убыванию. Підсумкові запити Іноді цікаві не окремі записи таблиці, а підсумкові значіння по групам даних. Наприклад, нам потрібно знати середню оцінку з Фізики для 8-А класу (з попереднього прикладу). Або сумарну кількість балів з Хімії, набрану класом, в порівнянні з паралельним класом. Відповіді на такі питання дає підсумковий запит. Для обчислення підсумкових значінь потрібно натиснути кнопку Групповые операции на панелі інструментів конструктора запитів, щоб у бланку QBE з’явився рядок Групповая операция. Коли натиснути кнопку Групповые операции на панелі інструменті, Access використовує установку Группировка в рядку Групповая операция для любого поля, який занесений в бланк запиту. Тепер записи по кожному полю групуються, але підсумок не підводиться. Для отримання підсумків потрібно замінити установку Группировка в рядку Групповая операция на конкретну підсумкову функцію. Access дає дев’ять функцій, які забезпечують виконання групових операцій. Можна ввести ім’я функції з клавіатури в рядку Групповая операция бланка запиту або вибрати її в списку, що розкривається. Нижче перераховані підсумкові функції Access: Sum Вираховує суму всіх значень заданого поля в кожній групі. Використовується тільки для числових та грошових полів. Avg Вираховує середнє арифметичне всіх значень даного поля в кожній групі. Використовується тільки для числових та грошових полів. Min Повертає найменше значіння, яке знайдене в цьому полі всередині кожної групи. Для числових полів повертається найменше значення. Для текстових полів - найменше з символьних значень незалежно від регістру. Max Повертає найбільше значіння, яке знайдене в цьому полі всередині кожної групи. Для числових полів повертається найбільше значення. Для текстових полів - найбільше з символьних значень незалежно від регістру. Count.Повертає число записів, в яких значення даного поля відмінні від Null (пусто). StDev.Вираховує стандартне відхилення всіх значінь даного поля в кожній групі. Ця функція використовується тільки для числових або грошових полів. Var Вираховує дисперсію значінь даного поля в кожній групі. Ця функція використовується тільки для числових або грошових полів. First Повертає перше значення цього поля в групі. Last Повертає останнє значення цього поля в групі. Якщо не потрібно включати в групи підсумкового запиту деякі записи, можна додати в бланк запиту одне або декілька полів для фільтра. Для створення фільтра треба в рядку Групповая операция вибрати установку Условие, зняти прапорець Вывод на экран для цього поля і ввести умови відбору.
Access підтримує особливий тип підсумкових запитів, який називається перехресними запитами. Вони дозволяють побачити обчислювані значення в вигляді перехресної таблиці, яка нагадує електронну. Для побудови перехресного запиту потрібно виділити ім’я потрібної таблиці в вікні бази даних і вибрати Новый запрос зі списку кнопки Новый объект на панелі інструментів. В вікні діалогу вибрати Конструктор, а потім у вікні конструктора вибрати команду Запрос/Перекрестный. Access додасть в бланк запиту рядок Перекрестная таблица. В цьому рядку для кожного поля перехресного запиту може бути вибрана одна з чотирьох установок: Заголовки строк, Заголовки столбцов, Значение (яке виводиться в чарунках перехресної таблиці) і Не отображается. Для перехресного запиту потрібно визначити у крайньому випадку одне поле в якості заголовків рядків, одне для заголовків стовпчиків і одне поле значень. Кожне поле, яке є заголовком стовпчиків, повинно мати в рядку Групповая операция установку Группировка. Для поля, яке використовується в якості заголовків рядків, в рядку Групповая операция повинна бути встановлена операція Группировка, вибрана одна з підсумкових функцій або введений вираз, який містить підсумкову функцію. Для поля з установкою Значение вибрати одну з підсумкових функцій або ввести вираз, який використовує підсумкову функцію. Як і в інших типах підсумкових запитів, для відбору даних, які включаються у набір записів, можна використати додаткові поля. Для них необхідно вибрати установку Условие в рядку Групповая операция і Не отображается в рядку Перекрестная таблица, а потім ввести умову відбору. Умову відбору можна також задати для любого поля, яке використовується в якості заголовків стовпчиків, а дані можна сортувати по любим полям (з мовчазної згоди Access сортує заголовки стовпчиків за зростанням). Можна визначити порядок стовпчиків в перехресній таблиці, використовуючи вікно властивостей запиту. Для цього треба клацнути в любому місці верхньої частини (ззовні списків полів) вікна запиту в режимі конструктора і натиснути кнопку Свойства на панелі інструментів. На екрані з’явиться вікно властивостей запиту. Щоб задати порядок виводу стовпчиків в перехресній таблиці, потрібно ввести заголовки так, як вони виглядають в відформатованому вигляді, і в тій послідовності, в якій користувач хоче їх побачити. Потрібно впевнитися, що включені всі заголовки стовпчиків, які з’являються в підсумковій таблиці. Якщо пропущений який-небудь заголовок стовпчика або неправильно введене його ім’я, то він не з’явиться в перехресній таблиці. Обмеження на використання запитів на вибірку для поновлення даних Набір записів, які створює Access при виконанні запитів, виглядає і веде себе майже як реальна таблиця, яка містить дані. Дійсно, в багатьох випадках можна вставляти рядки, видаляти їх і поновлювати дані в наборі записів. При цьому Access внесе необхідні зміни в відповідні базові таблиці запиту. Але в деяких випадках Access не розуміє, які зміни необхідно виконати. Розглянемо для прикладу обчислюване поле. Якщо користувач спробує змінити значення в підсумковому полі, яке є результатом перемноження двох довільних полів, Access не знає, яке з цих полів - він хоче змінити. В той же час можна змінити значення любого з цих полій і відразу отримати результат у підсумковому полі. Access не дозволяє виконати зміни, які діють на декілька рядків базової таблиці. По цій причині не можна змінити дані в підсумковому або перехресному запиті. Access не дозволяє змінити дані в полі, яке має установку Avg або Sum, тому що результат у цьому випадку визначається значеннями з багатьох записів. При роботі з набором записів, які отримані в результаті об’єднання, Access дозволяє змінювати значення любих полів таблиці, яка знаходиться на боці відношення “багатьох”, але не дозволяє поновлювати ключові поля таблиці з боку “один”. Наприклад, один склад може мати багато товарів. В наборі записів, який є результатом об’єднання таблиць Склади і Товари, можна поновити любе поле, яке належить таблиці Товари, але не можна змінити значення полів, які створюють первинний ключ таблиці Склади. Access дозволяє змінити інші поля цієї таблиці. Якщо не бути уважним, можливість поновлювати поля з боку “один” може призвести до небажаних результатів. Створення перехресних запитів за допомогою майстра
За допомогою майстра сводных таблиц дані перехресних таблиць можна вивести на екран, не створюючи окремого запиту. За допомогою зведеної таблиці заголовки рядків і стовпчиків можна змінювати таким чином, щоб різними способами можна було аналізувати дані. Настройка властивостей запиту
M Мал. 6. Вікно бланка запиту Звичайно, користувач вибирає тільки деякі поля, які при виконанні запиту на вибірку необхідно включити в набір записів. Але якщо розробляється запит для використання в формі, і потрібно, щоб всі поля з усіх базових таблиць запиту були доступні в цій формі, встановлюється для властивості Вывод всех полей значення Да. В більшості випадків краще залишити для цієї властивості встановлене з мовчазної згоди значення Нет, а змінювати цю установку тільки для визначених запитів. В залежності від складності запиту Access може знадобитися декілька секунд (хвилин), щоб знайти всі рядки і почати вивід інформації на екран. Якщо користувача цікавлять тільки “перші” або “верхні” рядки набору записів, треба скористатися властивістю Набор значений для виводу інформації на екран, як тільки Access знайде перші n або перші % рядків. Якщо ввести ціле значення, Access виведе на екран результат відразу, щойно знайде задане число рядків. При введенні десяткового значення менше 1 Access почне вивід даних після того, як знайде приблизно такий відсоток рядків. Слід врахувати, що при виконанні сортування Access повинен спочатку відібрати всі записи, і тільки відсортувавши їх, він може визначити перші n рядків. В цьому випадку властивість Набор значений не прискорить вивід інформації на екран. При виконанні запиту часто виникають ситуації, під час яких Microsoft Access знаходить рядки, що повторюються. З мовчазної згоди він включає в результуючий набір тільки унікальні записи. Це означає, що ідентифікатор кожного рядка (первинний ключ таблиці для запиту з єдиною таблицею або сполучення первинних ключів для багатотабличного запиту) унікальний. Якщо користувач не просить Access повертати унікальні значення, в набір записів запиту будуть включені тільки відмінні один від одного рядки. Якщо є потреба бачити всі дані (враховуючи рядки-дублікати), необхідно встановити обидві властивості Уникальные значения і Уникальные записи - в значення Нет. Користувач не зможе змінювати поля в наборі записів запиту, якщо для властивості Уникальные записи встановлене значення Нет. Якщо база даних буде використовуватися в мережі в режимі колективного доступу, то для забезпечення безпеки даних можна дати доступ іншим користувачам до таблиць тільки за допомогою запитів. Власник таблиці завжди має до неї повний доступ. Можна заборонити всім доступ до таблиць і дозволити проглядати деякі дані тільки визначеним користувачам. Ця умова буде працювати, якщо для властивості При запуске предоставляются права встановити значення Пользователя. Якщо для тих, хто використовує конкретний запит, потрібно дозволити “успадкувати права власника” на доступ до таблиць, треба встановити для властивості При запуске предоставляются права значення Владельца. Якщо запит призначений для роботи в режимі колективного доступу, то для забезпечення цілісності даних при редагуванні використовується властивість Блокировка записей. Access скористається блокуванням тільки в тому випадку, коли в вихідну таблицю потрібно записати рядок. Щоб запис блокувався при внесенні до нього змін одним з користувачів, встановлюється для цієї властивості значення Изменяемой записи. Більш жорстка установка Всех записей блокує всі записи, відібрані запитом, до тих пір, допоки запит відкритий одним з користувачів. Використовується ця установка тільки у тому випадку, коли при виконанні запиту робляться численні зміни в деякій таблиці, і інші користувачі не можуть мата доступу до даних цієї таблиці до тих пір, допоки не завершиться виконання запиту.
Для пошуку окремого запису в базі даних і зміни в ній значення поля досить режиму таблиці. Але що робити, якщо потрібно провести однакові зміни в більшій кількості записів. Виконання заміни в кожному окремому запису недоцільно. Перед тим, як приступити до створення запиту на поновлення записів в базі даних, потрібно створити запит на вибірку з умовою відбору, який дозволяє знайти всі записи, які підлягають поновленню. Після того, як Access вибери потрібні записи, користувачу не складно буде перетворити запит на вибірку в запит на поновлення або в інший тип запита на зміну. Запит на поновлення Допустимо, що запит на вибірку створений. Тепер можна змінити запит так, щоб він поновлював рядки таблиці. В режимі конструктора в меню Запрос існують команди для чотирьох типів запитів на зміну: Созданиетаблицы, Обновление, Добавление, Удаление. Окрім цього, для перетворення типу запита можна скористатися списком кнопки Тип запроса на панелі інструментів. Треба вибрати пункт Обновление, щоб перетворити запит на вибірку в запит на поновлення. При подібному перетворенні запита Access змінює заголовок його вікна і додає рядок Обновление в бланк QBE. Він використовується для введення нових значень (або виразів), які повинні замінити в відібраних записах існуючі дані. Якщо потрібно повністю убезпечити себе від любих випадковостей, то перед виконанням запиту на поновлення робиться резервна копія таблиці. Для цього перейти в вікно бази даних, вибрати таблицю, яка буде поновлюватися, і скористатися командою Правка/Копировать. Потім вибрати команду Правка/Вставить і, коли Access виведе на екран відповідне вікно діалогу, надасть копії таблиці інше ім’я. Щоб виконати запит на поновлення, треба вибрати команду Запрос/Запуск або натиснути кнопку Запуск на панелі інструментів. Access продивиться таблицю і визначить кількість рядків, які поновлюються, а потім виводить на екран вікно діалогу. Щоб провести поновлення даних, потрібно натиснути кнопку Да в вікні діалогу. Якщо користувач бачить, що число поновлюваних рядків в вікні діалогу не відповідає очікуваній кількості або не впевнений, що Access поновить потрібні записи або поля, натиснути кнопку Нет, щоб відмовитися від виконання запиту і поновлення даних. Після виконання запиту можна перевірити зміст таблиці, щоб впевнитися, що зміна даних проведена правильно. Щоб повторити запит на зміну, потрібно вибрати його в вікні бази даних і натиснути кнопку Открыть. Після запуску запита на зміну з вікна бази даних Access виводить на екран вікно діалогу, яке запитує підтвердження для його виконання. В вікні підтвердження натиснути кнопку Да, щоб завершити поновлення даних. Якщо треба відмінити вивід на екран вікна підтвердження, вибирається команда Вид/Настройка і на вкладці Правка/поиск вікна діалогу Параметры в секції Подтверджение знімається прапорець Запросов на изменение. За допомогою запита на поновлення можна за один раз змінити значення декількох полів, включивши їх у бланк запиту і визначивши вирази, які будуть використовуватися для поновлення цих полів. При цьому для обчислення нового значення деякого поля можна використати значіння інших полів. Перед поновленням запису в базовій таблиці або запиті Access робить копію вихідного запису. Він використовує задані вирази до вихідного запису і вносить результат в копію. Потім він змінює зміст бази даних, переписуючи поновлену копію в таблицю. Створення нової таблиці Іноді потрібно зберігати в новій таблиці дані, які отримані за допомогою запита на вибірку. Створення нової таблиці прискорить роботу додатка, особливо якщо при виконанні запита об’єднуються декілька таблиць. Збереження набору записів запита як таблиці корисно і в тому випадку, коли нашаровується підсумкова інформація і її треба довго зберігати після видалення з бази вихідних даних, на яких базувався запит. Припустимо, існує запит на вибірку. Щоб перетворити запит на вибірку в запит на створення таблиці, треба вибрати команду Запрос/Создание таблицы. Access виведе на екран вікно діалогу Создание таблицы. Користувач вводить ім’я для підсумкової таблиці і тисне кнопку ОК, щоб закрити вікно діалогу. Закінчивши з установками в запиті на створення таблиці, можна виконати його за допомогою команди Запрос/Запуск або кнопки Запуск на панелі інструментів. Access створює записи, розміщає їх в нову таблицю і інформує користувача про кількість рядків, які вставляються в таблицю, на екран виводиться вікно діалогу для підтвердження створення таблиці. Натиснути кнопку Да, щоб створити нову таблицю і помістити до неї записи. Після цього потрібно переключитися в вікно бази даних і клацнути по вкладці Таблицы, щоб відкрити список таблиць. Вибирається в ньому тільки що створену таблицю і відкривається вона в режимі таблиці. Можна оглянути отримані дані. В режимі конструктора можна змінити імена полів або формати. Запит на додавання За допомогою запиту на додавання можна скопіювати вибрані записи і вставити їх в іншу таблицю. Окрім того, запит на додавання можна використати для перенесення даних з іншого джерела в свою базу даних, щоб потім відредагувати отримані дані і вставити їх в існуючу таблицю. Запит на додавання, подібно запиту на створення таблиці, дозволяє зібрати обчислені підсумкові дані і зберегти їх в визначеній таблиці. Одна з переваг запиту на додавання в тому, що є можливість повністю визначити поля і задати їх властивості перед вставленням даних в кінцеву таблицю. Недоліком цього типу запитів є велика ймовірність помилок, оскільки дані, які додаються, можуть не відповідати типам полів кінцевої таблиці. Перед виконанням запиту на додавання можна запустити його як запит на вибірку (як і в випадку інших запитів на зміну), щоб впевнитися в тому, що копіюються потрібні записи. Можна взагалі почати з побудови запита на вибірку, виконати його і тільки після цього перетворити його в запит на додавання. Також можна відразу створити запит на додавання і перевірити дані, що додаються, переключившись з режиму конструктора в режим таблиці. Після перевірки правильності додавання записів можна виконати запит прямо з вікна конструктора або зберегти і потім запустити його з вікна бази даних. Цікавим прикладом використання запитів є добування застарілих даних з робочої таблиці і копіювання їх в архівну таблицю. З часом в основній таблиці можуть накопиться тисячі записів - контракти або замовлення, які вводяться на протязі ведення справи. Скоріше за все дані річної давнини для поточної роботи на потрібні. Періодично прибираючи в архівні таблиці “старі” дані, збільшується швидкодія основних частин додатку. Помилки при виконанні запитів на зміну Перед внесенням відповідних змін в базу даних Microsoft Access аналізує запит і дані, які змінюються при його виконанні. При наявності помилок Access завжди дає користувачу можливість відмінити виконання запиту на зміну. Під час виконання запита на зміну Access розрізняє чотири категорії помилок:
Видалення групи записів Видалити групу записів з бази даних можна за допомогою запита на видалення. Після підведення підсумків і копіювання старих записів (наприклад, контрактів) в архівну таблицю, ці записи краще видалити з основної таблиці. Очевидно, що подібна операція буде виконуватися не однократно. Тому можна створити запит для автоматичного відбору на основі поточної дати записів, які видаляються. З іншого боку, в запит можна включити параметр, щоб користувач міг вказати потрібну дату після запуску запита на видалення. В любому випадку користувачу не прийдеться змінювати визначення запиту перед кожним його запуском. Як і у випадку запита на поновлення, корисно спочатку вияснити, які саме записи будуть видалені запитом. Тому починають з запита на вибірку, який відбирає їх. Якщо запит на вибірку вибрав ті самі записи, що були скопійовані в архівну таблицю за допомогою запита на додавання, то можна повернутися в режим конструктора, щоб запустити запит і видалити ці рядки з основної таблиці. У зв’язку з тим, що не можна продивитися видалені записи, розумно зробити резервну копію таблиці, особливо у тому випадку, якщо запит на видалення виконується уперше. Для створення копії таблиці виконується процедура, яка описана в розділі “Виконання запиту на поновлення”. Запит на вибірку, відкритий у режимі конструктора, можна перетворити в запит на видалення, виконавши команду Запрос/Запуск. Вносити в запит які-небудь додаткові зміни не потрібно. Щоб Microsoft Access видалив записи, потрібно вибрати команду Запрос/Запуск або натиснути кнопку Запуск на панелі інструментів. Якщо в запит включений параметр, потрібно ввести його значення в вікно діалогу Введите значение параметра. Access відбере записи, які підлягають видаленню, і виведе на екран вікно діалогу для підтвердження видалення. Для завершення процесу видалення натиснути кнопку Да. Якщо виникають сумніви в необхідності цієї операції, натискається кнопка Нет, щоб відмінити виконання запиту на видалення. Тепер ми знаємо, як скопіювати старі записи в архівну таблицю, як забезпечити копіювання в архівні таблиці супутніх записів, як видалити старі записи з основної таблиці. Для ефективної роботи додатку також необхідно проглядати основні таблиці і видаляти з них записи з даними, які не використовуються.
Приміщення з ПК повинні мати природне та штучне освітлення. Коефіцієнт природного освітлення /КПО/ в кліматичних зонах зі стійким сніговим покровом повинен бути не нижче 1,2 %. Штучне освітлення в приміщеннях з ПК повинно здійснюватися системою загального освітлення. Як джерела світла при штучному освітленні повинні застосовуватися переважно люмінесцентні лампи. Штучне освітлення повинно забезпечувати на робочих місцях освітленість не нижчу, як вказано в таблиці. Таблиця 1Нормовані рівні освітленості в приміщенні з ПК
Примітка. В - вертикальна площина, Г - горизонтальна площина. Загальне освітлення повинно бути виконано у вигляді суцільних або переривчастих ліній світильників. Співвідношення яскравості поверхонь, які знаходяться в полі зору повинно бути в робочій зоні в межах 3:1, між поверхнею екран-стіл і в подальшому оточенні стіни, дошки, підлоги, стелі - 10:1. Коефіцієнт відображення поверхонь і кольорової обробки інтер'єру повинен бути: стелі - 0,7-0,8; стін - 0,5-0,6; підлоги - 0,3-0,4; столу - 0,45-0,5; клавіатури - 0,4-0,6. В освітлювальних установках приміщень слід застосовувати систему загального освітлення, виконану стельовими або підвісними люмінесцентними світильниками, рівномірно розташованими по стелі рядами паралельно світлопроводами. Екран монітора повинен розташовуватись в зоні захисного кута світильника і його проекція повинна бути поза екраном монітора. Світильники не повинні відображатись на екрані ПЕОМ. Люмінесцентні світильники повинні включатись рядами. Для освітлення приміщення повинні застосовуватись світильники серій ЛП013, ЛП031, ЛП033, виконання 001 і 006, ЛС002, ЛС04 з металевою екрануючою решіткою і непрозорими боковинами. В якості джерел світла рекомендується використовувати люмінесцентні лампи потужністю 40 Вт, або енергоекономічні потужністю 36 Вт типу ЛБ, ЛХБ як найбільш ефективні і прийняті з точки зору спектрального складу, температура випромінювання яких знаходиться в діапазоні /в межах/ 3500-42000К. Перегорілі лампи повинні своєчасно замінюватись новими по мірі виходу з ладу. Величина коефіцієнту пульсації освітленості не повинна перевищувати 5% Необхідно перебачити обмеження прямої близькості від джерел природного та штучного освітлення. Яскравість великих поверхонь (вікна, світильники і т. ін.), що знаходяться у полі зору, не повинна перевищувати 200 кд\кв.м. Мірою захисту від прямої близькості має бути зниження яскравості видимої частини джерел світла шляхом застосування спеціальних розсіювачів, відбивачів та інших світлозахисних пристроїв, а також правильне розміщення робочих місць відносно джерел світла. Яскравість полисків на екрані не повинна перевищувати 60 кд\кв.м. Яскравість стелі при застосуванні системи відбитого освітлення не повинна перевищувати 200 кд\кв.м. ЛІТЕРАТУРА:
ВИСНОВКИ В даній дипломній роботі була розглянута система керування базою даних (СКБД) Access, а власне організація запитів, різних за формою і змістом. Було доведено, що запити – гнучкий і зручний інструмент обробки даних. Конструктор запитів в Access дозволяє створити практично любий запит. Конструктор дозволяє проглядати запит трьома різними способами – безпосередньо конструктор, режим SQL (в роботі не розглядався) і набір даних (таблиця). Слід враховувати, що запит не зберігає дані. Якщо необхідно зберегти проміжні дані, то робити це необхідно в новій таблиці, скопіювавши і вставивши стару таблицю. В частині 1 було розглянуто створення запитів на вибірку даних і їх поновлення. Звичайно, для побудови запиту використовується конструктор, в якому розміщений бланк запиту QBE (Query By Example - запит по зразку). Саме тут виконується вся робота по створенню нового запиту. В кожний рядок бланка записуються різні умови: вибір полів, сортування, умови відбору. Умови відбору даних різноманітні: за конкретним значенням поля, за допомогою спеціальних операторів OR, AND, BETWEEN, IN, LIKE. Також розглянуті умови відбору для дати і часу, використання параметрів запиту з відповідним типом даних, згаданий спосіб створення запиту на основі іншого запиту. Всі можливості запитів, які основані на одній таблиці, відповідають і створенню багатотабличних запитів. Ці запити здатні відбирати дані з декількох таблиць, що особливо корисно при створенні таких компонентів систем керування базами даних, як форми і звіти. Для полегшення роботи користувача, особливо початківця, рекомендоване створення запиту за допомогою майстра запитів. В частині 2 розглянута можливість обчислення будь-яких полів таблиці і створення нового поля таблиці на основі обчислюваного виразу. Обчислювані вирази будуються за допомогою арифметичних операцій над полями таблиці. Для побудови складних виразів використовується Построитель выражений. Особлива увага приділяється створенню підсумкових запитів (підсумкові функції Access), які є результатом по групам даних. В частині 3 розглянутий такий тип підсумкових запитів, як перехресні запити. Вони дозволяють побачити обчислювані значення в вигляді перехресної таблиці, яка нагадує електронну. В частині 4 показані запити на зміну даних, які допомагають зручно змінювати дані одразу в декількох записах. Також можна створювати нові таблиці, запити на додавання (з інших баз даних в нашу). Запити такого типу допомагають видаляти записи, групи записів. В частині 5 розглянуті питання безпеки праці і вимоги до виробничого освітлення робочого місця.
|