Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Типи відношень при зв'язуванні двох таблиць



Під час створення структури таблиць слід пам'ятати про необхідність встановлення зв'язків між ними, тобто про визначення того, як СУБД знов буде об'єднувати відомості з різних таблиць. Для цього необхідно визначити тип відношення, тобто зв'язку, що встановлюється між спільними полями двох таблиць. Існують зв'язки з відношенням «один-к-одному», «один-ко-многим» і «многие-ко-многим». Після створення зв'язків можна формувати запити, форми і звіти для одночасного відображення відомостей з декількох таблиць.

Тип зв'язку залежить від способу визначення полів, що зв'язуються:

· відношення «один-ко-многим» створюється, коли одно з полів є полем первинного ключа або унікального індексу. Унікальний індекс - порядок роботи, визначений для поля зі значенням Да (Совпадения не допускаются) для властивості Индексированное поле(Indexed). При цьому введення до індексованого поля значень, що повторюються, неможливе. Для ключових полів унікальний індекс створюється автоматично.

· відношення «один-к-одному» створюється, якщо обидва поля, що зв'язуються, є ключовими або мають унікальні індекси.

· відношення «многие-ко-многим» є комбінацією двох відношень «один-ко-многим» з третьою таблицею, первинний ключ якої складається з полів зовнішнього ключа двох інших таблиць.

Є можливість навіть зв'язати таблицю саму з собою. Це корисно, якщо слід створити поле підстановок зі значеннями з цієї ж таблиці.

Порядок встановлення відношень «один-ко-многим» та «один-к-одному» у базі даних Облік товару:

1. На стрічці у закладинці Работа с базой данних знаходимо Схема данных, після чого на екрані з'явиться вікно схеми даних, а в рядку меню - новий пункт Связи.

2. Вибираємо таблиці, що використовуються для зв'язків.

3. За допомогою миші послідовно обрати таблиці, між якими будуть встановлюватися зв'язки, натискуючи кнопку Добавить.

4. По завершенню клацнути на кнопці Закрыть у вікні додавання таблиць. Наприклад, обрати дві таблиці для встановлення зв'язку Товари і Рух товарів.

5. У вікні кожної з них прокрутити список полів так, щоб було видно обидва поля, що зв'язуються.

6. У першій таблиці встановити курсор миші на полі Код товару - первинному ключі.

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

8. Коли курсор опиниться над цим полем, звільнити ліву кнопку миші.

9. На екрані з'явиться вікно Изменение связей для визначення зв'язку, що встановлюється.

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

Щоб визначити зв'язок між іншими двома таблицями, слід повторити пункти 5-10, доки не будуть встановлені всі необхідні зв'язки. Наприкінці буде отримана Схема данных, але поки на графічному зображенні зв'язків немає жодних ознак типу відношення:

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

Встановити цілісність даних можна, якщо виконані такі умови:

· зв'язане поле головної таблиці є ключовим полем або має унікальний індекс.

· Головна таблиця - таблиця на боці «один» при зв'язуванні двох таблиць з відношенням «один-ко-многим». У прикладі головними таблицями є Товари, Клієнти;

· зв'язані поля мають однаковий тип даних. Тут є й винятки. Так, поле типу Счетчик може бути зв'язане з числовим полем, властивість якого Размер поля (FieldSize) має значення Длинное целое;

· обидві таблиці належать до однієї бази даних MS Access; для визначення цілісності даних ця БД має бути відкрита.

Для встановлення цілісності слід:

· установити покажчик миші на графічному зображенні одного із зв'язків між таблицями на Схеме данных;

· виконати пункти меню Связи\Изменить связь;

· встановити прапорець біля опції Обеспечение целостности связи.

Виконавши послідовно такі дії для усіх зв'язків, отримаємо подану нижче схему даних із позначками 1 і ∞ на кінцях графічних зображень зв'язків. Позначка 1 визначає таблицю з боку «один», ∞ - таблицю з боку «много».

За встановлення цілісності даних неможливо:

· ввести до поля зовнішнього ключа зв'язаної таблиці значення, якого немає в ключовому полі головної таблиці;

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

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

Каскадне оновлення і вилучення даних у зв'язаних таблицях

Для зв'язаних таблиць, для яких встановлена цілісність даних, можна визначити, чи слід автоматично виконувати операції каскадного оновлення зв'язаних полів і каскадного вилучення зв'язаних записів. Якщо в діалоговому вікні Изменение связи встановити прапорець біля відповідних опцій Каскадное обновление связанных полей та Каскадное удаление связанных записей, стануть можливими ті операції, які інакше заборонені умовами цілісності даних. Щоб все ж таки існувала цілісність даних при вилученні записів чи редагуванні значень первинного ключа в головній таблиці, необхідні зміни автоматично вносяться й до зв'язаних таблиць.

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

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

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

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

В розділі обираємо

Виконавши вимоги майстра, отримуємо вихідний html-файл.

Теоретична довідка до ПР №10





Дата публикования: 2014-11-03; Прочитано: 1281 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...