Содержание

Слайд 2

При проектировании БД нам потребуется различать взаимосвязи:

между объектами

между атрибутами одного объекта

и между

При проектировании БД нам потребуется различать взаимосвязи: между объектами между атрибутами одного
атрибутами различных объектов

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

Различают взаимосвязи типа:

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

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

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

1

1

2

3

1

1

2

3

1

2

3

1

Слайд 3

Рассмотрим связи между объектами на примере автоматизации управления работой дилера по продаже

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

1. Если клиент производит заказ на покупку автомобиля впервые, то осуществляется первичная регистрация его данных и сведений о сделанном заказе.

Некоторые концептуальные требования

2. Если клиент производит заказ повторно, осуществляется регистрация только данного заказа.

3. Вне зависимости от того, сколько раз данный клиент производил заказы, он имеет уникальный идентификационный номер (уникальный ключ клиента).

Слайд 4

Информация о каждом клиенте включает:

- наименование клиента

- адрес

- телефон

- факс

- фамилию, имя,

Информация о каждом клиенте включает: - наименование клиента - адрес - телефон
отчество

- признак юридического лица

- примечание

Можно выделить следующие объекты:

КЛИЕНТ

МОДЕЛЬ АВТОМОБИЛЯ

ЗАКАЗ

ПРОДАВЕЦ

Выделим атрибуты объекта КЛИЕНТ:

«УНИКАЛЬНЫЙ КЛЮЧ»

«НАИМЕНОВАНИЕ КЛИЕНТА»

«АДРЕС КЛИЕНТА»

и т.д. (пока)

Слайд 5

Атрибуты объекта МОДЕЛЬ АВТОМОБИЛЯ:

«УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ»

«НАИМЕНОВАНИЕ МОДЕЛИ»

и т.д. ...

Атрибуты объекта ЗАКАЗ:

«КЛЮЧ КЛИЕНТА»

«КЛЮЧ

Атрибуты объекта МОДЕЛЬ АВТОМОБИЛЯ: «УНИКАЛЬНЫЙ КЛЮЧ МОДЕЛИ» «НАИМЕНОВАНИЕ МОДЕЛИ» и т.д. ...
МОДЕЛИ»

Атрибуты объекта ПРОДАВЕЦ:

«УНИКАЛЬНЫЙ КЛЮЧ ПРОДАВЦА»

«ФАМИЛИЯ»

«ИМЯ ПРОДАВЦА»

«ОТЧЕСТВО ПРОДАВЦА»


«КЛЮЧ ПРОДАВЦА»

Слайд 6

Взаимосвязь «один к одному» (между 2-мя типами объектов)

✔ Допустим, что в определенный момент

Взаимосвязь «один к одному» (между 2-мя типами объектов) ✔ Допустим, что в
времени один клиент может сделать только один заказ...

Это допущение сделано с некоторой натяжкой...

В этом случае между объектами КЛИЕНТ и ЗАКАЗ устанавливается взаимосвязь «один к одному» .

КЛИЕНТ

ЗАКАЗ

Взаимосвязь «один ко многим» (между 2-мя типами объектов)

времени один клиент может стать обладателем нескольких автомобилей, при этом один автомобиль не может принадлежать нескольким клиентам одновременно.

КЛИЕНТ

МОДЕЛЬ АВТОМОБИЛЯ

✔ В определенный момент

Слайд 7

Продолжение...

В этом случае:

одной записи первого объекта (родительского) будет соответствовать несколько записей

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

1
2
3
4

1
2
3
4
5
6
7

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

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

родительский

дочерний

Слайд 8

В нашем примере:

в качестве справочника можно представить объект КЛИЕНТ, в котором хранятся

В нашем примере: в качестве справочника можно представить объект КЛИЕНТ, в котором
сведения о всех клиентах.

При обращении к записи определенного клиента нам будет доступен список всех покупок, которые он сделал и сведения о которых хранятся в объекте МОДЕЛЬ АВТОМОБИЛЯ.

«Хитрая лиса» приобрел Mercedes, BMW и Toyota Corolla

Объект «КЛИЕНТ»

Объект «МОДЕЛЬ АВТОМОБИЛЯ»

