русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Заняття 8


Дата додавання: 2013-12-23; переглядів: 1785.


План

План

1. Вступ. Використання вікна Схема данных для скріплення таблиць.

2. Визначення взаємозв'язку один-до-багатьох

3. Керування зв'язками один-до-багатьох

 

Хід заняття:

1. Організаційний момент.

2. Актуалізація опрних знань. Дати відповіді на запитання:

1.Для чого використовують перевірку введення даних в комірку?

2.Яким чином можна задати Умову на введення певних даних, в якому режимі і на якому етапі створення БД?

3. Чи можна створити власний текст повідомлення про помилку?

3. Пояснення нового матеріалу.

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

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

Структура бази даних такого роду (звана часто двовимірною або плоскою базою даних) за звичай приводить до двох серйозних проблем.

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

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

А зараз уявіть собі базу даних, яка зберігає інформацію в чотирьох окремих таблицях, як показано на рис. 5.18.

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

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

Рис. 5.18. Вікно схеми даних

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

o Таблиця Закази містить один запис для кожної позиції кожного рахунку; тут використовуються поля КодЗаказу, КодКлієнта і ДатаВиконання.

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

 

Використання вікна Схема данных для скріплення таблиць

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

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

 

Найпростіший тип зв'язку між таблицями називається один-до-багатьох. При такому взаємозв'язку кожний запис в первинній таблиці відповідає багатьом записам в зв'язаній таблиці. Кожний запис в таблиці Постачальники (первинна таблиця) відповідає одному або кільком записам в таблиці Товари. І навпаки, кожний запис про продукт має в точності відповідати одному запису про постачальника. Жодний продукт не можна записати без вказівки постачальника. Зв'язок один-до-багатьох в буденному житті зустрічається найчастіше: в навчальній аудиторії один викладач має безліч студентів; в бізнесі один споживач має безліч замовлень, а кожний рахунок має безліч позицій.

Два інші типи взаємозв'язків є менш загальними, проте іноді також виявляються корисними.

Як можна зрозуміти з назви, зв'язок типу один-до-одного зберігає інформацію, в якій єдиний запис в одній таблиці відповідає одному і лише одному запису в іншій таблиці.

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

Реально певна таблиця зв'язків є одним з найважливіших структурних елементів бази даних. Вікно Схема данных забезпечує ясне графічне представлення всіх наявних таблиць і запитів для бази даних і дозволяє вам визначати і редагувати зв'язки між ними. У вікні Схема данных ви можете встановити логічні зв'язки між будь-якими комбінаціями цих об'єктів.

Перш, ніж намагатися змінити або створити зв'язки, закрийте відкриті таблиці. Для відкриття вікна Схема данных виберіть Сервис → Схема данных. Якщо в поточній базі даних у вас не визначені деякі зв'язки між таблицями, то над вікном Схема данных автоматично з'явиться діалогове вікно Добавить таблицу. В цьому вікні наведений список наявних таблиць-об'єктів у вашій базі даних. Якщо це діалогове вікно не наведене, то виберіть Связи → Добавить таблицу.

Для роботи з вікном Схема данных ви також можете використовувати кнопки панелі інструментів Access. Для відкриття вікна натисніть на кнопці Отобразить связи, а потім на кнопці Добавить таблицу для відображення списку доступних таблиць-об'єктів.

 

Визначення взаємозв'язку один-до-багатьох

 

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

1. Якщо дві таблиці не відображено на екрані, використайте діалогове вікно Добавить таблицу для вибору першої таблиці — наприклад, Постачальники, а потім натисніть по кнопці Добавить. У вікні Схема данных відобразиться список полів таблиці Постачальники. Повторіть цю операцію, щоб відобразити обидві таблиці в діалоговому вікні Схема данных. Потім натисніть по кнопці Закрыть.

2. Переконайтеся, що визначаючі зв'язок поля присутні в обох списках полів. Натисніть на полі першої таблиці і перетягніть його поверх відповідного поля другої таблиці. Коли ви відпустите кнопку миші, з'явиться діалогове вікно Изменение связей, показане на рис. 5.19. Це діалогове вікно ідентифікує відповідні поля, зв'язуючі дві таблиці, а також визначає тип створеного взаємного зв'язку.

3. Перевірте інформацію, що відображається в діалоговому вікні Изменение связей, щоб підтвердити правильність визначення: в даному прикладі Access створює зв'язок між таблицями Постачальники і Товари, грунтуючись на полі КодТовара кожної таблиці. Як можна бачити в діалоговому вікні Изменение связей на рис. 5.19, Access визначила, що це зв'язок типу один-до-багатьох.

Рис. 5.19. Діалогове вікно для зміни зв’язків

4. Якщо ви бажаєте забезпечити несуперечність ваших даних, то виставіть прапорець опції Обеспечение целостности данных.

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

