Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Выделение элементов данных по группам пользователей




Следующим шагом является выделение элементов данных. Оно производится на основании анализа требований к информации, предъявляемых пользователями различных ролей.

 

1. Клиент:

1.1. Наименование фильма (1)

1.2. Продолжительность фильма (2)

1.3. Режиссер фильма (3)

1.4. Актеры, занятые в фильме (4)

1.5. Год выхода фильма в прокат (5)

1.6. Рента за сутки (10)

1.7. Тип носителя (9)

1.8. Дата выдачи носителя клиенту (12)

1.9. Дата возврата носителя (13)

2. Работник проката:

2.1. Наименование фильма (1)

2.2. Продолжительность фильма (2)

2.3. Режиссер фильма (3)

2.4. Актеры, занятые в фильме (4)

2.5. Год выхода фильма в прокат (5)

2.6. Метка носителя (7)

2.7. Время добавления информации о носителе (8)

2.8. Тип носителя (9)

2.9. Рента за сутки (10)

2.10. Дата порчи/потери носителя (11)

2.11. Дата выдачи носителя клиенту (12)

2.12. Дата возврата носителя (13)

2.13. ФИО клиента (14)

2.14. Адрес электронной почты клиента (15)

2.15. Контактный телефон клиента (16)

Сведем все в общий список со сквозной нумерацией:

1. Наименование фильма

2. Продолжительность фильма

3. Режиссер фильма

4. Актеры, занятые в фильме

5. Год выхода фильма в прокат

6. Идентификатор носителя

7. Метка носителя

8. Время добавления информации о носителе

9. Тип носителя

10. Рента за сутки

11. Дата порчи-потери носителя

12. Дата выдачи носителя клиенту

13. Дата возврата носителя

14. ФИО клиента

15. Адрес электронной почты клиента

16. Контактный телефон клиента

 

Неплохим способом проверить атомарность атрибутов является определение домена: множества значений, принимаемых атрибутом. Домен определяется типом данных и ограничениями, накладываемыми на множество возможных значений этого типа. В основном используются следующие типы данных: ЛОГИЧЕСКИЙ, ЧИСЛО, СТРОКА, ДАТА, ВРЕМЯ (современные СУБД так или иначе поддерживают все эти типы).

Атрибут №9 «Тип носителя» имеет строковый тип и содержит название типа носителя: «кассета VHS», «диск DVD» — возможно, в ходе дальнейшего технического прогресса он будет дополнен; фактически, домен этого атрибута состоит только из этих двух строк. Вообще говоря, при работе с БД необходимо иметь полный список точных значений этого атрибута в прикладной программе, что может представлять собой проблему и нарушать принцип независимости данных. Поэтому вводится новый атрибут №17 «Идентификатор типа носителя».

Атрибут №4 «Актеры, занятые в фильме», по всей видимости, нарушает свойство атомарности: в этом атрибуте предполагается наличие нескольких значений (имен актеров). Для решения проблемы достаточно удалить атрибут из списка и добавить вместо него атрибут «Актер». Однако база данных проектируется для предметной области «видеопрокат», а не, например, «фильмография», где каждый актер представляет собой отдельную сущность. В данном случае атрибут №4 содержит справочную информацию для клиента и не будет постоянно использоваться в запросах как критерий отбора записей.

Данный список не обязательно является полным. После некоторой практики проектировщик может сразу составить практически полный список атрибутов.










Последнее изменение этой страницы: 2018-05-29; просмотров: 144.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...