Чтобы спроектировать базу данных для работников гостиницы, нам понадобятся следующие сущности:
• служащий;
• номер;
• тип;
• посетитель.
База данных для работников гостиницы должна хранить данные о номерах, поэтому понятие номер будет отдельной сущностью НОМЕР. Необходимо идентифицировать гостиничные номера по их порядковому номеру (атрибут Номер). Также у каждого номера есть тип, телефон и этаж, на котором он находится (атрибуты Тип, Телефон, Этаж). Так как у номера есть атрибут Тип, включающий в себя некоторые характеристики, то необходимо добавить сущность ТИП, атрибутами которого будут являться Стоимость, Количество мест и Название, по которому можно определить тот или иной тип номера. Существует связь относится между номером и типом (1:N) (у номера существует единственный тип, но номеров одного типа может быть несколько). Связь является обязательной со стороны сущности НОМЕР (если есть номер, то у него обязательно есть тип) и необязательной со стороны ТИП.
В базе данных должны храниться данные о посетителях гостиницы, поэтому в модель БД нужно включить сущность ПОСЕТИТЕЛЬ. Данная сущность идентифицируется по номеру паспорта, поэтому ключевым атрибутом будет Номер паспорта. Из информации о посетителе создаются следующие атрибуты: Фамилия, Имя, Отчество, Номер, Город, Дата приезда, Дата отъезда. Благодаря атрибуту Номер устанавливается проживает связь между сущностями ПОСЕТИТЕЛЬ и НОМЕР. Тип связи (M:1), так как в одном номере могут жить несколько человек (если номер определенных типов), но один человек не может проживать в нескольких номерах. Связь обязательная со стороны сущности ПОСЕТИТЕЛЬ и необязательная со стороны сущности НОМЕР.
В гостинице также есть работники, у каждого из которых есть свое расписание. Поэтому нам понадобится сущность СЛУЖАЩИЙ. Ключевым атрибутом данной сущности является Код (ID), по которому можно выбрать конкретного сотрудника. Также существуют атрибуты Фамилия, Имя, Отчество, необходимые для описания сотрудника. Так как сотрудник работает в определенный день недели, то создадим атрибут День недели. Для связи сущностей СЛУЖАЩИЙ и НОМЕР включим в список атрибутов служащего Этаж. Связь СЛУЖАЩИЙ убирает НОМЕР является (N:M), а также обязательной с обеих сторон.