Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекцыъ БД.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.16 Mб
Скачать

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

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

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

Заняття 7

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

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

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

План

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

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

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

Хід заняття:

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

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

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

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

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

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

Користувачеві варто вказати 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. Вибір параметрів об’єднання