Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Определение атрибутов сущностей и первичных ключей



После того, как все сущности и отношение между ними были определены, можно начать подробно описывать каждую сущность.

Атрибуты – это характеристики объектов (сущностей). Основное назначение атрибута – это описание свойств сущностей, а также идентификация экземпляров сущностей.

Для каждого атрибута нужно определить следующие сведения: 

· имя атрибута и его описание;

· тип данных и размерность значения;

· значение, принимаемое для атрибута по умолчанию (если таковое имеется);

· является ли атрибут обязательным (т.е. может ли он отсутствовать или иметь значение NULL);

· является ли атрибут составным и, если это так, из каких простых атрибу­тов он состоит;

· является ли данный атрибут производным и, если это так, какой метод следует использовать для вычисления его значения.

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

Первичный ключ это один из возможных ключей, остальные называются альтернативными.

Кроме первичных ключей сущности могут иметь внешние ключи, приобретённые ими в результате отношений с другими сущностями. В случае идентифицирующего отношения внешний ключ станет частью ключа сущности (составной ключ). Если отношение неидентифицирующее, то внешний ключ станет атрибутом.

Опишем более подробно все сущности со своими атрибутами.

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

Таблица 2 – «Клиенты»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код клиента Числовой PK Код клиента
ФИО Строковый AK ФИО клиента
Улица Строковый   Улица клиента
Дом Числовой   Дом клиента
Номер квартиры Числовой   Номер квартиры клиента
Телефон Строковый   Телефон клиента
День рождение Дата   Дата рождения клиента
Скидка Числовое   Скидка на занятия

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

Таблица 3 – «Сотрудники»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код сотрудника Числовой PK Код сотрудника
ФИО Строковый AK ФИО сотрудника
Улица Строковый   Адрес сотрудника
Дом Числовой   Дом сотрудника
Номер квартиры Числовой   Номер квартиры сотрудника
 Телефон Строковый   Телефон сотрудника
Паспортные данные Строковый   Паспортные данные сотрудника
Должность Строковый   Должность сотрудника

 

Сущность «Услуги». Предназначена для хранения информации о предоставляемых услугах фитнес клуба. Первичный ключ для данной сущности - код услуги, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 4.

Таблица 4 – «Услуги»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код услуги Числовой PK Код услуги
Наименование услуги Строковый AK Наименование услуги

Сущность «Прейскурант». Предназначена для хранения данных о цене на услуги фитнес клуба в зависимости от числа выкупленных занятий. В фитнес клубе есть 4 вида абонементов: разовый, на 4 занятия (1 раз в неделю), на 8 занятий (2 раза в неделю) и 12 занятий (3 раза в неделю). В зависимости от услуги и числа занятий, выставляется цена. В сущности «Прейскурант» вместо атрибута «Наименование услуги» пока не записываем атрибут «Код услуги» из сущности «Услуги», так как эти сущности находятся в разных функциональных блоках. При слиянии локальных моделей вместо атрибута «Наименование услуги»появится атрибут «Код услуги». Первичный ключ для данной сущности - код цены, так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 5.

Таблица 5 – «Прейскурант»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код цены Числовой PK Код цены
Наименование услуги Строковый AK Наименование услуги
Количество занятий Числовой   Количество занятий
Цена Числовой   Цена за услугу

Сущность «Услуги клиентов». Предназначена для хранения данных о выбранных клиентами услуг. В дальнейшем эта таблица войдет в состав таблицы «Абонементы». Вместо ФИО клиента не записываем код клиента, так как клиент еще пока не зарегистрировался в базе. Первичный ключ для данной сущности является совокупность атрибутов «ФИО клиента» и «Код услуги» (взят из сущности «Услуги»), так как он однозначно идентифицирует каждую запись в сущности. Описание атрибутов приведено в таблице 6.

 

Таблица 6 – «Услуги клиентов»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
ФИО клиента Строковый PK ФИО клиента, приобретающие услуги
Код услуги Строковый PK Код услуги
Количество занятий Числовой   Количество занятий

        

Сущность «Абонементы». Предназначена для хранения данных о покупке абонемента на выбранные клиентом услуги. Один клиент может иметь несколько абонементов. Абонемент покупается только на определенную услугу. Абонемент выдается на определенный срок, поэтому фиксируется дата начала и дата окончания действия абонемента. Атрибут «Сумма оплаты» абонемента является вычисляемым полем. Для его вычисления из сущности «Прейскурант» по коду цены выбирается цена. Учитывая величину скидки, которая указана в таблице «Клиенты», получается значение атрибута «Сумма оплаты». Атрибут «Флаг активности» отвечает за проверку активности абонемента. Если данный атрибут равен 1, то абонементом можно пользоваться. Если срок действия абонемента истек или клиент исходил все занятия, то флаг активности выставляется равным 0. В атрибуте «Код сотрудника» указывается код администратора, оформляющего абонемент. Это предусмотрено для того, чтобы впоследствии можно было вести учет абонентов и начислять заработную плату сотруднику.

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

