Добавлен: 19.10.2018
Просмотров: 4577
Скачиваний: 71
Рис. 3.5
Нарушения нормальных форм:
1. По 1НФ
1 Функция «Учет кадров»:
«ФИО» не является атомарным атрибутом, поэтому делаю из него агрегат «ФИО», который делится на атрибуты: Фамилия, Имя, Отчество.
«Телефон» не является атомарным атрибутом, поэтому делаю из него агрегат «Телефон», который делится на: Нпп, Тип, Номер и примечание.
2 функция «Учет клиентов»:
«Телефон» не является атомарным атрибутом, поэтому делаю из него агрегат «Телефон», который делится на: Нпп, Тип, Номер и примечание.
«Счет в банке» не является атомарным атрибутом, поэтому делаю из него агрегат «Счет в банке», который делится на атрибуты: Номер счета, Название банка, Сведения о задолжностях по кредитам, Дата открытия.
«Финансовый баланс» не атомарным атрибутом, поэтому делаю из него агрегат «Финансовый баланс», который делится на атрибуты: Сумма счета, Расходы в месяц
3 Функция «Материально-техническое снабжение»:
«Поставка» не является атомарным атрибутом, поэтому делаю из него агрегат «Поставка», который делится на атрибуты: Дата поставки, Объем поставки, Содержимое поставки.
«Оборудование» не является атомарным атрибутом, поэтому делаю из него агрегат «Оборудование», который делится на атрибуты: Код оборудования, Название, Тип оборудования, Номер, Дата выпуска, Дата закупки, Срок эксплуатации.
4 функция «Проведение рекламных мероприятий»:
«Договор с заказчиком» не является атомарным атрибутом, поэтому делаю из него агрегат «Договор с заказчиком», который делится на атрибуты: Номер договора, Дана заключения, Дата окончания, Сумма
«Финансовый баланс» не атомарным атрибутом, поэтому делаю из него агрегат «Финансовый баланс», который делится на атрибут: Сумма.
«Проведение мероприятия» не является атомарным атрибутом, поэтому делаю из него агрегат «Проведение мероприятия», который делится на: Фотоотчет и видеоотчет.
5 функция «Изготовление рекламной продукции»:
«Работу выполнил» не является атомарным атрибутом, поэтому делаю из него агрегат «Работу выполнил», который делится на: Код работника, ФИО, Номер телефона, стаж, Пол.
«Банк» не является атомарным атрибутом, поэтому делаю из него агрегат «Банк», который делится на: Название банка, Номер счета, Сумма.
2. По 2НФ
В модели для функции 1 «Учет кадров» вторая нормальная форма нарушается наличием неполной функциональной зависимости от составного первичного ключа в агрегате «Телефон». В данном агрегате Нпп+номер являются составным первичным ключом. Атрибут «тип» функционально зависит только от части ключа – «номер».
В модели для функции 2 «Учет клиентов» вторая нормальная форма нарушается наличием неполной функциональной зависимости от составного первичного ключа в агрегате «Телефон». В данном агрегате Нпп+номер являются составным первичным ключом. Атрибут «тип» функционально зависит только от части ключа – «номер».
3. По 3НФ
В модели для функции 2 «Учет клиентов» третья нормальная форма нарушается наличием транзитивной зависимости в агрегате «Счет в банке». «Номер счета» –> «Сумма счета» –> «Расходы в месяц».
В модели для функции 3 «Материально-техническое обслуживание» третья нормальная форма нарушается наличием транзитивной зависимости в агрегате «Поставщик». «Код поставщика» –> «ГОСТ» –> «Вид оборудования».
В модели для функции 4 «Проведение рекламных мероприятий» третья нормальная форма нарушается наличием транзитивной зависимости в агрегате «Договор с заказчиком». «Номер договора» –> «Дата заключения» –> «Сумма».
4 ПРОЕКТИРОВАНИЕ
ГЛОБАЛЬНОЙ ER-МОДЕЛИ
Данный раздел посвящен проектированию глобальной ER-модели. Здесь производится выявление эквивалентных сущностей и их слияние, выявление категорий и синтез обобщающих сущностей, выявление и устранение дублирования атрибутов и связей. Строится графическое представление глобальной модели, специфицируются ограничения целостности и операционные правила.
4.1 Анализ дублирования в локальных моделях
В данном подразделе в совокупности локальных ER-моделей выявляются эквивалентные сущности, категории сущностей, дублирование атрибутов и связей. Результаты анализа в дальнейшем используются для синтеза глобальной ER-модели. Ниже представлены пояснения к указанным действиям.
4.1.1 Выявление эквивалентных сущностей
Выявлено, что следующие сущности являются эквивалентными:
«Телефон» функции 1, «Телефон» функции 2.
4.1.2 Выявление категорий сущностей
Выявлено, что следующие сущности являются категориями других сущностей:
1) Сущность «Поставщик» функции 3 является категорией сущности «Клиент».
2) Сущность «Производитель» функции 3 является категорией сущности «Клиент».
4.1.3 Выявление дублирования атрибутов и связей
Выявлены следующие дублирующиеся атрибуты:
1) Атрибуты «Сотрудник. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 1 и «Клиент. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 2.
2) Атрибуты «Клиент. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 2 и «Ответственный за мероприятие. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 4.
3) Атрибуты «Клиент. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 2 и «Работу выполнил». Фамилия, Имя, Отчество, Пол, Дата рождения» функции 5.
Выявлены следующие дублирующиеся связи:
1) Связь «Банк» функции 2 и «Банк» функции 5;
2) Связь «Место работы» функции 1, и «Место работы» функции 2.
4.2 Синтез глобальной ER-модели
В данном подразделе из совокупности локальных ER-моделей строится единая глобальная ER-модель путем слияния эквивалентных сущностей, синтеза обобщенных сущностей и их категорий, устранения дублирования атрибутов и связей. Ниже представлены пояснения к указанным действиям. Графическое представление глобальной ER-модели приведено на рис. 4.1 в конце раздела.
4.2.1 Слияние эквивалентных сущностей
Эквивалентные сущности, выявленные в п. 4.1.1, слиты в одну с объединением множеств атрибутов:
«Телефон» функции 1, «Телефон» функции 2 слиты в единую сущность «телефон»;
4.2.2 Синтез обобщающих сущностей и категорий
По результатам анализа (п. 4.1.2) введены следующие обобщающие сущности и их категории:
Обобщающая сущность «Клиент» с категориями «Поставщик» и «Производитель».
4.2.3 Устранение дублирования атрибутов и связей
Устранены следующие дублирующиеся атрибуты:
Атрибуты «Сотрудник. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 1 и «Клиент. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 2, «Ответственный за мероприятие. Фамилия, Имя, Отчество, Пол, Дата рождения», «Работу выполнил. Фамилия, Имя, Отчество, Пол, Дата рождения» функции 5 удалены как избыточные;
Устранены следующие дублирующиеся связи:
1) Связь «Банк» функции 2 удалена как избыточная;
2) Связь «Место работы» функции 1 и «Место работы» функции 2 заменены связью «Место»;
4.3 Спецификации ограничений и правил
В данном подразделе локальные ограничения и правила, сформулированные в разд. 3 для локальных ER-моделей, трансформированы применительно к глобальной модели, а именно:
– ограничения атрибутов сущностей (таблица 4.1);
– ограничения кортежей (таблица 4.2);
– ограничения уникальности (таблица 4.3);
– динамические ограничения (таблица 4.4);
– прочие ограничения (таблица 4.5);
– операционные правила (таблица 4.6).
– правила ссылочной целостности (таблица 4.7);
Таблица 4.1
Ограничения атрибутов