Слайд 9

Как определить какой тип связи существует между объектами 2-х множеств?

интересуемых объектов

Как определить какой тип связи существует между объектами 2-х множеств? интересуемых объектов
нужно выделить один и проанализировать, с каким числом объектов другого множества он связан (взаимодействует).

1. Из первого множества

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

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

Слайд 10

Продолжение…

Если объект второго множества взаимодействует с одним конкретным объектом первого множества,

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

Тип этой связи - один-ко-многим.

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

Тип этой связи - многие-ко-многим.

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

Тип этой связи - один-к-одному

Слайд 11

Продолжение…

Один связан со многими

Один связан с одним

Примеры

ТИП СВЯЗИ – ОДИН-КО-МНОГИМ

Один связан с

Продолжение… Один связан со многими Один связан с одним Примеры ТИП СВЯЗИ
одним

Один связан с одним

ТИП СВЯЗИ – ОДИН-К-ОДНОМУ

Слайд 12

Продолжение…

Примеры

ТИП СВЯЗИ
– МНОГИЕ-КО-МНОГИМ

Один связан со многими

Один связан со многими

Продолжение… Примеры ТИП СВЯЗИ – МНОГИЕ-КО-МНОГИМ Один связан со многими Один связан со многими

Слайд 13

Замечания:

В случае, если в дочернем объекте (МОДЕЛЬ АВТОМОБИЛЯ) будут какие-то записи, для

Замечания: В случае, если в дочернем объекте (МОДЕЛЬ АВТОМОБИЛЯ) будут какие-то записи,
которых нет соответствующих записей в объекте КЛИЕНТ, то они называются одинокими или потерянными.

Таких ситуаций в таблицах нужно избегать.

Это недопустимо!!!

Для потерянных записей сведений о клиентах в таблице КЛИЕНТ мы не получим...

Слайд 14

Взаимосвязь «многие ко многим» (между 2-мя типами объектов)

✔ В рассматриваемом примере продавец

Взаимосвязь «многие ко многим» (между 2-мя типами объектов) ✔ В рассматриваемом примере
может обслужить нескольких клиентов (т.е. продать автомобиль).

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

о б с л у ж и в а н и е...

Слайд 15

КЛИЕНТ

ПРОДАВЕЦ

Между объектами КЛИЕНТ и ПРОДАВЕЦ существует взаимосвязь «многие ко многим» .

Объект «КЛИЕНТ»

Объект

КЛИЕНТ ПРОДАВЕЦ Между объектами КЛИЕНТ и ПРОДАВЕЦ существует взаимосвязь «многие ко многим»
«ПРОДАВЕЦ»

При просмотре данных в таблице «ПРОДАВЕЦ» мы сможем узнать, какие продавцы обслуживали определенного клиента.

Слайд 16

Однако в объекте «ПРОДАВЕЦ» придется завести несколько записей для каждого продавца.

Каждая запись

Однако в объекте «ПРОДАВЕЦ» придется завести несколько записей для каждого продавца. Каждая
будет соответствовать каждому обслуживанию клиента.

При таком подходе мы столкнемся с серьезными ПРОБЛЕМАМИ!

Например,

мы не сможем ввести в объекте ПРОДАВЕЦ уникальный ключ продавца, т.к. один продавец будет обслуживать нескольких клиентов.

Что делать в этой ситуации?

недостатки

Слайд 17

РЕШЕНИЕ

согласно теории реляционных баз данных для хранения взаимосвязи «многие ко многим»

РЕШЕНИЕ согласно теории реляционных баз данных для хранения взаимосвязи «многие ко многим»
требуется 3-и объекта:

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

!

!

Слайд 18

Преобразованные таблицы

Объект «КЛИЕНТ»

Объект «ПРОДАВЕЦ»

Связующий объект

Преобразованные таблицы Объект «КЛИЕНТ» Объект «ПРОДАВЕЦ» Связующий объект

Слайд 19

Наряду с взаимосвязями между объектами существуют взаимосвязи между атрибутами объектов.

Здесь различают

Наряду с взаимосвязями между объектами существуют взаимосвязи между атрибутами объектов. Здесь различают
те же типы взаимосвязей

