створення зв’язків між таблицями

Post on 18-Jan-2017

131 Views

Category:

Science

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Створення зв’язків між таблицями

2

Актуалізація• Які зв’язки між таблицями ви знаєте?

3

Створення зв’язку“один-до-багатьох”

Як визначити в якому класі вчаться учні?

4

Створення зв’язку “один-до-багатьох”

Додамо поле “клас” до таблиці “учні” тазв’яжемо його із таблицею класів

Щоб не виникало помилок при заповненні застосуйте

тип поля“Мастер подстановок”, в

якому значення будуть вводитися із таблиці

5

Створення зв’язку “один-до-багатьох”

Поля, що містять значення ключів інших таблиць називають зовнішнім ключем

Поле “клас” із таблиці “учні” – є зовнішнім ключем

6

Створення зв’язку “один-до-багатьох”

Ключове поле таблиці називають первинним ключем

Поле “назва” із таблиці “Класи” – є первинним ключем

Поле “код” із таблиці “Учні” – є первинним ключем

7

Створення зв’язку “один-до-багатьох”

Щоб у реляційній базі даних реалізувати зв’язок“один-до-багатьох”

В А1∞

у таблиці В потрібно створити зовнішній ключ, який посилається на таблицю А

8

Графічне подання зв’язків у Access

1. Вибрати вкладку Работа с базами данных

2. Натиснути кнопку

3. У вікні Добавление таблицы обрати необхідні таблиці натискаючи кнопку Добавить

4. Після додавання необхідних таблиць натиснути кнопку Закрыть

9

Графічне подання зв’язків у Access

5. Обрати первинний ключ таблиці А (Класи) перетягнути лінію зв’язку на зовнішній ключтаблиці В (Учні)

6. У вікні Изменение связей натисніть кнопку Создать

10

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

Зовнішній ключ таблиці не може містити значень, яких не містить ключ головної таблиці!!!Учень не може навчатися в класі 12В, 5С і т. п. оскільки поле “Назва” із таблиці “Класи” таких значень не має

Кл. ПКМ на лінії зв’язку та обрати Изменить связь

11

Порушення обмежень цілісності

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

У цьому випадку Access не дозволить створити зв’язок, доки не буде усунено порушення.

Наприклад, до таблиці “Учні” в поле “Клас” введено значення 13Б.

12

Порушення обмежень цілісності

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

У цьому випадку Access не дозволить внести такі зміни, якщо вони не будуть перед цим внесені до головної таблиці

Наприклад, до таблиці “Учні” в поле “Клас” є намагання ввести значення 13Б.

13

Порушення обмежень цілісності

Випадок 3. Після створення зв’язку змінюють значення ключа головної таблиці.

У цьому випадку Access заблокує зміни

Шлях 1

14

Порушення обмежень цілісності

Випадок 3. Після створення зв’язку змінюють значення ключа головної таблиці.

У цьому випадку Access здійснить каскадне оновлення: значення зовнішнього ключа буде змінено так само, як змінилися значення первинного ключа

Шлях 2

15

Порушення обмежень цілісності

У цьому випадку Access заблокує видалення

Шлях 1

Випадок 4. Після створення зв’язку запис головної таблиці видаляють.

16

Порушення обмежень цілісності

У цьому випадку Access здійснить каскадне видалення даних: записи зв’язаної таблиці, що відповідають видаленому запису головної таблиці, також автоматично видалятимуться

Шлях 2

Випадок 4. Після створення зв’язку запис головної таблиці видаляють.

17

Створення зв’язку“багато-до-багатьох”

Як визначити в якому класі викладають учителі?

18

Створення зв’язку “багато-до-багатьох”

Створимо додаткову таблицю із зовнішніми ключами

19

Створення зв’язку “багато-до-багатьох”

Щоб у реляційній базі даних реалізувати зв’язок“багато-до-багатьох” між таблицями А і В

В А∞

потрібно створити додаткову таблицю С, а в ній два зовнішні ключі, що посилатимуться на А і В

В С∞ ∞ А11

20

Створення зв’язку “багато-до-багатьох”

Щоб створити між таблицями А і В зв’язок “багато-до-багатьох” , необхідно створити допоміжну таблицю С і приєднати до неї таблиці А і В зв’язками “один-до-багатьох”

21

Створення зв’язку“багато-до-багатьох”

Як визначити в якому класі викладають учителі?

22

Створення зв’язку “багато-до-багатьох”

Створимо додаткову таблицю із зовнішніми ключами

23

Створення зв’язку “багато-до-багатьох”

Щоб у реляційній базі даних реалізувати зв’язок“багато-до-багатьох” між таблицями А і В

В А∞

потрібно створити додаткову таблицю С, а в ній два зовнішні ключі, що посилатимуться на А і В

В С∞ ∞ А11

24

Створення зв’язку “багато-до-багатьох”

Щоб створити між таблицями А і В зв’язок “багато-до-багатьох” , необхідно створити допоміжну таблицю С і приєднати до неї таблиці А і В зв’язками “один-до-багатьох”

25

Створення зв’язку“один-до-одного”

Як в якому класі учитель є класним керівником?

26

Створення зв’язку “один-до-одного”

Додамо до таблиці “Класи” поле “Класний керівник”

27

Створення зв’язку “один-до-одного”

При створенні поля “Класний керівник” змінити значення властивості Индексированное поле

Саме це дозволить створити зв’язок типу“один-до-одного”

28

Створення зв’язку “один-до-одного”

Індексовані поля – це ті, за значенням яких СКБД шукає записи в таблиці. Щоб СКБД могла відрізнити один запис від іншого, розробнику надано можливість забороняти повторення значень індексованого поля

29

Створення зв’язку “один-до-одного”Коли в Access на схемі данихвідображають зв’язок “одни-до-одного”, первинний ключ потрібно перетягувати на зовнішній, а не навпаки!Оскільки СКБД вважатиме зв’язаною ту таблицю, на яку перетягують поле, а головною – ту, з якої тягнуть.

top related