В результате проектирования глобальной ER-модели, соответствующей локальным ER-моделям для отдельных автоматизируемых функций, получена графическая модель, включающая 23 сущностей в третьей нормальной форме. Введена 1 обобщенная сущность содержащая 1 неполную категорию. Разработанные спецификации ограничений и операционных правил включают все ограничения и правила, полученные на предыдущем этапе и трансформированные для глобальной ER-модели; дополнительно на данном этапе введено 1 ограничение и 0 правил, ограничения и правила для 4 объединяющих сущностей были также объединены.
5 ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ И РАЗРАБОТКА SQL-КОДА БАЗЫ ДАННЫХ
5.1 Устранение категорий и явных связей
В данном подразделе в глобальной ER-модели устраняются категории сущностей либо путем расщепления обобщенной сущности, либо путем слияния категорий, либо путем выделения категорий в отдельные сущности. Затем устраняются явные связи типа «многие ко многим» и «один ко многим», в результате чего модель переходит в реляционную форму. Графическое представление реляционной модели приведено на рис. 5.1 в конце раздела.
5.1.1 Устранение категорий сущностей
Категория обобщающей сущности «Пишущий диссертацию» устранена путем выделения в отдельную сущность категории «Диссертант», имеющей собственные атрибуты.
5.1.2 Устранение явных связей типа «многие ко многим»
Явные связи типа «многие ко многим» устранены путем замены их одноименной сущностью с копированием идентификаторов связываемых сущностей в состав атрибутов для сохранения неявных связей. В результате появились новые сущности: «Координаты», «Место работы», «Карьера».
5.1.3 Устранение явных связей типа «один ко многим»
Явные связи типа «один ко многим» заменены неявными путем копирования атрибутов-идентификаторов родительской сущности в множество атрибутов дочерней сущности. Такое копирование произведено для сущностей «Диплом», «Научный консультант/ руководитель», «Член экзаменационной комиссии», «Экзаменационный вопрос», «Оппонент», «Выступление», «Вопрос на защите».
5.2 Спецификации ограничений и правил
В данном подразделе ограничения и правила, сформулированные в разд. 4 для глобальной ER-модели, трансформированы применительно к реляционной модели, а именно:
– ограничения атрибутов сущностей (таблица 5.1);
– ограничения кортежей (таблица 5.2);
– ограничения уникальности (таблица 5.3);
– динамические ограничения (таблица 5.4);
– прочие ограничения (таблица 5.5);
– операционные правила (таблица 5.6);
– стандартные ссылочные правила (таблица 5.7) .
При этом динамические и прочие ограничения, а также операционные правила преобразованы к событийно-ориентированной форме для последующей реализации в виде триггеров базы данных.
Таблица 5.1 Ограничения атрибутов
Имя атрибута или агрегата | Тип | Размер | Границы или допустимые значения | Значениепо умолчанию | |||||||||||||||
1. Сотрудник.№ удостоверения | строка цифр | 6 | 1) | ||||||||||||||||
2. Сотрудник.ФИО | агрегат | 2) | |||||||||||||||||
3. Сотрудник.Дата рождения | дата | 3) | |||||||||||||||||
4. Сотрудник.Стаж | положит. Целое | вычисл. 4) | |||||||||||||||||
5. Идентификация.ИНН | строка цифр | 15 | |||||||||||||||||
6. Идентификация.Свид-во пенс. страхования | строка цифр | 14 | |||||||||||||||||
7. Паспорт.Серия | строка цифр | 4 | |||||||||||||||||
8. Паспорт.Номер | строка цифр | 6 | |||||||||||||||||
9. Паспорт.Кем выдан | текст | ||||||||||||||||||
10. Паспорт.Когда выдан | дата | ||||||||||||||||||
11. Трудовая книжка.Серия | строка цифр | <=10 | |||||||||||||||||
12. Трудовая книжка.Номер | строка цифр | <=10 | |||||||||||||||||
13. Трудовая книжка.Дата выдачи | дата | ||||||||||||||||||
14. Координаты.Прописка | текст | ||||||||||||||||||
15. Телефон.Номер | строка символов | 5) | |||||||||||||||||
16. Телефон.Тип | строка рус. Букв | 6) | |||||||||||||||||
17. Образование.Нпп | положит. Целое | 7) | |||||||||||||||||
18. Диплом.Серия | строка цифр | <=10 | |||||||||||||||||
19. Диплом.Номер | строка цифр | <=10 | |||||||||||||||||
20. Диплом.Специальность | текст | ||||||||||||||||||
21. Диплом.Квалификация | текст | ||||||||||||||||||
22. Место.Нпп | положит. Целое | 7) | |||||||||||||||||
23. Карьера.Дата назначения | дата | ||||||||||||||||||
24. Карьера.Дата увольнения | дата | ||||||||||||||||||
25. Служебное положение.Должность | текст | 4 | |||||||||||||||||
26. Служебное положение.Оклад | положит. Целое | ||||||||||||||||||
27. Служебное положение.Разряд | положит. Целое | ||||||||||||||||||
28 Пишущий диссертацию.Код | строка цифр | 6 | 1) | ||||||||||||||||
29. Пишущий диссертацию.ФИО | агрегат | 2) | |||||||||||||||||
30. Пишущий диссертацию.Дата рождения | дата | 3) | |||||||||||||||||
31. Диплом о присуждении уч.степени/ высшем проф. образовании. Серия | строка цифр | ||||||||||||||||||
32. Диплом о присуждении уч.степени/ высшем проф. образовании.Номер | строка цифр | ||||||||||||||||||
33. Диплом о присуждении уч.степени/ высшем проф. образовании.Специальность | текст | ||||||||||||||||||
34. Диплом о присуждении уч.степени/ высшем проф. образовании.Когда выдан | дата | ||||||||||||||||||
35. Консультант/ руководитель.Нпп | положит. Целое | 7) | |||||||||||||||||
36. Консультант/ руководитель.ФИО | строка рус. Букв | <=40 | |||||||||||||||||
37. Консультант/ руководитель.Ученая степень | строка рус. Букв | <=10 | 10) | ||||||||||||||||
38. Консультант/ руководитель.Ученое звание | строка рус. Букв | <=10 | |||||||||||||||||
39. Консультант/ руководитель.Кафедра | строка рус. Букв | <=10 | |||||||||||||||||
40. Индивидуальный план.Номер | строка цифр | 6 | |||||||||||||||||
41. Индивидуальный план.Вид диссертации | строка рус. Букв | <=10 | |||||||||||||||||
42. Индивидуальный план.Статус обучающегося | строка рус. Букв | <=10 | 8) | ||||||||||||||||
43. Индивидуальный план.Средства обучения | строка рус. Букв | <=10 | 9) | бюджет | |||||||||||||||
44. Индивидуальный план.Форма обучения | строка рус. Букв | <=10 | 11) | очная | |||||||||||||||
45. Индивидуальный план.№ удостоверения о сдаче кандид. Экзаменов | строка цифр | <=10 | |||||||||||||||||
48. Индивидуальный план.Дата поступления | дата | ||||||||||||||||||
49. Индивидуальный план.Дата последней аттестации | дата | ||||||||||||||||||
48. Индивидуальный план.Дата окончания (отчисления) | дата | ||||||||||||||||||
49. Индивидуальный план.Степень готовности диссертации | положит. Целое | ||||||||||||||||||
50. Индивидуальный план.№ удостоверения ответственного сотрудника | строка цифр | 6 | 1) | ||||||||||||||||
51. Кандидатский экзамен.№ экзаменационной ведомости | строка цифр | <=10 | |||||||||||||||||
52. Кандидатский экзамен.ФИО экзаменуемого | агрегат | 2) | |||||||||||||||||
53. Кандидатский экзамен.Название предмета | строка рус. Букв | <=30 | |||||||||||||||||
54. Член комиссии.Нпп | положит. Целое | 7) | |||||||||||||||||
55. Член комиссии.Статус | строка рус. Букв | <=10 | |||||||||||||||||
56. Член комиссии.ФИО | строка рус. Букв | <=40 | |||||||||||||||||
57. Член комиссии.Ученая степень | строка рус. Букв | <=10 | |||||||||||||||||
58. Член комиссии.Ученое звание | строка рус. Букв | <=10 | |||||||||||||||||
59. Член комиссии.Должность | строка рус. Букв | <=10 | |||||||||||||||||
60. Член комиссии. Специальность | строка рус. Букв | <=10 | |||||||||||||||||
61. Билет.Номер | строка цифр | <=2 | |||||||||||||||||
62. Билет.Оценка за экзамен | положит. Целое | ||||||||||||||||||
63. Экзаменационный Вопрос.Нпп | положит. Целое | 7) | |||||||||||||||||
64. Экзаменационный Вопрос.Содержание | текст | ||||||||||||||||||
67. Экзаменационный Вопрос.Оценки членов | строка цифр | <=10 | |||||||||||||||||
68. Экзаменационный Вопрос.Итоговая оценка | положит. Целое | ||||||||||||||||||
67. Сдача.Дата | дата | ||||||||||||||||||
68. Сдача.Время | время | ||||||||||||||||||
69. Сдача.Корпус | строка цифр | <=2 | |||||||||||||||||
70. Сдача.Аудитория | строка цифр | <=3 | |||||||||||||||||
71. Диссертация.Код | строка цифр | <=10 | |||||||||||||||||
72. Диссертация.Название | текст | ||||||||||||||||||
73. Диссертация.Ведущее предприятие | текст | ||||||||||||||||||
74. Диссертация.Специальность | текст | ||||||||||||||||||
75. Диссертация.Совет | текст | ||||||||||||||||||
76. Оппонент.Нпп | положит. Целое | 7) | |||||||||||||||||
77. Оппонент.ФИО | строка рус. Букв | <=40 | |||||||||||||||||
78. Оппонент.Ученая степень | строка рус. Букв | <=10 | |||||||||||||||||
79. Оппонент.Ученое звание | строка рус. Букв | <=10 | |||||||||||||||||
80. Оппонент.Должность | строка рус. Букв | <=10 | |||||||||||||||||
81. Оппонент.Специальность | строка рус. Букв | <=10 | |||||||||||||||||
82. Защита.Дата | дата | ||||||||||||||||||
83. Защита.Время | время | ||||||||||||||||||
84. Защита.Корпус | строка цифр | <=2 | |||||||||||||||||
85. Защита.Аудитория | строка цифр | <=3 | |||||||||||||||||
86. Протокол защиты.Номер | строка цифр | 6 | |||||||||||||||||
87. Протокол защиты.На соискание степени… | строка рус. Букв | <=10 | 13) | ||||||||||||||||
88. Протокол защиты.ФИО Председателя Совета | строка рус. Букв | <=40 | 2) | ||||||||||||||||
89. Протокол защиты.ФИО Ученого секретаря Совета | строка рус. Букв | <=40 | 2) | ||||||||||||||||
90. Протокол защиты.Совет | текст | ||||||||||||||||||
91. Диссертант.Код | строка цифр | 6 | 1) | ||||||||||||||||
92. Диссертант.ФИО | строка рус. Букв | <=40 | |||||||||||||||||
93. Диссертант.Ученая степень | строка рус. Букв | <=10 | |||||||||||||||||
94. Диссертант.Ученое звание | строка рус. Букв | <=10 | |||||||||||||||||
95. Диссертант. Специальность | строка рус. Букв | <=10 | |||||||||||||||||
97. Вопрос на защите.Нпп | положит. Целое | 7) | |||||||||||||||||
98. Вопрос на защите.ФИО задавшего | строка рус. Букв | <=40 | |||||||||||||||||
99. Вопрос на защите.Содержание | текст | ||||||||||||||||||
100. Вопрос на защите.Ответ диссертанта | текст | ||||||||||||||||||
101. Выступление.Нпп | положит. Целое | 7) | |||||||||||||||||
102. Выступление.ФИО выступающего | строка рус. Букв | <=40 | |||||||||||||||||
103. Выступление.Статус выступающего | строка рус. Букв | <=10 | 12) | ||||||||||||||||
104. Выступление.Содержание | текст | ||||||||||||||||||
105. Выступление.Ответ диссертанта | текст | ||||||||||||||||||
106. Протокол голосования.№ протокола | строка цифр | 6 | |||||||||||||||||
107. Протокол голосования.Кол-во розданных бюллетеней | положит. Целое | 14) | |||||||||||||||||
108. Протокол голосования.За | положит. Целое | ||||||||||||||||||
109. Протокол голосования.Против | положит. Целое | ||||||||||||||||||
110. Протокол голосования.Не действительных бюллетеней | положит. Целое | ||||||||||||||||||
111. Протокол голосования.Решение Совета | текст |
Таблица 5.2. Ограничения кортежей Стандартные ссылочные правила