Описание атрибутов приведено в таблице 7.

Таблица 7– «Абонементы»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код абонемента Числовой PK Код абонемента
Код клиента Числовой   Код клиента из таблицы «Клиенты»
Код цены Числовое   Код цены
Дата начала Дата   Дата начала действия абонемента
Дата окончания Дата   Дата конца действия абонемента
Сумма оплаты Числовой   Сумма за абонемент
Флаг активности Числовой   Флаг действительности абонемента
Код сотрудника Строковый   Код сотрудника-администратора

Сущность «Расписание занятий». Предназначена для хранения данных о расписании занятий, проводимых в фитнес клубе. В нем указаны наименование услуги, ФИО сотрудника, проводящего данное занятие, помещение, в котором проходит занятие, день недели и время начала занятия. Стандартно каждое занятие длится 1 час. Расписание занятий не расписано по дням, потому что клиентам удобней ориентироваться по дням недели. Первичный ключ для данной сущности – код расписания занятий, так как он однозначно идентифицирует каждую запись в сущности. 

Описание атрибутов приведено в таблице 8.

Таблица 8– «Расписание занятий»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код расписания занятий Числовой PK Код расписания занятия
Код сотрудника Числовой   Код сотрудника, проводящего занятия
Код услуги Числовой   Код услуги
Наименование помещения Строковый   Наименование помещения, в котором проводятся занятия
День недели Строковый   День недели
Время Время   Время начала занятия

Сущность «Журнал посещений». Предназначена для хранения данных о посещении занятий клиентами. В журнале посещений отмечаются клиенты, которые пришли на занятия. Первичный ключ для данной сущности – код журнала посещений, так как он однозначно идентифицирует каждую запись в сущности. 

Описание атрибутов приведено в таблице 9.

Таблица 9 – «Журнал посещений»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код журнала посещений Числовой PK Код журнала посещений
Дата занятия Дата   Дата регистрации проводимого занятия
Код расписания занятий Числовой   Код расписания занятий
Код абонемента Числовой   Код абонемента

Сущность «Зарплата инструкторов». Предназначена для хранения данных о зарплате инструкторов, которые получают ее за проведение каждого занятия. Из сущности «Расписание занятий» по коду занятия извлекаются сведения об инструкторе, который проводил данное занятие. Из сущности «Журнал посещений» извлекается информация о числе клиентов, пришедших на занятие. Цена на услугу, проводимую инструктором, берется из сущности «Прейскурант на услуги». Берется цена за 1 занятие. Атрибут «Оплата» вычисляется как произведение количества человек на цену за услугу и берется 20% от этого произведения (процент сотрудника-инструктора от общей суммы). Оплата начисляется по проведенному занятию.

 Первичный ключ для данной сущности – код зарплаты, так как он однозначно идентифицирует каждую запись в сущности.

Описание атрибутов приведено в таблице 10.

Таблица 10 – «Зарплата инструкторов»

Наименование атрибута Тип данных Тип ключа Not Null Описание атрибута
Код зарплаты Числовой PK Код зарплаты
Дата Дата   Дата проведения занятий
Код расписания Строковый   Код расписания , которое проводил сотрудник-инструктор
Количество человек Числовой   Количество человек, посетивших занятия
Код цены Числовой   Код цены на услугу, которую провел инструктор
Оплата Числовой   Зарплата инструкторов, полученная за проведенное занятие

 

 

Определение доменов

После определения атрибутов и их типов можно выделить несколько полученных доменов. Домен - это набор допустимых значений для одного или нескольких атрибутов. Каждый атрибут определяется на некотором домене. Два или более атрибутов могут определяться на одном или более домене.

Для данной модели требуется несколько доменов:

· домен «Логический». Имитирует логический тип, то есть данные могут принимать лишь значение 1 или 0. На данном домене обозначен атрибут «Флаг активности» сущности «Абонементы»;

· домен «Занятия». Значения данного домена могут быть равными 1, 4, 8 или 12. На этом домене обозначен атрибут «Количество занятий» из сущностей «Прейскурант на услуги» и «Абонементы». Это связано с тем, что в фитнес клубе есть 4 вида абонементов, которые выписываются либо на 1, либо на 4, либо на 8, либо на 12 занятий.


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 478; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь