Інформація про новину
  • Переглядів: 254
  • Дата: 5-02-2022, 15:19
5-02-2022, 15:19

25. Створення зв'язків між таблицями в Access

Категорія: Інформатика





Попередня сторінка:  24. Створення таблиць в Access
Наступна сторінка:   26. Практична робота 6. «Створення табли...

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

В попередньому параграфі ми розпочали створення таблиці Книжки у базі даних Інтернет-магазин. Інтернет-магазин — це по суті платформа для продажу певного товару, у якого є продавець. Отже, додамо до бази даних ще одну таблицю Продавці (рис. 25.1). Дана таблиця буде містити назву продавця, його рейтинг, контактний телефон та дату реєстрації на сайті інтернет-магазину.

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

Наступне поле — Рейтинг. Рейтинг продавців, як правило, визначають покупці, встановлюючи кількість зірок за якість обслуговування. Припустимо, що в нашому інтернет-магазині максимальна кількість зірок — 5. Отже, рейтинг буде приймати числа від 0 до 5 включно і може бути дробовим числом, оскільки він визначається загальною сумою встановлених зірок покупцями, поділену на кількість покупців. Відповідно рейтинг матиме тип Число, що буде представлено десятковим дробом від 0 до 5.

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

Останнє поле — Дата реєстрації. Неважко здогадатися, що це буде тип Дата й час.

ВПРАВА 25.1

Завдання. Імпортувати таблицю Продавці. Змінити властивості полів.

1. Завантажте на комп’ютер файл Продавці^зж з матеріалів до даного

параграфа.

2. Відкрийте базу даних Інтернет-магазин.

3. Імпортуйте таблицю Продавці з файла Продавці^^.

a. На вкладці Зовнішні дані оберіть Нове джерело даних 4 З файла 4 Excel.

b. Натисніть кнопку Огляд та оберіть файл Продавці^^.

c. Залишіть перемикач у положенні Імпортувати дані джерела до нової таблиці в поточній базі даних.

d. Натисніть ОК та Далі.

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

f. У наступному вікні встановіть перемикач у положення Вибрати власний первинний ключ Продавець.

g. Натисніть Готово та Закрити. В результаті таблицю буде імпортовано.

h. Перегляньте результат імпорту в режимі таблиці.

4. Змініть у полі Рейтинг формат подання числа таким чином, щоб число

мало одну цифру після коми.

a. Відкрийте таблицю Продавці в режимі конструктора.

b. Оберіть поле Рейтинг.

c. На вкладці Загальне для властивості Розмір поля встановіть Одинарне значення.

5. Змініть формат відображення контактного телефону.

a. Оберіть поле Контактний телефон.

b. Оберіть вкладку Загальне та для властивості Маску введення введіть таку маску “+38-0”##-##-##. (Символи вказані в лапках, будуть відображатися перед уведенням номера телефону, далі користувач має ввести шість будь-яких цифр).

Встановлення умов на введення даних

Аби при введенні даних до таблиць не виникало помилок, в Access є можливість установлювати додаткові умови на введення даних.

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

ВПРАВА 25.2

Завдання. Установити умову на введення даних до поля Рейтинг від 0 до 5 включно.

Так, ми знаємо, що поле Рейтинг — це число, що може приймати значення від 0 до 5. Отже, встановимо обмеження на введення цього значення.

1. Відкрийте таблицю Продавці в режимі конструктора.

2. Оберіть поле Рейтинг.

3. На вкладці Загальні оберіть властивість Правило перевірки.

4. Клацніть три точки біля цієї властивості та введіть умову between 0 and 5. Це означає, що значення в цьому полі має лежати в проміжку від 0 до 5 включно.

5. Для властивості Текст перевірки введіть повідомлення, що має з’являтися у випадку, якщо користувач неправильно введе значення. Введіть, наприклад, «Значення має бути від 0 до 5».

6. Перейдіть в режим таблиці та введіть до поля Рейтинг, наприклад, число 6. Натисніть Enter. В результаті з’явиться вікно з повідомленням про помилку.

7. Відмініть зміни в даній клітинці.

Створення зв'язків

В результаті виконаної роботи в базі даних ми маємо дві таблиці Продавці та Книжки. Нам необхідно зв’язати ці таблиці, щоб було зрозуміло, в якого продавця можна купити ту чи іншу книжку.

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

ВПРАВА 25.3

Завдання. Додати до таблиці Книжки продавців.

1. Відкрийте таблицю Книжки в режимі конструктора.

2. Створіть поле Продавець.

a. У стовпці Ім’я поля введіть поле Продавець.

b. Аби при введенні продавців не виникало помилок, оберіть Майстер підстановок.

c. Залиште опцію поле підстановки має отримати значення з іншої таблиці або запиту, оскільки значення ми візьмемо з уже наявної таблиці Продавці.

d. Натисніть кнопку Далі.

e. Оберіть таблицю Продавці і ще раз натисніть Далі.

f. У списку полів оберіть поле Продавець і натисніть Далі два рази.

g. Переконайтеся, що у вікні відображено саме той список, що потрібен, натисніть Далі та Готово.

3. Відкрийте таблицю Книжки та заповніть поле Продавці довільним чином, обираючи їх зі списку.

Використовуючи підстановку значень ключового поля з однієї таблиці до іншої, ми автоматично пов’язали дві таблиці. Де ж можна побачити, які таблиці і як саме пов’язані?

Для відображення та редагування зв’язків між таблицями використовують схему даних. Для роботи з нею бажано закрити вкладки усіх об’єктів бази даних, перейти на вкладку Знаряддя бази даних та обрати інструмент Зв’язки. На рис. 25.2 видно, що тут відображено структуру таблиць Книжки та Продавці, а також зв’язок між полями Продавець цих таблиць. Для редагування зв’язків необхідно клацнути на лінії зв’язку два рази. В результаті відкриється вікно Редагування зв’язків.

Книжки

 

Продавці

 

? Код Назва Автор

Видавництво Рік видання Кількість сторінок Ціна

Наявність Кількість В обкладинка

обкладинка.FileDat обкладинка.FileNar обкладинка.FileTyp Жанр Анотація Продавець

Я Продавець Рейтинг

Контактний телефон Дата реєстрації

   
 

Редагування зв'язків ? X

           

Таблиця/запит:

 

Пов'язана таблиця/запит:

1 °к 1

 

Продавці

 

КНИЖКИ

 

Продавець

-

Продавець

А

Скасувати

       

Тип об'єднання...

   

V

 

,—- Нове... |_1 Забезпечення цілісності даних

Каскадне оновлення пов'язаних полів

Каскадне видалення пов'язаних полів

Тип зв'язку: Один-до-багатьох

Рис. 25.2

Рис. 25.3

В даному вікні (рис.25.3) вказано, що поле Продавець із таблиці Продавці пов’язано із полем Продавець таблиці Книжки. Також вказано тип зв’язку Один-до-багатьох. Цей тип зв’язку вказує на те, що один продавець може продавати багато книжок, а одну й ту саму книжку може продавати лише один продавець. Розберемося, яким є призначення прапорців, що містить дане вікно.

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

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

Якщо спробувати до таблиці Книжки ввести в якості продавця, наприклад, Еталон, та перейти до наступного запису, в результаті з’явиться помилка, як на рис. 25.4. Це відбувається тому, що в таблиці Продавець назва Еталон відсутня. Якщо це ж значення ввести без установлення прапорця біля опції Забезпечення цілісності даних, то

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

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

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

Якщо після встановлення опції Каскадне оновлення пов’язаних полів у таблиці Продавці змінити назву одного з продавців, наприклад, дописати до продавця GSS ще -Х та оновити дані в таблиці, то після відкриття таблиці Книжки назву даного продавця буде автоматично змінено.

Ще є одна опція — Каскадне видалення пов’язаних полів. Установлення її дозволяє при видаленні запису із таблиці, що має первинний ключ, видалити відповідні записи із таблиці, що містить зовнішній ключ.

Так, якщо у таблиці Продавці видалити запис із продавцем GSS-Х, то після відкриття таблиці Книжки усі записи з даним продавцем буде автоматично видалено.

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

ВПРАВА 25.4

Завдання. Установити між таблицями Книжки та Продавці зв’язок, що буде забезпечувати цілісність даних, каскадне оновлення та видалення пов’язаних полів.

Отже, для створення у базі даних зв’язку Один-до-багатьох в деякій таблиці В необхідно створити зовнішній ключ, який приймає начення первинного ключа таблиці А (рис. 25.5).

Контрольні запитання та завдання

1. Що таке первинний та зовнішній ключ таблиці?

2. Який засіб використовують для відображення зв’язків в Access?

3. Що відбудеться, якщо до ключового поля ввести два однакові значення?

4. Як установити умову на введення даних між двома числовими значеннями?

5. Що означає зв’язок між таблицями Один-до-багатьох?

6*. Опишіть послідовність дій для створення зв’язку Один-до-багатьох у середовищі Access.

Питання для роздумів

1*. При введенні текстових даних до числового поля виникає помилка, а при введенні числових даних до текстового поля помилки не виникає. Як ви думаєте, чому?

2*. В яких випадках під час редагування зв’язку при встановленні опції Забезпечення цілісності даних може з’явитися помилка?

Завдання для досліджень

1*. Дослідіть, як установити умову на введення даних між двома числовими даними, що не включено до діапазону, наприклад, значення має бути більше 0, але менше 7.

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

 

 

Це матеріал з підручника Інформатика 9 клас Казанцева, Стеценко 2022

 




Попередня сторінка:  24. Створення таблиць в Access
Наступна сторінка:   26. Практична робота 6. «Створення табли...



^