- •Содержание
- •Введение
- •Ознакомительная часть по предприятию
- •1 Анализ исходных данных и постановка задачи
- •1.1 Описание предметной области
- •1.2 Анализ аналогов и прототипов
- •1.3 Анализ функциональных требований к системе
- •2 Проектирование программного обеспечения
- •2.1 Постановка задачи
- •2.2 Выбор и обоснование выбора языка программирования
- •2.3 Выбор средств разработки программы
- •2.4 Обоснование выбора технологии доступа к базе данных
- •2.5 Обоснование выбора используемой субд
- •2.6 Проектирование логической модели данных
- •2.7 Результаты реализации функциональных частей
- •Заключение
- •Список использованных источников
2.5 Обоснование выбора используемой субд
Для реализации базы данных была выбрана система управления базами данных MS SQL Server 2019.
В отличие от всех остальных наиболее известных СУБД, MS SQL Server имеет ряд преимуществ. Главным из них является то, что он обеспечивает создание информационных систем с архитектурой «клиент-сервер», в которой он играет роль сервера баз данных. Одним из важных свойств Microsoft SQL Server является возможность управления целостностью данных.
Также можно сказать, что он удовлетворяет требованиям, предъявляемым к системам распределенной обработки информации. Эта СУБД поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных на недорогих аппаратных платформах, отличается простотой управления и использования.
К достоинствам данной СУБД можно отнести:
продукт очень прост в использовании;
текущая версия работает быстро и стабильно;
движок предоставляет возможность регулировать и отслеживать уровни производительности, которые помогают снизить использование ресурсов;
доступ к визуализации на мобильных устройствах;
очень хорошо взаимодействует с другими продуктами Microsoft.
Идеально подходит для крупных организаций, которые уже используют ряд продуктов Microsoft.
2.6 Проектирование логической модели данных
Логическая модель представляет собой модель базы данных, которая не привязана к конкретной СУБД. В ней выделяют основные объекты БД и определяют связи между этими объектами. Данная модель построена методом сущность-связь (Entity Relationship).
Данная база данных будет содержать 8 сущностей. Опишем каждую из них и связи между ними.
Сущность «user» содержит список пользователей, работающих с системой. Данная сущность включает семь атрибутов: «user_id» – порядковый номер сотрудника (является ключевым), «surname» – фамилия сотрудника, «name» – имя сотрудника, «patronymic» – отчество сотрудника, «user_type_id» – тип пользователя, «login» – логин для авторизации, «password» – пароль для авторизации.
Сущность «user_type» содержит типы пользователей, использующих систему. Данная сущность включает два атрибута: «user_type_id» – порядковый номер типа пользователя (является ключевым), «type_name» – имя типа, которое характеризует данный тип пользователя.
Сущность «question» содержит список вопросов, задаваемых при проведении экзамена. Данная сущность содержит три атрибута: «question_id» – порядковый номер вопроса в системе (является ключевым), «question_text» – текст вопроса, который будет выводиться пользователю, «exam_type_id» – тип экзамена.
Сущность «answer» содержит список ответов на вопросы. Данная сущность включает четыре атрибута: «answer_id» – порядковый номер ответа в системе (является ключевым), «question_id» – порядковый номер вопроса, для которого предназначен данный ответ, «answer_text» – текст ответа на вопрос, «is_correct_answer» – указывает является ли ответ верным.
Сущность «exam_type» содержит список типов экзамена, а также параметров его проведения. Данная сущность включает четыре атрибута: «exam_type_id» – порядковый номер типа экзамена в системе (является ключевым), «exam_type_name» – имя типа экзамена для отображения пользователю, «number_of questions» – количество вопросов, задаваемых на экзамене, «max_exam_time» – максимальное время для дачи ответов на экзамен.
Сущность «exam» содержит список проведенных и запланированных экзаменов. Данная сущность включает шесть атрибутов: «exam_id» – порядковый номер экзамена (является ключевым), «exam_type_id» – тип экзамена, «exam_date» – дата экзамена, «user_id» – экзаменуемый сотрудник, «result_type_id» – тип результата экзамена, «document_id» – ссылка на документ, подготовленный по окончании экзамена.
Сущность «result_type» содержит статусы экзамена, в которых он может находиться. Данная сущность включает два атрибута: «result_type_id» – порядковый номер типа (является ключевым), «result_name» – имя типа, характеризующее его.
Сущность «document» содержит список адресов документов, которые были подготовлены по окончании экзаменов. Данная сущность включает два атрибута: «document_id» – порядковый номер документа в системе (является ключевым), «document_path» – адрес где хранится документ.
Все связи в БД являются связями один-ко-многим. Связи между сущностями «exam» и «exam_type», «exam_type» и «question», «question» и «answer», «exam» и «user», «user» и «user_type», «exam» и «result_type», «exam» и «document» являются идентифицирующими, так как вторичный ключ попадает в атрибуты первичного ключа другой сущности.