Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД лекции+вопросы / 03 Модели сущность-связь.ppt
Скачиваний:
47
Добавлен:
07.03.2016
Размер:
273.41 Кб
Скачать

Базы данных

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

Основные понятия

Порядок создания концептуальной модели базы данных:

1)Словесное описание

2)Инфологическая (логическая) модель

3)Формирование реляционной модели

Инфологическая модель – формализованное логическое описание предметной области, не зависящее от конкретной СУБД

Один из способов – «Модель сущность-связь» (Entity-Relationship, ER). Автор Чен (Chen), 1976 год.

Для ER-модели имеются CASE-средства

Основные определения

Сущность – класс однотипных объектов. Он имеет набор атрибутов

Атрибут – характеристика, определяющая свойство экземпляра сущности

Ключевой набор атрибутов – набор атрибутов, однозначно идентифицирующий экземпляр сущности

 

 

Студент

Студент

 

номер зач.

номер зач.

 

имя

имя

 

фамилия

фамилия

 

 

 

 

 

Связи и ассоциации

Связь – указывает как экземпляры сущностей соотносятся или взаимодействуют друг с другом

Тип связи (ассоциация) – обобщение связей между экземплярами сущностей

Дочерняя сущность (слабая сущность) – это сущность, которая зависит от другой сущности

Родительская сущность (сильная сущность) – это сущность, которая не зависит от другой сущности

Дипломник Руководитель Дипломник Руководитель

Студент

Преподаватель

 

Студент

0..1

Преподаватель

 

 

 

 

0..*

 

 

 

 

Руководит

 

0..*

0..*

Руководит

 

0..*

0..*

Слушатель

Лектор

 

 

 

 

Слушатель

 

 

 

 

 

Читает лекции

Лектор

Учащийся

 

 

 

 

 

 

 

Читает лекции

Сотрудник

Учащийся

 

 

 

Сотрудник

 

вуз

 

вуз

 

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

Связи и ассоциации

Множественность (кардинальность) ассоциации – описывает количество возможных связей между экземплярами сущностей, участвующих в ассоциации. Множественность может принимать значения: 1:1, 1:N, 0..1:N, N:M и другие.

Обязательная связь со стороны некоторой сущности – экземпляры сущности не могут существовать без родительской сущности. Т.е. для экземпляра данной сущности участие в ассоциации является обязательным. (кардинальность ассоциации 1:1, 1:N, 1...N:M)

Не обязательная связь со стороны некоторой сущности – экземпляр сущности может существовать самостоятельно. (кардинальность ассоциации 0..1:1, 0..1: N, 0..N:M)

Необязательная ассоциация

Обязательная ассоциация

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

Дефекты связей

Дефект «разветвление»: имеет место тогда, когда модель отображает связь между сущностями, но путь между отдельными сущностями определен не однозначно (две и более ассоциации 1:N исходят из одной сущности)

Студент

Студент

 

Факультет

 

 

 

1

 

1

 

 

 

*

Кафедра

*

 

 

 

 

 

 

 

 

 

 

 

 

Кафедра

 

 

 

1

 

 

 

*

 

 

*

 

 

 

 

 

 

 

 

1

Факультет

 

 

 

 

 

 

 

Неопределенность

 

 

 

 

 

Иванов

 

 

 

ВТ

 

ФИПМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Петров

 

 

 

ИСИМ

Иванов

 

 

 

 

 

ВТ

 

 

 

 

 

 

 

 

 

 

ФИПМ

 

 

 

 

 

 

 

Петров

 

ИСИМ

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Дефект «разрыв»: имеет место тогда, когда предполагается связь между сущностями, но нет пути между экземплярами этих сущностей.

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

 

 

 

 

Группа

 

 

 

 

 

 

 

 

 

 

 

Разрыв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов

Факультет

1

*

 

0..1

*

Студент

 

 

ФИПМ

 

 

ВТ-100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Петров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Группа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов

 

Факультет

 

 

 

 

 

Студент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

*

 

0..1

*

 

ФИПМ

 

 

ВТ-100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Петров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Преобразование модели «сущность- связь» в реляционную модель данных

1)Каждой сущности ставится в соответствие отношение

2)Атрибуты сущностей становятся атрибутами отношений

3)Ключевые атрибуты становятся первичными ключами отношений

4)Для ассоциаций 1:N в каждое отношение, соответствующее подчиненной сущности, добавляется внешний ключ к родительской сущности

5)Для ассоциаций N:M вводятся дополнительные отношения (связующие таблицы), в которые входят внешние ключи к ассоциированным отношениям. Эти внешние ключи вместе образуют первичный ключ таблицы связи

6)Для моделирования необязательного типа связи у атрибутов внешнего ключа устанавливают свойство допустимости неопределенного значения

Преобразование модели «сущность- связь» в реляционную модель данных

Пример: библиотека

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

Publication

 

 

 

 

 

Exemplar

 

 

 

isbn

1

*

 

inv

title

 

 

date_out

author

 

 

 

0..*

*

 

 

 

 

*

 

0..1

 

 

Catalog

 

 

Reader

code

 

 

 

 

 

reader_id

field

 

 

name

 

 

 

 

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

Publication

PK isbn title author

PublicationCatalog

PK FK isbn

PK FKcode

Catalog

PK code field

Exemplar

PK inv FK isbn

FK reader_id NULL date_out

Reader

PK reader_id name

Преобразование модели «сущность- связь» в реляционную модель данных

Концептуальная схема базы данных «Библиотека»

Publications = <isbn, title, author>

(ISBN – уникальный код издания, название, автор)

Readers = <reader_id, name>

(номер читательского билета, фамилия читателя)

Exemplars = <inv, isbn, reader_id, date_out> (инвентарный номер – естественный первичный ключ, ISBN издания, номер читательского билета, дата выдачи)