Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_12_MS_Access_praktika_nachalo.doc
Скачиваний:
4
Добавлен:
27.11.2018
Размер:
1.95 Mб
Скачать
      1. Створення схеми даних

Очевидно, що ті дії, які були детально описані для таблиці Паперу, слід виконати і для решти інформаційних масивів: Агенти, Портфелі, Заявки. В результаті ми отримаємо систему таблиць бази даних . Підкреслимо, саме систему, оскільки що знаходяться в них дані тісно і змістовно зв'язані між собою. Дійсно, дані, що знаходяться в полі КодАгента таблиці Портфелі, мають бути узгоджені за типом і розміром з даними, що знаходяться в однойменному полі таблиці Паперу. Більш того, логіка даного завдання вимагає, щоб, працюючи з інформацією, що відноситься до портфеля, ми могли одночасно звернутися до даних, що характеризують поточного агента, і так далі Механізм опису логічних зв'язків між таблицями в Access реалізований у вигляді об'єкту, званого Схемою даних. Перейти до її створення можна з панелі інструментів База даних, доступною з головного вікна. Альтернативний варіант виклику даного режиму доступний через меню Сервіс > Схема даних. Вигляд, який матиме схема даних для побудованих на попередніх кроках таблиць, представлений на рис. 11.

Рис.11. Створення схеми даних

Інтерфейс завдання зв'язків між полями в схемі заснований на «перетягуванні» (переміщенні при лівої кнопки миші, що натискує) вибраного поля і «накладенні» його на те поле, з яким має бути встановлена зв'язок. Для скріплення відразу декілька полів їх слід переміщати при клавіші Ctrl, що натискує. Виділяють декілька типів зв'язків між таблицями в схемі. «Одін до одного» (1:1) — одному значенню поля в одній таблиці відповідає тільки одне значення поля в іншій. «Одін до багатьом» (1:∞) — одному значенню поля в одній таблиці відповідає декілька (одне або більш) значень в іншій.

Найважливішим завданням, яке дозволяє вирішувати схема, є забезпечення логічної цілісності даних в базі. Так, в базі даних TradeTest порушення цілісності може виникнути в разі видалення з таблиці Паперу записів по тих паперах, про які існують записи в таблицях Портфелі або Заявки, внаслідок чого в їх складі опиняться заслання на «втрачені» коди. Очевидно, що цьому можна запобігти, якщо каскадний видалити як записи з таблиці Паперу, так і записи з пов'язаних з нею таблиць. Такий ефект в Access може бути досягнутий за рахунок завдання певних властивостей для зв'язку. Щоб це зробити, необхідно клацнути кнопкою миші, знаходячись на лінії схеми, що позначає зв'язок. Після цього з'являється діалогове вікно, призначене для зміни властивостей зв'язку. Як видно з рис. 12, в рамках режиму забезпечення цілісності даних можна по вибраному зв'язку задати як каскадне оновлення значень для зв'язаних полів, так і каскадне видалення зв'язаних записів.

Рис. 12. Завдання властивостей зв'язку

      1. Розробка запитів до бази даних

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

  • пошук запису по умові (див. функцію меню Правка > Знайти);

  • сортування записів в необхідному порядку (див. функцію меню Запису > Сортування);

рис. 13. Контекстне меню роботи з даними в таблиці

Перераховані функції також доступні з контекстного меню, що розкривається, такого, що активізується після натиснення правої клавіші миші (рис. 13). Даний інтерфейс представляється особливо зручним при практичній роботі з таблицями Access. Проте цих можливостей явно недостатньо для завдань обробки даних, які виникають в реальних економічних застосуваннях. Для їх вирішення в СУБД Access служить розвинений інструментарій запитів до бази даних. Поняття запиту в Access уживається в розширювальному плані. Його слід трактувати як деяку команду на вибір, перегляд, зміну, створення або видалення даних. Також не можна не відзначити значення запитів для вирішення завдань аналізу даних.

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

Найменування паперу; Найменування агента; Тип паперу; Номінальна вартість пакету, що обчислюється як твір номінальної ціни на кількість паперів даного вигляду, яким володіє поточний агент.

Для її вирішення слід перейти до розділу Запити головного вікна бази даних де буде запропоновано декілька варіантів створення запитів.

Ми зупиняємося на режимі Конструктора.

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

В процесі формування запиту можна виділити лаву принципових этапов-

  • опис структури запиту (тобто вказівка того, яка інформація долж на виводитися в колонках таблиці запиту);

  • завдання порядку, в якому дані повинні виводитися при виконанні за просо;

• завдання умов виведення записів в запиті. На рис. 14 показано вікно конструктора запиту.

рис. 14. Вікно конструктора запиту

Відзначимо, що колонки таблиці запиту на мал. 14 містять як поля таблиць, так і вирази, побудовані на основі полів. Зокрема, остання колонка (їй привласнено ім'я Номінстоїм) містить вираження [Номінал]*[Суммоб'ем], при цьому записи виводитимуться відсортованими за типом паперів. По аналогії з принципами організації інтерфейсу роботи з таблицями даних, при конструюванні запитів також існує можливість оперативного переходу з режиму Конструктор в Режим таблиці. При першому вході в Режим таблиці з'являється запрошення зберегти знов створений запит. В даному випадку йому дано ім'я Структурапортфелей. На рис. 15 показано вікно, в якому виводяться записи, відповідні цьому запиту.

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

Рис. 15. Виведення даних за запитом Структурапортфелей

На завершення огляду засобів побудови запитів в СУБД Access слід вказати також і на те, що в неї окрім потужного і ефективного візуального конструК" тора вбудований також і режим безпосереднього введення SQL-выражений, що визначає запит. Даний режим існує паралельно і доступний з меню Вигляд > Режим SQL (а також з піктограми Вигляд на панелі інструментів). Перейти в нього, зокрема, можна проглянути SQL-выражение, відповідне раніше побудованому запиту.

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

Кажучи про зв'язок між режимом візуального конструктора запитів і режимом побудови SQL-выражений, необхідно відзначити, що існує природний і логічний зв'язок між типами запитів і SQL-операторами, що реалізовують їх. Зокрема, запиту на вибірку відповідає оператор SELECT, запиту на створення — CREATE, запиту на оновлення — UPDATE, запиту на видалення — DELETE і так далі

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]