Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Проектування системи обробки даних. Засоби роботи з даними

Конкретні цілі заняття: демонструвати навички проектування системи обробки даних.

Основні поняття теми

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

 

Проектування запитів

При роботі з таблицями у нас є можливість проглянути всі дані в будь-якій таблиці. Що робити, якщо існує необхідність лише у даних з певних полів або якщо потрібно одночасно бачити дані про пацієнтів і обстеження, які вони проходили, а містяться вони в різних таблицях? Для цього створюється запит. Існує декілька типів запитів, що виконують різноманітні функції. Розглянемо найпоширеніший тип запитів – запит на вибірку. Разом з таблицею запит може служити джерелом даних для форми і звіту.

У MS Access, починаючи з версії 2000, можна одночасно проглядати зв’язані дані безпосередньо в таблицях. Для цього потрібно відкрити головну таблицю, після чого відповідні записи підлеглої таблиці з’являються на екрані, якщо натиснути на значок «+» зліва від необхідного. На рис. 19 зображено таблицю «Пацієнти», відкритув режимі таблиці. Їй підпорядковується таблиця «Співробітники», яка у цьому разі буде підтаблицею (використовується за замовчуванням, оскільки між таблицями встановлено зв’язок за зовнішнім ключем). Таблиця «Журнал_прийому», у свою чергу підпорядковується таблиці «Співробітники». Тепер для будь-якого пацієнта можна в одному вікні побачити список його відвідувань лікарів і дати обстежень.

Рис. 19. Перегляд зв’язаних записів за допомогою підтаблиць

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

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

Для створення запиту на вкладці Запросы вікна бази даних клацнемо на кнопці Создать. Як і при створенні інших об’єктів, MS Access пропонує скористатися послугами майстра. На рис. 20 зображено діалогове вікно, що з’являється на екрані після натискання на Создать.

Рис. 20. Діалогове вікно створення нового запиту

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

При створенні запиту для медичної картки скористаємося конструктором запитів: у діалоговому вікні, зображеному на рис. 20, виберемо пункт Конструктор і натиснемо на ОК. На екрані з’явиться вікно конструктора запитів і діалогове вікно для додавання таблиць у вікно конструктора запиту (рис. 21).

Рис. 21. Додавання таблиці або запиту у вікні запиту

Для того, щоб додати таблиці в запит, потрібно їх виділити і клацнути на кнопці Добавить. Після додавання всіх потрібних таблиць натискаємо Закрыть.

До запиту можна додати не лише таблицю, а й інший запит, як це показано на рис. 21. Таким чином, ми можемо створити запит на основі іншого запиту. Більше того, у запиті можна з’єднати і таблиці, і запити. Іноді побудова запиту на основі іншого запиту залишається єдиним способом вирішення деяких складних завдань.

Якщо між таблицями бази даних встановлено зв’язки за допомогою схеми даних, ці зв’язки успадковуються при додаванні зв’язаних таблиць до запиту. Проте ці зв’язки в запиті можна видалити, як можна і встановити зв’язок за іншими полями. Для видалення в запиті зайвого зв’язку потрібно виділити його клацанням миші (в зоні лінії зв’язку) і в контекстному меню вибрати команду Удалить. Встановлюють зв’язок як у схемі даних. Можливо, ця аналогія іноді приводить до помилкової думки про те, що з’єднання таблиць у запиті забезпечує цілісність даних для встановлюваних тут зв’язків. Це не так. Зв’язок, що встановлюється в запиті, показує, як слід з’єднати рядки з різних таблиць при виконанні запиту. У мові SQL ційоперації відповідає пропозиція JOIN. А цілісність виявляється при операціях модифікації даних і встановлюється операторами опису схеми мови SQL (в Access для цього використовується візуальний засіб, що називається схемою даних).

Рис. 22. Вікно конструктора запитів

Як видно з рис. 22, вікно конструктора запитів складається з двох частин. У верхній частині містяться таблиці, які використовуються у запиті. Тут можна додавати і видаляти таблиці, встановлювати і видаляти зв’язки між ними, а також задавати властивості, загальні для всього запиту.

У нижній частині бланка вміщено потрібні поля (у рядку Поле), встановлено порядок сортування, формулюються умови відбору записів, а також, залежно від типу запиту, вводиться додаткова інформація. При цьому в запиті на вибірку є можливість виведення або всіх полів з таблиць, або тільки вміщених у нижню частину вікна. Щоб у запиті виводилися всі поля з таблиць запиту, у властивостях запиту потрібно встановити для властивості Выведение всех полей значення Да. Інакше (значення Нет) виводяться тільки ті поля з нижньої частини бланка запиту, у яких встановлено прапорець у рядку Вывод на экран (приймається за замовчуванням). Тому в тому випадку, якщо встановлено режим виведення всіх полів, у нижню частину бланка запиту має сенс поміщати тільки ті поля, для яких встановлено порядок сортування або формулюються умови відбору.

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

Вікно властивостей запиту, яке можна вивести на екран за допомогою команди Вид/Свойства має контекстний характер, тобто в цьому вікні в кожен момент часу представлено властивості виділеного елемента запиту: таблиці, зв’язку, поля, а також усього запиту. Щоб побачити загальні властивості запиту, потрібно виконати клацання у верхній частині бланка, не потрапивши при цьому на таблицю або лінію зв’язку, оскільки в цьому разі візуалізується властивості таблиці або зв’язку відповідно.

