Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Определение множества функциональных зависимостей
Определим функциональные зависимости в прикладной области. Рассмотрим атрибуты, характеризующие фильм. Наименование фильма пока никаким атрибутом однозначно не определяется. Такую ситуацию мы будем условно обозначать следующим образом: 0→1. Рассмотрим зависимость 1 → 7 («Наименование фильма»→«Метка носителя»). Мы вынуждены отбросить ее, т.к. возможна ситуация когда существует два фильма с одинаковым названием, но записанные на разные носители (пункт проката имеет два носителя идентичного содержания). Аналогичная ситуация возникает с зависимостями, где определяющая часть это «Наименование фильма», а определяемая – остальные атрибуты характеризующие фильм. Вообще говоря, тройка 1,3,5 («Наименование фильма», «Режиссер фильма», «Год выхода фильма в прокат») однозначно определяет фильм (одни и те же режиссеры в один год редко снимают и картины, и их «ремейки»), и, следовательно, все атрибуты, касающиеся его. В дальнейшем эта тройка будет ключевыми атрибутами. Значения атрибутов составных ключей многократно дублируются в записях соответствующих таблиц: например, не все режиссеры сняли только по одному достойному проката фильму. Поэтому в качестве ключевых атрибутов рекомендуется использовать как можно более короткие: номера, коды, шифры. Большинство существующих СУБД поддерживают такой тип, как ID (счетчик) – он автоматически обслуживается СУБД. На физическом уровне основой индексных файлов являются именно ключевые поля отношений, поэтому крайне желательно использовать как можно короткие ключи фиксированной длины. ФИО и наименования организаций для этого очевидно не подходят. Поэтому мы введем новый элемент данных: №18 «ИДЕНТИФИКАТОР ФИЛЬМА». По этим же соображениям введем атрибут №19 «ИДЕНТИФИКАТОР КЛИЕНТА». Теперь функциональные зависимости примут следующий вид: «Идентификатор фильма» → «Наименование фильма» (18→1) «Идентификатор фильма» → «Продолжительность фильма» (18→2) «Идентификатор фильма» → «Режиссер фильма» (18→3) «Идентификатор фильма» → «Актеры, занятые в фильме» (18→4) «Идентификатор фильма» → «Год выхода фильма в прокат» (18→5)
Ранее уже был определен атрибут «Идентификатор носителя». Рассмотрим теперь остальные атрибуты, касающиеся носителей. «Идентификатор носителя» → «Метка носителя» (6→7) «Идентификатор носителя» → «Рента за сутки» (6→10) «Идентификатор носителя» → «Время добавления информации о носителе» (6→8) «Идентификатор носителя» → «Идентификатор типа носителя» (6→17) «Идентификатор носителя» → «Дата порчи-потери носителя» (6→11) Обратим внимание на зависимость «Идентификатор носителя» → «Дата порчи-потери носителя» (6→11). Не все носители повреждены или украдены, а, следовательно, эта зависимость будет выполняться не для всех носителей, и в этих случаях атрибут из правой части будет принимать NULL значение. Использование NULL требует поддержки данного типа со стороны СУБД, а также, например, учета правил непривычной трехзначной логики при построении запросов. Замечание1. Если предполагается, что неопределенные значения будут встречаться относительно редко (например, для документальных фильмов нельзя указать список актеров), то использование NULL-значений оправдано. В обратной ситуации, когда большинство записей будут содержать именно NULL-значение (именно дата порчи/потери носителя), целесообразно использовать понятие области определения функциональной зависимости.
Рассмотрим остальные зависимости. «Идентификатор типа носителя» → «Тип носителя» (17→9) Для этой зависимости и вводился атрибут «Идентификатор типа носителя».
«Идентификатор клиента» → «ФИО клиента» (19→14) «Идентификатор клиента» → «Адрес электронной почты клиента» (19→15) «Идентификатор клиента» → «Контактный телефон клиента» (19→16)
Объект выдача носителя клиенту характеризуется всеми своими атрибутами: носителем, клиентом, датой выдачи. По вышеописанным причинам необходимо ввести еще один атрибут для внутреннего пользования: №20 «ИДЕНТИФИКАТОР ВЫДАЧИ». «Идентификатор выдачи» → «Идентификатор носителя» (20→6) «Идентификатор выдачи» → «Идентификатор клиента» (20→19) «Идентификатор выдачи» → «Дата выдачи носителя клиенту» (20→12) «Идентификатор выдачи» → «Дата возврата носителя» (20→13)
Поскольку носитель каждый конкретный раз выдается только одному клиенту, это необходимо отразить в функциональных зависимостях: «Идентификатор выдачи» → «ФИО Клиента», «Адрес электронной почты клиента», «Контактный телефон клиента»
Выше, при неформальном описании области отмечалась несколько нетривиальная связь фильма и носителя. Например, нельзя выделить зависимости «Идентификатор фильма» → «Идентификатор носителя» (18→6) и «Идентификатор носителя» → «Идентификатор фильма» (6→18): один фильм может располагаться на нескольких носителях, равно как и на одном носителе может быть несколько фильмов. Поэтому имеет место некоторое распределение фильмов по носителям. БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ А Темы курсовых работ
1. Реализация симплекс-метода в случае положительных свободных членов 2. Реализация симплекс-метода в случае отрицательных свободных членов 3. Реализация симплекс-метода в случае произвольных свободных членов 4. Реализация модифицированного симплекс-метода 5. Двойственные задачи 6. Методы решения транспортной задачи (метод потенциалов) 7. Методы и модели нелинейного программирования 8. Нахождение максимального потока в графе 9. Характеристики сетевого графика 10. Решение задачи о коммивояжере 11. Сетевое планирование 12. Задача о назначениях 13. Методы и модели динамического программирования 14. Многокритериальная оптимизация 15. Системы массового обслуживания 16. Методы прогнозирования 17. Применение корреляционного анализа 18. Реализация метода наименьших квадратов 19. Методы и модели управления запасами 20. Задачи в условиях определенности 21. Задачи в условиях неопределенности 22. Метод статистических испытаний (Метод Монте - Карло) 23. Решение матричных игр 24. Игры и стратегии 25. Примеры конечных игр. Принцип минимакса 26. Задачи в условиях вероятностной определенности 27. Решение игры в смешанных стратегиях 28. Модели прогнозирования временных рядов
ПРИЛОЖЕНИЕ Б |
||
Последнее изменение этой страницы: 2018-05-29; просмотров: 154. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |