Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
l_1_ac.DOC
Скачиваний:
2
Добавлен:
25.11.2018
Размер:
206.34 Кб
Скачать

Типы взаимосвязей данных в модели

Взаимосвязь выражает отображение между двумя множествами данных. Различают взаимосвязи типа “один к одному”, “один ко многим”, “многие ко многим”.

Рассмотрим типы связей на примере связей между сущностями КЛИЕНТ, ЗАКАЗ, ФИРМА.

Взаимосвязь “один к одному”. Допустим, что в определенный момент времени клиент может сделать только один заказ. В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается связь “один к одному”. Схематически это отображается одинарными стрелками.

Между данными, хранящимися в объектах КЛИЕНТ, ЗАКАЗ будет существовать взаимосвязь, в которой каждая запись в одном объекте будет однозначно указывать на запись в другом объекте.

Взаимосвязь “один ко многим”. Анализируя взаимосвязь КЛИЕНТ, ЗАКАЗ не привязываясь к некоторому моменту времени, получим что один клиент в разное время может производить несколько заказов. С другой стороны, в одном заказе может фигурировать только один клиент. Схематически этот тип связи отображается с помощью одинарной стрелки в напрвлении к “одному” и двойной стрелки в направлении ко многим.

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

Взаимосвязь “многие ко многим”. Например, один клиент в разное время может приобрести товары в различных фирмах. С другой стороны, в одной фирме могут обслуживаться различные клиенты. Между сущностями КЛИЕНТ, ФИРМА существует связь “многие ко многим”. Такая связь обозначается двойными стрелками

При просмотре данных в объекте КЛИЕНТ можна узнать, в каких фирмах он приобретал товар, однако в объекте ФИРМА при этом необходимо завести несколько записей для каждой фирмы.

Объект КЛИЕНТ Объект ФИРМА

Код_Кл

Наим_Кл

Код_Ф

Наим_Ф

Код_Кл

1

Клиент_1

10

Фирма_1

1

2

Клиент_2

10

Фирма_1

2

20

Фирма_2

1

20

Фирма_2

2

Каждая строчка будет соответствовать каждому заказу клиента в данной фирме. При таком подходе возникают серьезные проблемы, например, в объекте ФИРМА нельзя ввести уникальный ключ для каждой фирмы. Согласно теории нормализации, которая будет изложена ниже, для хранения взаимосвязи “многие ко многим” в реляцинных БД требуется три объекта: по одному для каждой сущности и один для хранения связей между ними. В качестве промежуточного объекта между объектами ФИРМА, КЛИЕНТ можна взять объект ЗАКАЗ.

Объект КЛИЕНТ Объект ЗАКАЗ Объект ФИРМА

Код_Кл

Наим_Кл

Код_Ф

Код_Кл

Код_Ф

Наим_Ф

1

Клиент_1

10

1

10

Фирма_1

2

Клиент_2

10

2

20

Фирма_2

20

1

20

2

Проводя аналогичные рассуждения для других объектов системы, устанавливаем такие типы взаимосвязей.

Представленная схема связей между объектами отображает концептуальную модель БД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]