Проектирование базы данных для диспетчеризации пожарного гарнизона
Автор: Вершков И.А.
Журнал: Экономика и социум @ekonomika-socium
Рубрика: Информационные и коммуникативные технологии
Статья в выпуске: 7 (38), 2017 года.
Бесплатный доступ
В современном мире все чаще информацию хранят в цифровом виде, уходя от аналогового хранения данных. Для цифрового хранения информации часто используются базы данных. В статье описывается процесс проектирования при помощи семантического моделирования базы данных, предназначенной для диспетчеризации пожарного гарнизона. Так же описаны основные принципы семантического моделирования при помощи диаграмм сущность-связь. Описаны основные понятия диаграмм сущность-связь.
Базы данных, семантическое моделирование, диаграммы сущность-связь, проектирование
Короткий адрес: https://sciup.org/140124440
IDR: 140124440
Текст научной статьи Проектирование базы данных для диспетчеризации пожарного гарнизона
Целью данной статьи является проектирование базы данных для диспетчера пожарного гарнизона.
Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).
Основные понятия диаграмм сущность-связь (ER-диаграмм) являются: сущность, атрибут, экземпляр, ключ и связь.
Сущность – любой различимый объект (объект, который мы можем отличить от другого), информацию о котором необходимо хранить в базе данных.
Атрибут – поименованная характеристика сущности.
Экземпляр - это конкретный представитель данной сущности. То есть для сущности машина, экземпляром сущности будет конкретный автомобиль, например автоцистерна, расположенная в 1 части. Каждая сущность должна быть уникальна. Часто бывает, что экземпляры сущности похожи по всем атрибутом, кроме ключа. Например две одинаковые модели автомобилей АЦ, обе расположены в одной части, но у обоих будет свой уникальный идентификатор (id).
Сущность на ER-диаграмме представляется прямоугольником с именем в верхней части. В прямоугольнике перечисляются атрибуты сущности, при этом атрибуты, составляющие уникальный идентификатор сущности (он же ключ), подчеркиваются
Пожар
I IP
Адрес
Ранг
Время возгорания
Время локализации
Время ликвидации
Рис 1 - Сущность
Первичный ключ (primary key) – это атрибут или группа атрибутов, однозначно идентифицирующая экземпляр сущности.
Первичный ключ имеет следующие свойства:
-
• Уникальность. Два экземпляра не должны иметь одинаковых значений возможного ключа. То есть для сущности пожар, адрес в качестве первичного ключа не подходит, так как в одном здании пожар может произойти не один раз.
-
• Компактность. Сложный возможный ключ не должен содержать ни одного атрибута, удаление которого не приводило бы к утрате уникальности. Например если бы ключом был адрес, время возгорания и ранг, то удаление из ключа ранга никак не повлияло бы на его уникальность. Таким образом ключ адрес, время возгорания и ранг не является компактным. Чаще всего ключом является уникальный номер, идентификатор (id).
Сущности связаны друг с другом по средствам отношений (связей).
Связи отображены в виде линий. Связи бывают трех видов:
-
• Один к одному. Чаще всего означает, что на самом деле мы имеем одну сущность по ошибке разделенную на две;
-
• Один ко многим. Наиболее часто используемый вид связи. Сущность со стороны "один" является родительской, а сущность со стороны "много" следовательно дочерней;
-
• Многие ко многим. Как правило такой тип связи является временным и в будущем делится на две связи один ко многим.
В случае данного проекта примером временной связи многие ко многим может служить связь пожара и машин.

Рис 2 - Связь многие ко многим
Но связи многие ко многим нарушают нормализацию базы данных, а конкретно первую нормальную форму.
Нормальная форма - требование, предъявляемое к структуре таблиц в теории реляционных баз данных для устранения из базы избыточных функциональных зависимостей между атрибутами (полями таблиц).
Первая нормальная форма или 1NF - в одной ячейке должно быть только одно значение, то есть являться атомарным.
Так как каждая сущность представляет собой таблицу, в который конкретный экземпляр сущности является строкой, а атрибутами являются столбцы. При этом в одной ячейке может хранится только одна переменная, такая связь не позволяет нам заполнить базу данных с учетом первой нормальной формы. Поэтому ее следует разбить на две сущности один ко многим. В этом случае будем правильно добавить между пожаром и машиной рапорт, который хранит в себе идентификаторы и пожара и машины. Таким образом, если потребуется узнать какие точно машины были на пожаре, тогда будет возможность сделать кросс-табличный запрос, который выведет нам необходимые нам машины.

Рис 3 - Две связи одни ко многим
Для базы данных, предназначенной для диспетчеризации пожарного гарнизона было в итоге определено пять сущностей: часть, машина, рапорт, объект, вызов. Гарнизон разбит на части. Объекты привязаны к частям, согласно району выезда. К каждой части привязаны машины. При получении вызова, отправляем на него машины, которые потом оставляют рапорта с данными о времени получения сигнала о выезде и времени отзыва с него.

Рис 4 - Итоговая ER-диаграмма
В итоге было подробно разобрано семантическое моделирование при помощи диаграммы сущность-связь. Так же была смоделирована диаграмма сущность-связь для базы данных, которая предназначена для диспетчера пожарного гарнизона.
Список литературы Проектирование базы данных для диспетчеризации пожарного гарнизона
- Лекции/Модель "сущность-свзяь" . -http://www.bseu.by/it/tohod/lekcii4_3.htm
- НОУ ИНТУИТ | Лекция | Реляционная модель данных . -http://www.intuit.ru/studies/courses/3687/929/lecture/19322