6. Щоб закрити вікно Схема данных і зберегти створений зв'язок, потрібно натиснути на кнопці Закрыть.

Керування зв'язками один-до-багатьох

Після створення зв'язку один-до-багатьох під час відкриття первинної таблиці (тобто таблиці з боку зв'язку "один") в режимі таблиці можна знайти одну важливу деталь. Access автоматично створює в цій таблиці підтаблицю даних, що дозволяє відображати відповідні записи з іншої таблиці. Видимий знак підтаблиці даних, принаймні спочатку, — це стовпець із знаками плюс (відомими як маркери розвертання), розташований у лівій частині таблиці. Якщо натиснути на будь-якому з цих маркерів, то можна побачити всі детальні дані із зв'язаної таблиці (тобто з таблиці з боку зв'язку "багато хто") для вказаного запису (рис. 5.20).

Рис. 5.20. Вигляд зв’язку один-до-багатьох

Для згортання відображеної інформації в підтаблиці даних натисніть на знакові мінус, розташованому зліва від розгорненої таблиці. Щоб розвернути або згорнути всі дані підтаблиці, виберіть Подтаблица → Развернуть все з меню Формат або, відповідно, Подтаблица → Свернуть все з меню Формат.

4.Закріплення вивченого матеріалу:

· Які типи зв'язків ви знаєте. Проведіть аналогію з життєвими прикладами.

· Визначте зв'язок один-до- багатьох.
Заняття 7

Тема. Забезпечення цілісності даних

Мета. Вивчити логічну несуперечливість зв’язків в таблицях даних; розвинути свій кругозір стосовно типів зв'язків; виховувати інтерес до майбутньої професії через інтерес до предмету.

Тип заняття. Лекція.

1. Забезпечення цілісності даних

2. Розбиття таблиці для уникнення дублювання даних

3. Створення зв'язків із зовнішніми базами даних

Хід заняття:

1.Організаційний момент.

2.Актуалізація опрних знань. Дати відповіді на запитання:

· Які типи зв'язків ви знаєте. Проведіть аналогію з життєвими прикладами.

· Визначте зв'язок один-до- багатьох.

4. Пояснення нового матеріалу

 

Забезпечення цілісності даних

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

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

Припустимо, що користувач створив зв'язок типу один-до-багатьох між таблицями Постачальники і Товари, використавши як загальне поле КодТовара. Користувач відкриває таблицю Товари і намагається додати новий запис, вводячи значення S23 в поле КодТовара. Коли він намагається ввести новий запис в таблицю, Access перевіряє таблицю Товари на наявність подібного запису. Якщо вона такий не знаходить, то користувач одержує повідомлення про помилку, показане на рис. 5.21.

Рис. 5.21. Повідомлення про помилку

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

 

Розбиття таблиці для уникнення дублювання даних

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

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

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

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

Щоб запустити майстер аналізу таблиць, потрібно вибрати Анализ → Таблица з меню Сервис. В двох перших діалогових вікнах наведено ввідну інформацію: коротка довідка про природу проблеми (з використанням виразного прикладу) і відомості про її вирішення. Майстер дає можливість вивчити приклад у всіх найтонших деталях.

Рис. 5.22. Таблиця, яка підлягає розбиттю на декілька зв’язаних

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

Наступне вікно майстра аналізу представляє структуру полів таблиці, яку майстер пропонує створити з оригінальної таблиці. В цьому вікні також вказується напрям зв'язків один-до-багатьох, які будуть визначені між таблицями. В ньому можна перетягнути поля з однієї таблиці в іншу, а також безпосередньо забезпечити таблиці описовими іменами. В цьому вікні також можна виконати деякі важливі задачі:

- призначити новим таблицям осмислені імена замість визначених за замовчуванням Таблиця 1, Таблица 2 і т.д.

- перевірити розділення полів і в разі необхідності змінити його. Для переміщення поля з однієї таблиці в іншу слід просто перетягнути їх за допомогою миші.

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

Якщо ви задоволені новим розташуванням полів і таблицями, прийміть запропоновану структуру, натиснувши по кнопці Далее.

На заключному етапі майстра слід вказати первинний ключ для нових таблиць і, якщо потрібно, створити запит для розділених таблиць. Натисніть по кнопці Готово, і Access додасть знов створені розділені таблиці до бази даних. Оригінальна таблиця залишається незайманою на той випадок, якщо вона для чогось потрібна.

 

Зміна зв'язків

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

Для зміни типів заданих автоматично об'єднань між двома таблицями можна використовувати вікно Схема данных. У вікні бази даних виберіть запит, який ви хочете змінити, а потім натисніть по кнопці Конструктор для перемикання в режим конструктора. У верхній частині вікна ви побачите списки полів зв'язаних таблиць, на яких заснований запит; в нижній частині вікна — конкретні поля, вибрані для запиту. Для зміни типу з'єднання двічі натисніть на лінії між двома таблицями або виберіть Вид → Параметры объединения.

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

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

