В настоящее время часто возникает задача автоматизации работы специалиста в любой предметной области, связанная с необходимостью хранения полученных данных, поиском необходимой информации и формировании различного рода отчетов. Для хранения информации необходимо создание базы данных, которая в дальнейшем может стать ядром информационной системы.
Анализ деятельности мастера карьера «Волковский рудник» показал, что возможности автоматизации работы не используются. Для регистрации количества машин и объемов вывозимой руды используется «бумажный» журнал, что создает трудности при поиске нужной информации и делает очень трудоемким процесс формирования отчетов.
Для создания базы данных необходимо разработать модель, по которой в дальнейшем будет разработана база. Для создания модели необходимо предъявить набор требований к информационной системе, базу данных для которой мы разрабатываем. Анализ предметной области позволил определить требования:
ведение учета количества вывозимой породы в день;
формирование плана работ по добыче руды;
учёт количества машин, вывозящих породу;
предоставление отчёта начальнику СЗК;
Теперь с учетом выдвинутых требований можно составлять таблицы данных, которые должны будут использоваться в базе данных. Необходимо указать какими будут эти данные, то есть их тип, как они будут обозначаться в самой базе, чтобы в последующем, во время составления самой базы данных не возникло путаницы в обозначениях, что может привести к некорректной работе, или, в крайнем случае, к увеличению времени составления базы данных, что также не желательно. В результате анализа данных можно составить следующее описание сущностей модели базы данных (табл. 1).
Таблица 1
Основные сущности базы данных
Обозначение |
Тип данных |
Свойства |
|
Тип данных |
Длина |
||
Таблица «Водители» |
|||
ID водителя |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
ФИО |
Текстовый |
50 |
|
Дата рождения |
Дата |
- |
|
Стаж |
Текстовый |
50 |
|
Пол |
Текстовый |
50 |
|
Таблица «Авторизация» |
|||
ID аккаунта |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Логин |
Текстовый |
50 |
|
Пароль |
Текстовый |
50 |
|
Уровень доступа |
Текстовый |
50 |
|
Таблица «Погрузочный Транспорт» |
|||
ID транспорта |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Рег. номер |
Числовой |
- |
|
Год выпуска |
Дата |
- |
|
Цвет |
Текстовый |
50 |
|
Водитель |
Числовой |
- |
Подстановка из таблицы «Водители» |
Таблица «Погрузка руды» |
|||
ID погрузки |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Дата погрузки |
Дата |
- |
|
Время |
Время |
- |
|
Машина |
Числовой |
- |
Подстановка из таблицы «Погрузочный Транспорт» |
Тоннаж |
Числовой |
- |
|
Таблица «Транспорт» |
|||
ID транспорта |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Рег. номер |
Числовой |
- |
|
Год выпуска |
Дата |
- |
|
Цвет |
Текстовый |
50 |
|
Водитель |
Числовой |
- |
Подстановка из таблицы «Водители» |
Таблица «Вывоз руды» |
|||
ID вывоза |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Дата вывоза |
Дата |
- |
|
Время |
Время |
- |
|
Машина |
Числовой |
- |
Подстановка из таблицы «Транспорт» |
Тоннаж |
Числовой |
- |
|
Таблица «План работы» |
|||
ID плана |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Задание |
Текстовый |
50 |
|
Участок |
Числовой |
- |
|
Сотрудник |
Числовой |
- |
Подстановка из таблицы «Сотрудники» |
Таблица «Сотрудник» |
|||
ID сотрудника |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
ФИО |
Текстовый |
50 |
|
Дата рождения |
Дата |
- |
|
Стаж |
Текстовый |
50 |
|
Пол |
Текстовый |
50 |
|
Таблица «Отчет» |
|||
ID отчета |
Счетчик |
- |
Ключевое поле (совпадения не допускаются) |
Номер погрузки |
Числовой |
- |
Подстановка из таблицы «Погрузка руды» |
Номер вывоза |
Числовой |
- |
Подстановка из таблицы «Вывоз руды» |
Количество машин в день |
Числовой |
- |
|
Количество руды в тоннах |
Числовой |
- |
|
Дата отчёта |
Дата |
- |
Когда известны таблицы и строки в этих таблицах, можно приступать к связыванию таблиц, то есть к созданию схемы данных, по которой эти таблицы будут взаимодействовать друг с другом. Схема данных является одной из важнейших частей базы данных. Она показывает, как таблицы связаны между собой, а также тип этих связей (отношения таблиц).
Таблица «Plan_Raboty» связана с таблицей «Sotrudnik» при помощи поля sotrudnik. Связь между этими таблицами будет типа «один ко многим», это означает, что одной записи из таблицы «Sotrudnik» соответствует несколько записей из таблицы «Plan_Raboty». Аналогично связаны таблицы «Pogruzka_Rudi», «Vivoz_Rudi» с таблицей «Otchet» по полям nomer_pogruzki, nomer_vivoza.
Физическая модель данных зависит от конкретной системы управления базами данных (СУБД). В физической модели содержится информация обо всех объектах базы данных. Поскольку стандартов на объекты базы данных не существует, физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах – таблицах, полях, индексах, процедурах и т.д. На этапе разработки необходимо обеспечить безошибочность и точность информации, хранящейся в базе данных. Это называется обеспечением целостности базы данных. Обеспечением целостности базы данных называется система мер, направленных на поддержание адекватности предметной области данных в базе в любой момент времени.
В качестве СУБД выбрана MSSQL Server.
Схему данных можно вывести с помощью диаграммы базы данных, которая отображает связи между таблицами, это и будет физической моделью данных (рис. 1).
Рис. 1. Физическая модель данных
На данном этапе работа с базой данных может быть закончена, в дальнейшем можно будет приступать к разработке пользовательских интерфейсов.