Отже, створимо запит для картки пацієнта на послуги, які він отримав. Для цього скористаємося режимом конструктора і додамо до запиту три таблиці – «Пацієнти», «Журнал_прийому» і «Співробітники», оскільки нам знадобиться виводити в звіті крім відомостей про пацієнта послуги і відвідування лікарів пацієнтом та ім’я співробітника (лікаря). Назвемо запит Картка_прийом. Відзначимо, що в цьому випадку використаноті зв’язки між таблицями, які були автоматично запропоновані відповідно до схеми даних.

Обчислювані поля в запиті

У наший базі даних зберігається інформація про надані пацієнту послуги, а також їх вартість (таблиця «Журнал_прийому»). Окрім цієї інформації у картці необхідно вказувати також сумарну вартість отриманих пацієнтом послуг. Можна було передбачити в базі даних поле для зберігання цього значення. Проте в цьому немає потреби, оскільки можна використовувати обчислювані поля, які допускаються не тільки на формах, а й у запитах і звітах.

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

Щоб створити обчислюване полев запиті, потрібно ввести в рядок Поле бланка запиту ім’я цього поля (не збігається з наявними є у запиті іменами полів). Після імені поставити двокрапку і набрати формулу без знаку «=», що реалізовує потрібні обчислення. Як приклад розглянемо обчислюване поле Сума_послуг, яке ми використовуватимемо для підрахунку загальної вартості послуг, наданих кожному пацієнту (рис. 23).

Рис. 23. Вікно конструктора запиту. Загальна_Вартість

Відповідно до вищесказаного, введемо у вільний стовпчик наступний текст:

Сума_послуг: Sum(тблЖурнал_прийому!Цiна). У формулі підсумовується зміст поля длякожного запису, унаслідок чого поле Сума_послуг міститиме загальну кількість послуг, отриманих кожним пацієнтом. Зверніть увагу на те, що для полів Пацієнт, Адреса, НомерКартки і НомерІсторХвор використовується групова операція Групировка. Це пов’язано з тим, що пацієнт може отримувати кілька послуг, але нас цікавить не вартість кожної послуги, а загальна вартість послуг.

Використання будівника виразів

При введенні з клавіатури неминучі помилки, пов’язані, як правило, із неправильним записом імен полів і таблиць. Уникнути помилок при наборі складних формул дає змогу Будівник виразів– сервісна програма, яка забезпечує доступ до всіх об’єктів бази даних і пропонує візуальні засоби побудови будь-яких виразів.

Щоб запустити цю програму, достатньо в контекстному меню вибрати команду Построить. Після закінчення роботи з будівником створений вираз буде записаний у тому місці, де розташовувався курсор у момент викликання будівника виразів.

Продемонструємо роботу з будівником на прикладі наведеної вище формули. Вікно будівника виразів наведено на рис. 24.

Рис. 24. Вікно будівника виразів

Сам вираз будується у верхній частині вікна будівника. Це текстова область, тому тут допускається введення з клавіатури. Часто використовувані оператори можна вставити у вираз за допомогою кнопок, розташованих під цією областю. Нижня частина вікна містить три списки. У лівому списку в структурованому вигляді представлено всі об’єкти бази даних. Щоб вибрати конкретний об’єкт, потрібно виконати подвійне клацання по папці відповідної категорії, а потім виділити потрібний об’єкт. Наприклад, щоб дістати доступ до полів таблиці «Журнал_прийому», потрібно двічі клацнути по папці Таблицы, після чого виділити цю таблицю. Після цього в середньому списку з’являться елементи об’єкта, вибраного в лівому списку. Нарешті, якщо який-небудь елемент середнього списку сам містить інші елементи, то при виборі цього елемента в правий список виводитимуться його елементи. Так, якщо необхідно помістити у вираз одну із вбудованих функцій MS Access, при виборі об’єкта Вбудовані функції в середній список заносяться категорії функцій. Конкретна ж функція вибирається з правого списку після зазначення потрібної категорії (рис. 25). Слід зазначити, що якщо ви не знаєте, у якій з категорій розміщена потрібна функція, можна вибрати елемент < Все >; тоді в правий список будуть виведені імена всіх наявних функцій.

Щоб побудувати потрібний нам вираз, спочатку введемо в область побудови виразів ім’я поля з двокрапкою (Сума_послуг:). Виберемо в лівому списку Функции, а потім Встроенные функции. Після цього в середньому списку вибираємо категорію Статистические, а в правому списку функцію Sum і натискаємо Вставить (замість цього можна виконати подвійне натискання на ім’я функції). Далі вибираємо таблицю «Журнал_прийому» і в ній поле Ціна й аналогічно вставимо цей операнд замість виразу в дужках; щоб повернутися у вікно конструктора запитів, слід клацнути на ОК. Уже перебуваючи в конструкторі запитів, не забудьте натиснути клавішу < Enter >, щоб виконати компіляцію побудованого виразу. Якщо синтаксис виразу помилковий, з’явиться повідомлення про помилку, після чого можна буде повернутися в будівник і виправити її.

Рис. 25. Вибір функції в будівнику виразів

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 84; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.