Рис. 5.23. Вибір параметрів об’єднання

Створення зв'язків із зовнішніми базами даних

У деяких випадках вам буде потрібно під'єднати вміст зовнішнього файлу бази даних (або бібліотеки зв'язаних файлів) до бази даних Access. Якщо зовнішній файл доступний у вашому комп'ютері або мережі і якщо дані зберігаються у форматі, що може використовувати програма Access, то ви цілком можете приєднати дані такого файлу до додатку Access. Access дозволяє працювати з файлами баз даних, які спочатку були розроблені у відповідних програмах управління базами даних, включаючи більшість версій dBASE, FoxPro і Paradox, попередні версії Access. Ви можете також використовувати дані з робочих аркушів Excel, великоформатних таблиць Lotus, текстових файлів і Web-сторінок. Access прочитує інформацію безпосередньо з розширеної бази даних Microsoft— з програми SQL Server — і може працювати з іншими форматами баз даних так само, як ніби ви встановлювали відповідний драйвер ODBC.

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

Обидва методи використання зовнішніх даних представлено командами в меню Файл. Виберіть Файл → Внешние данные, а потім одну з команд —Импорт або Связь с таблицами. В діалоговому вікні, що з'явилося, вкажіть формат і розташування зовнішніх даних, які б ви хотіли використовувати у вашій поточній базі даних Access.

В яких випадках краще імпортувати дані, а в яких — встановлювати зв'язок? Скріплення переважає тоді, коли у вас безліч програм баз даних, що підтримують ідентичні сховища даних. Наприклад, у вашому офісі використовується облікова програма, в якій зберігаються дані про покупців і постачальників у форматі dBASE. Ваш менеджер з обліку не планує перемикатися на використання іншого додатку замість dBASE, оскільки воно цілком підходить для його відділу. Ви можете створити в Access відстежуючу базу даних, в якій інформація про покупців і постачальників гратиме ключову роль. Якщо ви імпортуєте дані в Access, то не дізнаєтеся про те, що дані в розрахунковій програмі оновлені, і з часом два набори даних будуть все більше і більше не відповідати.

Натомість створіть зв'язок з таблицею Постачальники; тоді ви зможете використовувати дані, що містяться в запитах з іншої таблиці, яка зберігається безпосередньо у вашій базі даних Access. Для створення зв'язку виберіть Внешние данные → Связь с таблицами з меню Файл. У списку Тип файлов, розташованому в нижній частині діалогового вікна, виберіть dBASE IV. Знайдіть розташування файлу зовнішньої бази даних, виділіть його ім'я і натисніть на кнопці Связь. Якщо файл dBASE включає індексований файл, то у відповідь на запит вкажіть його ім'я; якщо наявний файл не індексований, натисніть по кнопці Отмена для продовження. Коли Access повідомить про успішне імпортування, натисніть по кнопці ОК, а потім закрийте діалогове вікно Импорт.

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

Access розпізнає різноманітні формати баз даних імпортованих або зв'язаних таблиць. Це зручно, якщо ви можете зв'язати таблиці з інших баз даних Access. Якщо база даних, яку ви хочете використовувати, не підтримується, ви завжди зможете повернутися до початкового програмного забезпечення і зберегти файл в зручному для вас форматі. Наприклад, Access не імпортує файли баз даних, розроблених в Microsoft Works; проте, ви можете зберегти базу даних Works у форматі dBASE, а потім імпортувати файл dBASE в базу даних Access.

5.Закріплення вивченого матеріалу

Дати відповіді на запитання:

1.Яких помилок дозволяє уникнути програма MS ACCESS, використовуючи «забезпечення цілісності даних»?

2. Можливості Майстра аналізу таблиць.

3. Як створюються зв’язки з зовнішніми базами даних і з якою метою?

 

 


Тема. Створення форм для відображення та введення даних.

Мета. Сформувати в студентів поняття «форма», навчитись ствювати форми різними способами; розвинути кругозір стосовно нових об’єктів в СУБД; розвинути інтерес до майбутньої професії.

Хід заняття:

1. Організаційний момент.

2. Актуалізація опрних знань.

Дати відповіді на наступні запитання:

1. 1.Яких помилок дозволяє уникнути програма MS ACCESS, використовуючи «забезпечення цілісності даних»?

2. Можливості Майстра аналізу таблиць.

3. Як створюються зв’язки з зовнішніми базами даних і з якою метою?

3. Пояснення нового матеріалу.


<== попередня лекція | наступна лекція ==>
Заняття 6 | Заняття 9


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн