Добавлен: 19.10.2018
Просмотров: 5601
Скачиваний: 75
Рис. 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
Ограничения атрибутов
Имя атрибутаили агрегата |
Тип |
Размер |
Границыили допустимые значения |
Значениепо умолчанию |
|
|
1. Сотрудник.Табельный номер |
строка цифр |
6 |
|
|
|
|
2. Сотрудник.Пол |
Строка рус букв |
1 |
1) |
||
|
3. Сотрудник.Дата рождения |
Дата |
2) |
|||
|
4. Сотрудник.Фамилия |
Строка рус. букв |
<=30 |
3) |
||
|
5. Сотрудник.Имя |
« |
<=30 |
3) |
||
|
6. Сотрудник.Отчество |
« |
<=30 |
3) |
||
|
7. Учебное заведение.Код учебного заведения |
Текст |
||||
|
8. Учебное заведение.Факультет |
Строка рус. Букв |
<=30 |
|||
|
9. Учебное заведение.Специальность |
Строка цифр |
||||
|
10. Учебное заведение.Дата поступления |
дата |
||||
|
11. Учебное заведение.Дата окончания |
« |
||||
|
12. Учебное заведение.Успеваемость (средний балл) |
Строка цифр |
<=3 |
|||
|
13. Телефон.Нпп |
Положит.целое |
Инкр.4) |
|||
|
14. Телефон.Номер |
Строка цифр |
7) |
|||
|
15. Телефон.Тип |
Строка рус. Букв |
<=30 |
5) |
||
|
16. Телефон.Примечание |
Текст |
||||
|
17. Место работы.Нпп |
Положит.целое |
Инкр.4) |
|||
|
18. Место работы.Код подразделения |
Строка цифр |
6 |
|||
|
19. Место работы.Дата прихода |
Дата |
||||
|
20. Место работы.Дата ухода |
2) |
||||
|
21. Клиент.Код клиента |
строка цифр |
6 |
2) |
||
|
22. Клиент.Фамилия |
Строка рус. букв |
<=3 |
3) |
||
|
23. Клиент.Имя |
« |
3) |
|||
|
24. Клиент.Отчество |
« |
3) |
|||
|
25. Клиент.Дата рождения |
дата |
2) |
|||
|
26. Клиент.Пол |
Строка рус. букв |
<=3 |
|||
|
27. Счет в банке.Номер счета |
Строка цифр |
6 |
7) |
||
|
28. Счет в банке.Название банка |
Строка рус. букв |
<=30 |
|||
|
29. Счет в банке.Сведения о зажолжностях по кредитам |
текст |
||||
|
30. Счет в банке.Дата открытия |
дата |
||||
|
31. Финансовый баланс.Сумма счета |
Строка цифр |
||||
|
32. Финансовый баланс.Расходы в месяц |
« |
||||
|
33. Телефон.нпп |
Положит.целое |
Инкр.4) |
|||
|
34. Телефон.Номер |
Строка цифр |
7) |
|||
|
35. Телефон.Тип |
Строка рус. Букв |
<=30 |
5) |
||
|
36. Телефон.Примечание |
Текст |
||||
|
37. Место работы.нпп |
Положит.целое |
Инкр.4) |
|||
|
38. Место работы.Код подразделения |
Строка цифр |
||||
|
39. Место работы.Дата прихода |
дата |
||||
|
40. Место работы.Дата ухода |
дата |
||||
|
41. Поставка.Код поставки |
Строка цифр |
||||
|
42. Поставка.Дата поставки |
Дата |
||||
|
43. Поставка.Объем поставки |
Строка цифр |
||||
|
44. Поставка.Содержимое поставки |
Строка рус. Букв |
<=30 |
|||
|
45. Оборудование.Код оборудования |
Строка цифр |
<=30 |
|||
|
46. Оборудование.Название |
Строка рус. Букв |
<=30 |
|||
|
47. Оборудование.Тип оборудования |
« |
5) |
|||
|
48. Оборудование.Номер |
Строка цифр |
7) |
|||
|
49. Оборудование.Дата закупки |
Дата |
||||
|
50. Оборудование.Дата выпуска |
« |
||||
|
51. Оборудование.Срок эксплуатации |
Строка цифр |
||||
|
52.Оборудование.ГОСТ |
« |
Инкр.4) |
|||
|
53.Оборудование.Вид оборудования |
Строка рус.букв |
<=30 |
|||
|
54. Производитель.Код производителя |
« |
||||
|
55. Производитель.Страна |
Строка рус. Букв |
<=30 |
|||
|
56. Производитель.Город |
« |
||||
|
57. Поставщик.Код поставщика |
Строка цирф |
||||
|
58. Поставщик.Страна |
Строка рус. Букв |
<=30 |
|||
|
59. Поставщик.Город |
Дата |
||||
|
50. Поставщик.Дата закупки |
Строка цифр |
||||
|
61. Наращение.Наращенная сумма |
« |
<=30 |
|||
|
62. Мероприятие.Код мероприятия |
Строка цифр |
||||
|
63. Договор с заказчиком.Номер договора |
« |
7) |
|||
|
64. Договор с заказчиком.Дата заключения |
Дата |
||||
|
65. Договор с заказчиком.Дата окончания |
« |
||||
|
66. Финансовый баланс.Сумма |
Строка цифр |
||||
|
67. Разработка идеи проведения мероприятия.Разработка идеи мероприятия. |
« |
<=30 |
|||
|
68. Разработка идеи проведения мероприятия.Разработка дизайна рекламы |
« |
<=30 |
|||
|
70. Разработка идеи проведения мероприятия.Разработка дизайна униформы |
« |
<=30 |
|||
|
71. Подготовка к мероприятию.Набор персонала |
« |
<=30 |
|||
|
72. Подготовка к мероприятию.Обучение персонала |
« |
<=30 |
|||
|
73. Подготовка к мероприятию.Покупка оборудования |
« |
<=30 |
|||
|
73. Подготовка к мероприятию.Печать рекламы |
« |
<=30 |
|||
|
74. Подготовка к мероприятию.Доставка персонала |
« |
<=30 |
|||
|
75. Подготовка к мероприятию.Доставка оборудования |
« |
<=30 |
|||
|
76. Проведение пероприятия.Фотоотчет |
« |
<=30 |
|||
|
77. Проведение пероприятия.Видеоотчет |
« |
<=30 |
|||
|
78.Ответственный за мероприятие.Фамилия |
« |
<=30 |
3) |
||
|
79. Ответственный за пероприятие.Имя. |
« |
<=30 |
3) |
||
|
80. Ответственный за мероприятие.Отчество |
« |
<=30 |
3) |
||
|
81. Ответственный за мероприятие.Дата рождения |
Дата |
||||
|
82. Ответственный за мероприятие.Пол |
Строка рус. Букв |
<=30 |
1) |
||
|
83. Работу выполнил.Фамилия |
« |
<=30 |
3) |
||
|
84. Работу выполнил.Имя |
« |
<=30 |
3) |
||
|
85. Работу выполнил.Отчество |
« |
<=30 |
3) |
||
|
86. Работу выполнил.Код работника |
Строка цифр |
||||
|
87. Работу выполнил.Стаж |
Строка рус. Букв |
<=30 |
|||
|
88. Работу выполнил.Пол |
« |
<=30 |
1) |