Файл: Курсовая работа по дисциплине Разработка и эксплуатация защищенных автоматизированных систем (наименование дисциплины).docx
Добавлен: 30.11.2023
Просмотров: 3173
Скачиваний: 10
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Окончание таблицы 2.5
Шифр домена | Наименование домена | Определение домена | Тип данных | Пример значения |
| | цифры, минута (от 00 до 59), сс – две цифры, секунда (от 00 до 59) | | |
D4 | Строка символов переменной длины | Множество символьных значений переменной длины не более 200 символов | varchar(200) | Иванов Иван Иванович |
D5 | Строка символов переменной длины | Множество символьных значений переменной длины не более 50 символов. | varchar(50) | Кредитный инспектор |
D6 | Строка символов переменной длины | Множество символьных значений переменной длины не более 30 символов. | varchar(30) | Иван |
D7 | Битовый флаг | Целое число, может принимать значения 1 или 0 | bit | 1 |
Таблица 2.6 – Поля таблиц, их описание и домены
Имя сущности | Наименование атрибута | Ключи | Определенность значений | Шифр домена |
Банк | id_банка | PK | 1 | D1 |
Название_банка | | 1 | D5 | |
Сотрудник | id_сотрудника | PK | 1 | D1 |
Фамилия_сотрудника | | 1 | D6 | |
Имя_сотрудника | | 1 | D6 | |
Отчество_сотрудника | | | D6 | |
Пол_сотрудника | | 1 | D6 | |
Телефон_сотрудника | | 1 | D6 | |
Email_сотрудника | | 1 | D5 | |
Дата_рождения_сотрудника | | 1 | D2 | |
Должность_сотрудника | | 1 | D5 | |
id_банка | FK | 1 | D1 |
Окончание таблицы 2.6
Имя сущности | Наименование атрибута | Ключи | Определенность значений | Шифр домена |
Эксперт | id_эксперта | PK | 1 | D1 |
Фамилия_эксперта | | 1 | D6 | |
Имя_эксперта | | 1 | D6 | |
Отчество_эксперта | | | D6 | |
Телефон_эксперта | | 1 | D6 | |
Email_эксперта | | 1 | D5 | |
Тестирование | id_тестирования | PK | 1 | D1 |
Название_тестирования | | 1 | D5 | |
Количество_вопросов | | 1 | D1 | |
Количество_попыток | | 1 | D1 | |
Минут_на_тест | | 1 | D1 | |
id_эксперта | FK | 1 | D1 | |
Вопрос | id_вопроса | PK | 1 | D1 |
Текст_вопроса | | 1 | D4 | |
Открытый_тип | | 1 | D7 | |
id_тестирования | FK | 1 | D1 | |
Вариант ответа | id_варианта_ответа | PK | 1 | D1 |
id_вопроса | FK | 1 | D1 | |
Текст_ответа | | 1 | D4 | |
Правильность_ответа | | 1 | D7 | |
Ответ сотрудника | id_ответа | PK | 1 | D1 |
id_сотрудника | FK | 1 | D1 | |
id_вопроса | FK | 1 | D1 | |
Текст_ответа | | 1 | D4 | |
Результат | id_результата | PK | 1 | D1 |
id_сотрудника | FK | 1 | D1 | |
id_тестирования | FK | 1 | D1 | |
Текст_результата | | 1 | D6 | |
Дата_результата | | 1 | D3 | |
Номер_сертификата | | 0 | D6 |
В результате была сформирована трансформационная модель, ориентированная на формат выбранной СУБД и включающая все сущности, атрибуты, их типы данных, ограничения контроля целостности и согласованности. Результат представлен на рисунке 2.7.
Рисунок 2.7 – Т-модель базы данных тестирования знаний
кредитных инспекторов
Далее была разработана DBMS-модель в виде SQL-кода, представленного в приложении А. Его реализация позволила сформировать и построить системный каталог БД MS SQL Server.
2.2.3 Реализация модели данных в СУБД (MS SQL Server)
Реализация модели данных будет происходить по средству передачи (в режиме прямого проектирования) схемы автоматизированной информационной системы тестирования знаний кредитных инспекторов в СУБД MS SQL Server 2019, а также заполнением данными с помощью файла Microsoft Excel 97-2003.
На основе разработанной в CA ERWin DM физической модели данных выполним автоматическую генерацию системного каталога базы данных тестирования знаний кредитных инспекторов (БДТЗКИ) на сервере SQL Server 2019. Здесь особенностью является то, что до осуществления передачи модели базы данных из CA ERWin DM на сервер там должна быть заранее создана пустая база данных. Процесс создания такой пустой базы данных с именем «База данных тестирования знаний кредитных инспекторов» показан на рисунках 2.8-2.10.
Рисунок 2.8 – Переход к созданию новой базы данных
Рисунок 2.9 – Создание БДТЗКИ
Рисунок 2.10 – Системный каталог баз данных
Как видно из рисунка 2.10, созданная нами база данных отображается в системном каталоге, следовательно, можно сделать вывод, что процесс создания был выполнен успешно.
Процесс генерации схемы базы данных из модели данных называется прямым проектированием (Forward Engineering). При генерации схемы ERwin Data Modeler создает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие объекты, доступные для выбранной СУБД. В результате мы получаем SQL-скрипт создания схемы.
Процесс создания и генерации схемы продемонстрирован на рисунках 2.11-2.12.
Рисунок 2.11 – Переход к генерации схемы
Рисунок 2.12 – SQL-скрипт создания схемы
После выполнения полученного скрипта убедимся в его корректности и проверим наличие созданных таблиц. Как видно из рисунка 2.13, в системном каталоге отображаются все таблицы, следовательно, можно сделать вывод, что скрипт выполнился успешно.
Рисунок 2.13 – Список таблиц в БДТЗКИ
На основе полученных таблиц создадим диаграмму базы данных. Полученная диаграмма представлена на рисунке 2.14.
Рисунок 2.14 – Диаграмма БДТЗКИ
Далее заполним базу данных путем импорта данных из файла Microsoft Excel. Для каждой таблицы был создан лист Excel, заполненный соответствующими данными. Пример такого листа для таблицы Тестирование представлен на рисунке 2.15.
Рисунок 2.15 – Данные для таблицы Тестирование
Далее произведём импорт данных из файла Excel в базу данных БДТЗКИ. Процесс осуществления импорта данных представлен на рисунках 2.16-2.18.
Рисунок 2.16 – Переход к импорту данных
Рисунок 2.16 – Выбор файла для импорта данных
Рисунок 2.17 – Выбор назначения импорта данных
Рисунок 2.18 – Выбор таблиц для импорта данных
После осуществления процедуры импорта данных убедимся, что все прошло успешно. Для этого выведем все данные из таблицы Тестирование. Как видно из рисунка 2.19, в таблице Сотрудник содержатся те же данные, что и в исходном Excel-файле, следовательно, можно сделать вывод, что импорт данных прошел успешно.
Рисунок 2.19 – Выборка данных из таблицы Тестирование
2.2.4 Построение системы защиты базы данных
Создание регистрационных имен, имен пользователей и ролей в базе данных
С помощью инструкции языка Transact-SQL создадим регистрационные имена main_admin и user1 с соответствующими паролями p34xkwFo и 3C78snyr в БДТЗКИ. После реализации регистрационных имен проверим их наличие с помощью системного каталога. Процесс и результат создания регистрационных имен представлены на рисунках 2.20-2.21.
Рисунок 2.20 – Создание регистрационных имен main_admin и user1
Рисунок 2.21 – Наличие созданных регистрационных имен
в системном каталоге
Как видно из рисунка 2.21, регистрационные имена были успешно созданы. Далее для полученных выше регистрационных имен создадим с помощью инструкций языка T-SQL соответствующие имена пользователей Admin111 и User111. После создания пользователей проверим их наличие с помощью системного каталога. Процесс и результат создания представлен на рисунках 2.22-2.23.
Рисунок 2.22 – Создание имен пользователей Admin111 и User111
Рисунок 2.23 – Наличие созданных имен пользователей
в системном каталоге
Как видно из рисунка 2.23, имена пользователей были успешно созданы. Теперь создадим две новые определяемые пользователем роли базы данных AdminRole и UserRole, после чего проверим их наличие с помощью системного каталога и отобразим информацию о полученных ролях и их членах. Процесс и результат создания представлен на рисунках 2.24-2.25.
Рисунок 2.24 – Создание ролей AdminRole и UserRole
Рисунок 2.25 – Наличие созданных ролей AdminRole и UserRole
в системном каталоге
Как видно из рисунка 2.25, роли AdminRole и UserRole были успешно созданы.
Выдача разрешений
Для реализации разрешений воспользуемся инструкциями языка Transact-SQL. Используя инструкцию GRANT, предоставим пользователю Admin111 разрешение на создание таблиц, а также на обновление столбцов и вставку строк в столбцы таблиц Эксперт, Тестирование, Вопрос и Вариант_ответа, а пользователю User111 – разрешение на считывание значений столбцов таблицы Результат. Код запроса для реализации разрешений представлен на рисунке 2.26.