Инфологическое проектирование БД «Фотоателье»
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
На этапе инфологического проектирования необходимо установить связи между сущностями и удостовериться, что схема удовлетворяет нормальным формам. Эта работа описывается в данной подглаве.
Модель «Сущность – связь»
Описанные выше сущности находятся между собой в отношениях, которые можно представить на следующей диаграмме :
Нормализация отношений
Так как данные в получившейся базе являются атомарными (условие первой нормальной формы), отсутствуют зависимости неключевых полей от части составного ключа (условие второй нормальной формы), неключевые поля зависят только от ключевых полей (условие третьей нормальной формы), то остается только привести ее к четвертой нормальной форме.
Значит, необходимо нормализовать получившуюся схему и избавиться от отношений «Многие ко многим».
Чтобы избавиться от отношения «Клиенты–Услуги фотопечати», вводим новую таблицу «Заказы», которая будет содержать информацию о клиенте и услуге, которую он заказал. В ней будет также храниться дата заказа, количество заказанных услуг (например, сколько фотографий напечатать) и даты выполнения заказа – ожидаемая и фактическая.
Чтобы избавиться от отношения «Клиенты–Фотосессии», вводим новую таблицу «Забронированные фотосессии», в которой будем хранить информацию о том, какие фотосессии были заказаны конкретным клиентом. Также в этой таблице будут храниться данные о дате проведения фотосессии и количестве человек, которые будут в ней участвовать.
Чтобы избавиться от отношения «Услуги печати–Материалы», вводим новую таблицу «Материалы для услуги», в которой будет храниться информация о том, какие материалы требуются для услуг.
Получим следующую схему :
Описание атрибутов, выбор ключей и классификация связей
Опишем атрибуты каждой сущности более подробно, а также определим ключи.
В таблице «Клиенты» атрибуты «Фамилия», «Имя», «Телефон» и «Email» будут иметь строковый тип данных
Зарегистрируйся, чтобы продолжить изучение работы
. Из них только «Email» может допускать значение NULL, так как нам нужен способ связи с клиентом и телефон – предпочтительный. В качестве ключевого поля введем атрибут «Код», который будет целочисленным и автоинкрементируемым, чтобы сотрудникам не приходилось задавать его вручную.
В таблице «Заказы» в качестве ключевого поля введем атрибут «Код», который будет целочисленным и автоинкрементируемым. Атрибуты «Код_Клиента» и «Код_Услуги» будут являться целочисленными и ссылаться на соответствующие таблицы, образуя связь «Многие к одному». Также зададим целочисленный атрибут «Количество», атрибут «Ожидаемая дата выполнения» типа «дата» и атрибут «Фактическая дата выполнения» типа «дата», допускающий значения NULL, так как заказ может быть еще не выполнен.
В таблице «Услуги фотопечати» первичным ключом также будет целочисленный автоинкрементируемый атрибут «Код». Также введем строковый ненулевой атрибут «Название» и строковый атрибут «Описание», допускающее NULL
50% курсовой работы недоступно для прочтения
Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!