1.1. Перед разработкой информационно-логической модели реляционной базы данных рассмотрим, из каких информационных объектов должна состоять эта база данных. Можно выделить два объекта, которые не будут обладать избыточностью - Сотрудники и Наряды. Представим состав реквизитов этих объектов в виде «название объекта (перечень реквизитов)»: Сотрудники (фамилия, имя, отчество, должность, специальное звание, номер удостоверения, стаж работы, оклад), Наряды (вид наряда, дата заступления, время заступления в наряд, время смены наряда, территория, количество выявленных правонарушений).
|
![]() |
Рис. 1. Типы связей между объектами Сотрудники и Наряды
Множественные связи усложняют управление базой данных, например, в СУБД Access при множественных связях нельзя использовать механизм каскадного обновления. Поэтому использовать такие связи нежелательно и нужно строить реляционную модель, не содержащую связей типа Многие-ко-многим. В Access дня контроля целостности данных с возможностью каскадного обновления и удаления данных необходимо создать вспомогательный объект связи, который состоит из ключевых реквизитов связываемых объектов и который может быть дополнен описательными реквизитами. В нашем случае таким новым объектом для связи служит объект Дата заступления, реквизитами которого являются номер удостоверения, код наряда и дата заступления. Каждый сотрудник заступает в различные виды нарядов, поэтому связь между объектами Сотрудник и Дата заступления будет Один-ко-многим (1:М). В каждый вид наряда заступает множество сотрудников, поэтому связь между объектами Наряд и Дата заступления также будет Один-ко-многим (1:М). В результате получаем информационно-логическую модель базы данных (рис. 2).
![]() |
Рис. 2. Информационно-логическая модель реляционной базы данных
В реляционной базе данных в качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредством общих полей, т.е. одинаковых по форматам и, как правило, по названию, имеющихся в обеих таблицах. Рассмотрим, какие общие поля надо ввести в таблицы для обеспечения связности данных. В таблицах Сотрудники и Дата заступления таким полем будет «Номер удостоверения », в таблицах Наряды и Дата заступления -«Код наряда ». Выбор цифровых кодов вместо фамилий или названий нарядов обусловлен меньшим объёмом информации в таких полях: например, число «1» по количеству символов значительно меньше слова «опергруппа». В соответствии с этим логическая модель базы данных представлена на рис. 3, где жирными буквами выделены ключевые поля.
Сотрудники | Дата заступления | Наряды | ||
Фамилия | ![]() ![]() ![]() | Номер удостоверения | ![]() ![]() | Код наряда |
Имя | 1:M | M:1 | Вид наряда | |
Отчество | ![]() | ![]() | ||
Должность | Дата заступления | Время заступления | ||
Специальное звание | Количество выявленных правонарушений | Время смены наряда | ||
![]() | Территория | |||
Стаж работы | ||||
Оклад |
Рис. 3. Логическая модель базы данных