Модель сущность-связь

Содержание

Слайд 2

1. Определение ER-модели данных доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева О.В.

1. Определение ER-модели данных

доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС

Игнатьева О.В.
Слайд 3

Определение Модель "сущность-связь" (Entity-Relationship model, или ER-модель) представляет собой высокоуровневую концептуальную

Определение

Модель "сущность-связь" (Entity-Relationship model, или ER-модель) представляет собой высокоуровневую концептуальную модель

данных, которая была разработана Ченом (Chen) в 1976 году с целью упрощения задачи проектирования баз данных.
Основная цель разработки высокоуровневой модели данных заключается в создании модели пользовательского восприятия данных и согласовании большого количества технических аспектов, связанных с проектированием базы данных.

доц. Игнатьева О.В.

Слайд 4

Базовые понятия ER-модели Основные концепции модели "сущность-связь" включают типы сущностей, типы

Базовые понятия ER-модели

Основные концепции модели "сущность-связь" включают типы сущностей, типы связей

и атрибуты.

доц. Игнатьева О.В.

Слайд 5

Типы сущностей доц. Игнатьева О.В.

Типы сущностей

доц. Игнатьева О.В.

Слайд 6

Способы представления сущностей на диаграмме Типы сущностей доц. Игнатьева О.В.

Способы представления
сущностей на диаграмме

Типы сущностей

доц. Игнатьева О.В.

Слайд 7

Атрибуты доц. Игнатьева О.В.

Атрибуты

доц. Игнатьева О.В.

Слайд 8

Представление атрибутов на диаграммах доц. Игнатьева О.В.

Представление атрибутов на диаграммах

доц. Игнатьева О.В.

Слайд 9

Представление атрибутов на диаграммах доц. Игнатьева О.В.

Представление атрибутов на диаграммах

доц. Игнатьева О.В.

Слайд 10

