Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Определение атрибутов сущностей и первичных ключей
После того, как все сущности и отношение между ними были определены, можно начать подробно описывать каждую сущность. Атрибуты – это характеристики объектов (сущностей). Основное назначение атрибута – это описание свойств сущностей, а также идентификация экземпляров сущностей. Для каждого атрибута нужно определить следующие сведения: · имя атрибута и его описание; · тип данных и размерность значения; · значение, принимаемое для атрибута по умолчанию (если таковое имеется); · является ли атрибут обязательным (т.е. может ли он отсутствовать или иметь значение NULL); · является ли атрибут составным и, если это так, из каких простых атрибутов он состоит; · является ли данный атрибут производным и, если это так, какой метод следует использовать для вычисления его значения. Возможный ключ – это один или несколько атрибутов, однозначно определяющих экземпляр сущности. Первичный ключ это один из возможных ключей, остальные называются альтернативными. Кроме первичных ключей сущности могут иметь внешние ключи, приобретённые ими в результате отношений с другими сущностями. В случае идентифицирующего отношения внешний ключ станет частью ключа сущности (составной ключ). Если отношение неидентифицирующее, то внешний ключ станет атрибутом. Опишем более подробно все сущности со своими атрибутами. Сущность «Клиенты». Предназначена для хранения справочной информации о клиентах. В ней указываются основные данные о клиенте, которые требуются знать клубу. Первичный ключ для данной сущности - код клиента, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 2. Таблица 2 – «Клиенты»
Сущность «Сотрудники». Предназначена для хранения справочной информации о сотрудниках. В ней указываются основные данные о сотрудниках, которые требуются знать клубу. Первичный ключ для данной сущности - код сотрудника, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 2. Таблица 3 – «Сотрудники»
Сущность «Услуги». Предназначена для хранения информации о предоставляемых услугах фитнес клуба. Первичный ключ для данной сущности - код услуги, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 4. Таблица 4 – «Услуги»
Сущность «Прейскурант». Предназначена для хранения данных о цене на услуги фитнес клуба в зависимости от числа выкупленных занятий. В фитнес клубе есть 4 вида абонементов: разовый, на 4 занятия (1 раз в неделю), на 8 занятий (2 раза в неделю) и 12 занятий (3 раза в неделю). В зависимости от услуги и числа занятий, выставляется цена. В сущности «Прейскурант» вместо атрибута «Наименование услуги» пока не записываем атрибут «Код услуги» из сущности «Услуги», так как эти сущности находятся в разных функциональных блоках. При слиянии локальных моделей вместо атрибута «Наименование услуги»появится атрибут «Код услуги». Первичный ключ для данной сущности - код цены, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 5. Таблица 5 – «Прейскурант»
Сущность «Услуги клиентов». Предназначена для хранения данных о выбранных клиентами услуг. В дальнейшем эта таблица войдет в состав таблицы «Абонементы». Вместо ФИО клиента не записываем код клиента, так как клиент еще пока не зарегистрировался в базе. Первичный ключ для данной сущности является совокупность атрибутов «ФИО клиента» и «Код услуги» (взят из сущности «Услуги»), так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 6.
Таблица 6 – «Услуги клиентов»
Сущность «Абонементы». Предназначена для хранения данных о покупке абонемента на выбранные клиентом услуги. Один клиент может иметь несколько абонементов. Абонемент покупается только на определенную услугу. Абонемент выдается на определенный срок, поэтому фиксируется дата начала и дата окончания действия абонемента. Атрибут «Сумма оплаты» абонемента является вычисляемым полем. Для его вычисления из сущности «Прейскурант» по коду цены выбирается цена. Учитывая величину скидки, которая указана в таблице «Клиенты», получается значение атрибута «Сумма оплаты». Атрибут «Флаг активности» отвечает за проверку активности абонемента. Если данный атрибут равен 1, то абонементом можно пользоваться. Если срок действия абонемента истек или клиент исходил все занятия, то флаг активности выставляется равным 0. В атрибуте «Код сотрудника» указывается код администратора, оформляющего абонемент. Это предусмотрено для того, чтобы впоследствии можно было вести учет абонентов и начислять заработную плату сотруднику. Первичный ключ для данной сущности – код абонемента, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 7. Таблица 7– «Абонементы»
Сущность «Расписание занятий». Предназначена для хранения данных о расписании занятий, проводимых в фитнес клубе. В нем указаны наименование услуги, ФИО сотрудника, проводящего данное занятие, помещение, в котором проходит занятие, день недели и время начала занятия. Стандартно каждое занятие длится 1 час. Расписание занятий не расписано по дням, потому что клиентам удобней ориентироваться по дням недели. Первичный ключ для данной сущности – код расписания занятий, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 8. Таблица 8– «Расписание занятий»
Сущность «Журнал посещений». Предназначена для хранения данных о посещении занятий клиентами. В журнале посещений отмечаются клиенты, которые пришли на занятия. Первичный ключ для данной сущности – код журнала посещений, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 9. Таблица 9 – «Журнал посещений»
Сущность «Зарплата инструкторов». Предназначена для хранения данных о зарплате инструкторов, которые получают ее за проведение каждого занятия. Из сущности «Расписание занятий» по коду занятия извлекаются сведения об инструкторе, который проводил данное занятие. Из сущности «Журнал посещений» извлекается информация о числе клиентов, пришедших на занятие. Цена на услугу, проводимую инструктором, берется из сущности «Прейскурант на услуги». Берется цена за 1 занятие. Атрибут «Оплата» вычисляется как произведение количества человек на цену за услугу и берется 20% от этого произведения (процент сотрудника-инструктора от общей суммы). Оплата начисляется по проведенному занятию. Первичный ключ для данной сущности – код зарплаты, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 10. Таблица 10 – «Зарплата инструкторов»
Определение доменов После определения атрибутов и их типов можно выделить несколько полученных доменов. Домен - это набор допустимых значений для одного или нескольких атрибутов. Каждый атрибут определяется на некотором домене. Два или более атрибутов могут определяться на одном или более домене. Для данной модели требуется несколько доменов: · домен «Логический». Имитирует логический тип, то есть данные могут принимать лишь значение 1 или 0. На данном домене обозначен атрибут «Флаг активности» сущности «Абонементы»; · домен «Занятия». Значения данного домена могут быть равными 1, 4, 8 или 12. На этом домене обозначен атрибут «Количество занятий» из сущностей «Прейскурант на услуги» и «Абонементы». Это связано с тем, что в фитнес клубе есть 4 вида абонементов, которые выписываются либо на 1, либо на 4, либо на 8, либо на 12 занятий. |
Последнее изменение этой страницы: 2019-04-10; Просмотров: 530; Нарушение авторского права страницы