Один к одному

Один ко многим

Многие ко многим

1⇔1

Допустим, клиент имеет ключ (номер), который является уникальным идентификатором. Он не изменяется при поступлениях заказов от данного клиента.

1.

Слайд 20

Если наряду с номером клиента в БД хранится другой уникальный идентификатор (например,

Если наряду с номером клиента в БД хранится другой уникальный идентификатор (например,
номер паспорта), то между ними существует связь:

ОДИН-К-ОДНОМУ

Имя клиента и его номер существуют совместно.

НОМЕР КЛИЕНТА

НОМЕР ПАСПОРТА

2.

Каждому клиенту присваивается уникальный номер.

Клиентов с одинаковыми именами может быть много, но все они имеют различные номера.

Это означает, что данному номеру соответствует только одно имя.

Слайд 21

НАПРИМЕР:

Петр

Иван

2

5

1

4

В итоге:

ИМЯ КЛИЕНТА

НОМЕР КЛИЕНТА

ОДИН-КО-МНОГИМ

Имеем связь типа:

НАПРИМЕР: Петр Иван 2 5 1 4 В итоге: ИМЯ КЛИЕНТА НОМЕР

Слайд 22

3.

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

Несколько продавцов

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

Между атрибутами «ИМЯ КЛИЕНТА» и «ИМЯ ПРОДАВЦА» существует взаимосвязь

ИМЯ КЛИЕНТА

ИМЯ ПРОДАВЦА

МНОГИЕ-КО-МНОГИМ

Слайд 23

Типы логической модели данных

Существует три основных типа логической модели данных:

ИЕРАРХИЧЕСКАЯ

СЕТЕВАЯ

РЕЛЯЦИОННАЯ

Они отличаются друг

Типы логической модели данных Существует три основных типа логической модели данных: ИЕРАРХИЧЕСКАЯ
от друга способами представления взаимосвязей между объектами.

Иерархическая и сетевая модели данных стали применяться в СУБД в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных.

Слайд 24

Иерархическая модель

строится по принципу иерархии объектов

Один тип объекта является главным, а остальные,

Иерархическая модель строится по принципу иерархии объектов Один тип объекта является главным,
находящиеся на низших уровнях иерархии, - подчиненными.

Уровень 1

и т.д.

Схема иерархической модели

Слайд 25

Между главным и подчиненными объектами устанавливается связь «один ко многим».

Аналогично, для

Между главным и подчиненными объектами устанавливается связь «один ко многим». Аналогично, для
каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов.

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

Узел - совокупность атрибутов, описывающих объект.

Наивысший в иерархии узел называется корневым (это главный тип объекта).

Корневой узел находится на первом уровне иерархии, подчиненные - на втором, третьем и т.д. уровнях.

иерархическая модель применяется для организаций различного профиля: военных, административных, образовательных и т.д.

Слайд 26

понятия главного и подчиненного объектов несколько расширены.

Любой объект может быть и главным

понятия главного и подчиненного объектов несколько расширены. Любой объект может быть и
и подчиненным.

Главный объект обозначается термином «владелец набора», а подчиненный - термином «член набора».

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

В сетевой модели данных

Слайд 27

Один и тот же объект в данной модели может одновременно выступать: и в

Один и тот же объект в данной модели может одновременно выступать: и
роли владельца, и в роли члена набора.

Это означает, что каждый объект может участвовать в любом числе взаимосвязей.

Реляционная модель данных

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

Взаимосвязи также рассматриваются в качестве объектов.

Слайд 28

Таблица 1

Таблица 2

Таблица 3

Связь 2

Связь 1

Каждая таблица представляет один объект.

таблица должна иметь

Таблица 1 Таблица 2 Таблица 3 Связь 2 Связь 1 Каждая таблица
первичный ключ (ключевой элемент) - поле или комбинацию полей, которые единственным образом идентифицируют каждую строку в таблице.

В данной модели

Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение в СУБД для персональных компьютеров.

Схема реляционной модели

Имя файла: ТЕМА-3.pptx
Количество просмотров: 69
Количество скачиваний: 0