Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Управл_данными / 03-Реляционная

.pdf
Скачиваний:
21
Добавлен:
03.06.2015
Размер:
826.61 Кб
Скачать

Соответствие между строками таблиц устанавливается с помощью связей, которые схематично можно представить так:

Руководствуясь этими связями можно установить, что сообщение N1 отправил пользователь Кирилл:

11

Аналогично определяется, на какую тему было это сообщение:

В итоге мы установили, что: сообщение

“Думаю надо сделать так”

отправил Кирилл, и речь идёт о рыбалке

12

Внешний ключ

Приведенный выше пример показывает, как используются связи в реляционной базе данных.

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

Со второй стороны должно быть поле – указатель, которое ссылается на нужную строчку связанной таблицы.

Такое поле называется внешним ключом (сокращенно FK - foreign key).

13

Связи между таблицами

В реляционных базах данных в связи может участвовать только пара таблиц.

Одна таблица может быть связана с одной, двумя и более таблицами.

Связи осуществляются с помощью первичных и внешних ключей.

Так как с одной стороны связи всегда первичный ключ (а он уникален), то не возможно осуществить связь типа Многие-ко-Многим.

Т.е. нескольким строкам одной таблицы не может быть привязано несколько строк другой таблицы.

14

Связь между таблицами «Пользователи» и «Сообщения» - Один-ко-Многим

С другой стороны связь между таблицами «Сообщения» и «Пользователи»

-Многие-к-Одному

15

Виды связей

В реляционных базах данных, в отличие от сетевых, возможны только три вида связи:

1)

«один к одному»

(1:1)

2)

«один ко многим»

(1:M)

3)

«многие ко многим» (M:1)

16

Связь типа 1:1 возникает в тех случаях, когда с обеих сторон участвуют первичные ключи.

То есть роль внешнего ключа в одной из таблиц играет первичный ключ.

Связь типа 1:M образуется, если первичный ключ слева.

Связь типа M:1 образуется, если первичный ключ справа.

17

Однако, на практике, по смыслу конкретной задачи, очень часто возникает необходимость организовать связь типа Многие-ко- Многим (M:M).

Реляционная модель позволяет решить эту проблему с помощью особого приёма – введения вспомогательной таблицы.

18

Рассмотрим пример для сетевой модели

Каталог книг

Новинки

 

Исторический

 

Фантастика

 

Научная

 

роман

 

 

литература

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

k

k

k

k

Каким образом можно реализовать данную базу в реляционной модели?

19

Реляционная БД для того же примера

ДопТаблица

имеет составной PK

Категория : ДопТаблица

ДопТаблица : Книга

1 : M

M : 1

20

Соседние файлы в папке Управл_данными