Логическое проектирование базы данных

  • Часть 1
  • | 2
  • | 3
  • | 4

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

Рассмотрим связь «один ко многим» между сущностями Магазин и Работник (см. рис. 15). Класс принадлежности связи для сущности Работник является обязательным. Таблица с информацией о магазинах будет иметь вид, идентичный табл. 7.1, таблица с информацией о работниках будет включать ключ таблицы Магазин (табл. 7.4):

Таблица 7.4

Работники

ИНН

ФИО

Должность

Адрес

Адрес магазина

27212367

Фомин Л.М.

продавец

Боровая, 16

Мира, 14

27233319

Цыпин Л.Е.

продавец

Мира, 33

Запарина, 2

27254322

Гейт Ф.П.

грузчик

Осиновая, 5

Фрунзе, 13

27265413

Ревва С.Р.

кассир

Мира, 67

Мира, 14

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

Рассмотрим связь «многие ко многим» между сущностями Продавец и Товар. Таблица Продавцы может иметь структуру, совпадающую со структурой таблицы Работники (см. табл. 7.4), таблица Товары будет иметь вид (табл. 7.5):

Таблица 7.5

Товары

Артикул

Название

Цена, руб.

100

Туфли

5 000

200

Сапоги

7 000

300

Костюм

10 000

400

Костюм

8 000

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

предыдущаяследующая