Ключи Например, Staff(Staff_No, FName, LName, Address, Tel_no, Sex, DOB, Position, NIK,

Ключи

Например,
Staff(Staff_No, FName, LName, Address, Tel_no, Sex, DOB, Position, NIK, Salary)
Первичный

ключ: Staff_no
Альтернативный ключ: FName, LName, DOB
Альтернативный ключ: NIN
Составной атрибут: Name(FName, LName)
Производный атрибут: Total_Staff
Branch(Branch_No, Street, Area, City, Postcode, Tel_No, fax_No)
Первичный ключ: Branch_No
Альтернативный ключ: Fax_No
Составной атрибут: Address(Street, Area, City, Postcode)
Многозначный атрибут: Tel_No

доц. Игнатьева О.В.

Слайд 11

доц. Игнатьева О.В. Ключи

доц. Игнатьева О.В.

Ключи

Слайд 12

2. Определение ER-модели данных (продолжение) доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева О.В.

2. Определение ER-модели данных (продолжение)

доцент каф. ВТ и АСУ ФГБОУ ВО

РГУПС Игнатьева О.В.
Слайд 13

Типы связей Представление связей на диаграммах доц. Игнатьева О.В.

Типы связей

Представление связей на диаграммах

доц. Игнатьева О.В.

Слайд 14

Например, рассмотрим Связь IsAllocated (Приписан к) указывает на взаимосвязь между сущностями

Например, рассмотрим Связь IsAllocated (Приписан к) указывает на взаимосвязь между сущностями

Branch и Staff, а каждый отдельный экземпляр связи IsAllocated связывает одну сущность Branch с одной сущностью Staff.
Отдельные элементы связи IsAllocated представлены на диаграмме, которая называется семантической сетью.
Семантическая сеть является объектной диаграммой, в которой символ • представляет сущности, а символ ⧫ — связи.
Для упрощения диаграммы семантической сети на рис. показаны только некоторые атрибуты сущностей Branch и Staff.
Так, здесь показаны только три атрибута типа сущности Branch — Branch_No — Address и Tel_No, и три атрибута для сущности Staff — Staff_No, Address и DOB.
На диаграмме показаны три связи (r1, r2 и r3), которые описывают взаимосвязь сущностей Branch и Staff. Эти связи представлены линиями, соединяющими каждую сущность Branch с каждой сущностью Staff.

доц. Игнатьева О.В.

Типы связей

Слайд 15

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 16

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 17

Степень связи Степень связи – количество сущностей, которые охвачены данной связью. доц. Игнатьева О.В.

Степень связи

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

доц. Игнатьева

О.В.
Слайд 18

Рекурсивная связь Рекурсивная связь - связь, в которой одни и те

Рекурсивная связь

Рекурсивная связь - связь, в которой одни и те же

сущности участвуют несколько раз и в разных ролях.

доц. Игнатьева О.В.

Слайд 19

Атрибуты связей доц. Игнатьева О.В.

Атрибуты связей

доц. Игнатьева О.В.

Слайд 20

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 21

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 22

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 23

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 24

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 25

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 26

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 27

3. Структурные ограничения доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева О.В.

3. Структурные
ограничения

доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева О.В.

Слайд 28

Показатель кардинальности Наиболее распространёнными являются бинарные связи с показателями кардинальности: доц. Игнатьева О.В.

Показатель кардинальности

 Наиболее распространёнными являются бинарные связи с показателями кардинальности:

доц. Игнатьева О.В.

Слайд 29

Связь один-к-одному доц. Игнатьева О.В.

Связь один-к-одному

доц. Игнатьева О.В.

Слайд 30

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 31

При определении показателя кардинальности некоторой связи следует учитывать только те сущности,

При определении показателя кардинальности некоторой связи следует учитывать только те сущности,

которые охватываются данной связью.
Из семантической сетевой модели связи Manages следует, что одна сущность типа Staff (менеджер) связана с единственной сущностью типа Branch (Отделение компании).
Поэтому связь Manages является связью типа "один-к-одному" (1:1).
Иначе говоря, показатель кардинальности связи Manages равен 1:1.

доц. Игнатьева О.В.

Связь один-к-одному

Слайд 32

Связь один-ко-многим доц. Игнатьева О.В.

Связь один-ко-многим

доц. Игнатьева О.В.

Слайд 33

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 34

Одна сущность типа Staff может быть связана с одной или более

Одна сущность типа Staff может быть связана с одной или более

сущностями типа Property_for_Rent.
Следовательно, связь Oversees, с точки зрения сущности Staff, является связью типа "один-ко-многим" (1:М).
Если рассмотреть связь Oversees с противоположной стороны, одна сущность типа Property_for_Rent связана с одной сущностью типа Staff.
Поэтому связь Oversees, с точки зрения сущности Property_for_Rent, является связью типа "один-к-одному" (1:1).
Однако на ER-диаграммах связи следует представлять с наиболее высоким из всех существующих показателем кардинальности.
 Таким образом, для связи Oversees показатель кардинальности мы принимаем равным 1:М.

доц. Игнатьева О.В.

Связь один-ко-многим

ER-модель связи Oversees между сущностями Staff и Branch

Слайд 35

Связь многие-ко-многим доц. Игнатьева О.В.

Связь многие-ко-многим

доц. Игнатьева О.В.

Слайд 36

доц. Игнатьева О.В.

доц. Игнатьева О.В.

Слайд 37

Одна сущность типа Newspaper может быть связана с одной или больше

Одна сущность типа Newspaper может быть связана с одной или больше

сущностями типа Property_for_Rent.
Следовательно, связь Advertises, с точки зрения сущности Newspaper, является связью типа "один-ко-многим" (1:М).
Если рассмотреть связь Advertises с противоположной стороны, то одна сущность типа Property_for_Rent может быть связана с одной или больше сущностями типа Newspaper.
Поэтому связь Advertises, с точки зрения сущности Property_for_Rent, также является связью "один-ко-многим" (1:М).
Итак, связь Advertises представлена в виде двух связей типа "один-ко-многим" (1:М), которые вместе образуют связь типа "многие-ко-многим" (M:N). Иначе говоря, показатель кардинальности связи Advertises равен M:N.

Связь многие-ко-многим

ER-модель связи Advertises между сущностями Newspaper и Property_for_Rent

Слайд 38

Степень участия Существует два варианта участия сущности в связи: полное (total)

Степень участия

Существует два варианта участия сущности в связи: полное (total) и

частичное (partial).
Степень участия является полной, если для существования некоторой сущности требуется существование другой сущности, связанной с ней определённой связью. В противном случае степень участия является частичной.

доц. Игнатьева О.В.

Степень участия сторон в связи IsAllocated между сущностями Branch и Staff

Слайд 39

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

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

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

Структурные ограничения

доц. Игнатьева О.В.

Слайд 40

4. Проблемы ER-моделирования доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева О.В.

4. Проблемы ER-моделирования

доцент каф. ВТ и АСУ ФГБОУ ВО РГУПС Игнатьева

О.В.
Слайд 41

3. Проблемы ER-моделирования Важно всегда проверять модель данных на наличие потенциальных

3. Проблемы ER-моделирования

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

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

доц. Игнатьева О.В.

Слайд 42

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

Ловушки разветвления

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

типа 1:М (IsAllocated и Operates) выходят из одной и той же сущности Division.
Один отдел (Division) может быть представлен сразу в нескольких отделениях компании (Branch) и в нем может работать многочисленный штат сотрудников.
Проблемы начинаются при попытках выяснить, в каком отделении компании работает каждый из сотрудников отдела. Для исследования этой проблемы рассмотрим семантическую сетевую модель.

доц. Игнатьева О.В.

Слайд 43

С помощью семантической сетевой ответьте: "В каком отделении компании работает сотрудник

С помощью семантической сетевой ответьте: "В каком отделении компании работает сотрудник

с номером 'SG37'?". Можно сделать вывод, что этот сотрудник работает в отделении 'ВЗ' или 'B7'. Неспособность дать точный ответ на поставленный вопрос является результатом ловушки разветвления, связанной с неправильной интерпретацией связей между сущностями Staff, Division и Branch.

Устранить эту проблему можно путем перестройки ER-модели для представления правильного взаимодействия между этими сущностями

Слайд 44

доц. Игнатьева О.В. Перестроим ER-модель для представления правильного взаимодействия между сущностями.

доц. Игнатьева О.В.

Перестроим ER-модель для представления правильного взаимодействия между сущностями.
Затем проверим

эту структуру на уровне отдельных сущностей (на семантической модели).
Можно убедиться, что теперь легко дать однозначный ответ на поставленный выше вопрос.
С помощью семантической сетевой модели можно определить, что сотрудник с номером ' SG37’ работает в отделении компании с номером 'ВЗ', который является частью отдела 'D1'.
Слайд 45

Ловушки разрыва Рассмотрим потенциальную ловушку разрыва на примере связей между сущностями

Ловушки разрыва

Рассмотрим потенциальную ловушку разрыва на примере связей между сущностями Branch,

Staff и Property_for_Rent.

доц. Игнатьева О.В.

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

Слайд 46

доц. Игнатьева О.В. Рассмотрев ER-модель, можно сделать вывод, что одно отделение

доц. Игнатьева О.В.

Рассмотрев ER-модель, можно сделать вывод, что одно отделение компании

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

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

С помощью этой семантической сетевой модели попробуем ответить: "Какое отделение компании отвечает за работу с объектом ' РА14' ?".
На данный вопрос нельзя дать ответ, поскольку этот объект в текущий момент не связан ни с одним из сотрудников, работающих в каком-либо из отделений компании. Неспособность дать ответ на заданный вопрос рассматривается как утрата информации, в результате которой и возникает ловушка разрыва.

Слайд 47

Частичное участие сущностей Staff и Property_for_rent в связи Oversees означает, что

Частичное участие сущностей Staff и Property_for_rent в связи Oversees означает, что

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

Следовательно, следует ввести новую связь Has между сущностями Branch и Property for Rent.
ER-диаграмма, отображает истинные связи между этими сущностями. Такая структура гарантирует, что всегда будут известны объекты недвижимости, связанные с каждым отделением компании, включая объекты недвижимости, которые в данный момент не поручены никому из сотрудников организации.