Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Курсовая_2этап.docx
Скачиваний:
6
Добавлен:
12.04.2025
Размер:
1.36 Mб
Скачать

4 Анализ сущностей и связей между ними

Была создана ER-модель данной базы данных. Модель сущностных отношений (ER Modeling) – модель данных, позволяющая описывать концептуальные схемы предметной области. ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных[15].

В ER-модели связи делятся на три типа по множественности:

  • один-к-одному;

  • один-ко-многим;

  • многие-ко-многим.

Связь «один-к-одному» означает, что экземпляр одной сущности связан только с одним экземпляром другой сущности.

Связь «один-ко-многим» означает, что один экземпляр сущности, расположенный слева по связи, может быть связан с несколькими экземплярами сущности, расположенными справа по связи.

Связь «многие-ко-многим» означает, что один экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и наоборот, один экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности.

ER-модель созданной базы данных представлена на рисунке 1.

Рисунок 1 – ER-диаграмма базы данных

Первоначальное содержимое таблиц представлено в приложении А.

5 Описание пользователей информационной системы

В контексте системы управления финансовыми операциями в банке, база данных представляет собой критически важный ресурс, содержащий конфиденциальную и чувствительную информацию о клиентах, их счетах, транзакциях и финансовых потоках. Учитывая высокую степень ответственности и значимость этой информации, а также строгие требования к безопасности, тип пользователей базы данных ограничивается только одним - администратором с полным доступом к базе данных.

В условиях, когда финансовые потоки и персональные данные клиентов являются объектом повышенного внимания для потенциальных злоумышленников, строгий контроль за доступом к базе данных становится важным мероприятием по обеспечению безопасности информации.

Только сотрудники банка, обладающие специальными полномочиями и доступом к системе, могут эффективно следить за состоянием банковской системы, проводить анализ финансовых потоков, а также принимать меры по предотвращению и расследованию возможных злоупотреблений или преступлений.

Предоставление полного доступа к базе данных только администратору обеспечивает контролируемый и защищенный уровень доступа к конфиденциальной информации, минимизируя риски несанкционированного доступа или утечки данных. Такая стратегия доступа также облегчает аудит действий пользователей и обеспечивает соблюдение требований по защите информации в соответствии с законодательством и стандартами безопасности в области финансовых услуг.

  1. Заполнение таблицы transactions

Для тестирования работы базы данных, все таблицы были наполнены случайными записями. Также, была разработана функция, которая позволяет по нажатию кнопки в пользовательском интерфейсе заполнить таблицу “transactions” случайным количеством новых транзакций на день. Код функции представлен в приложении Б. Данная функция работает следующим образом:

1. Генерация случайного количества транзакций:

- В начале функция генерирует случайное количество транзакций от 1 до 1000.

2. Выбор потенциальных отправителей и получателей:

- Затем из таблицы bank_accounts выбираются счета, которые могут быть использованы как отправители (с account_type равным 2 в случае покупки или 4 в случае пополнения наличными через банкомат) и как получатели (с account_type равным 1 или 3 в случае покупки или в случае снятия наличных через банкомат).

3. Цикл для генерации случайных транзакций:

- Функция запускает цикл, который повторяется n_transactions раз.

- Для каждой транзакции генерируются сумма, дата и время.

- Определяется отправитель и получатель транзакции.

- Информация о транзакции добавляется в таблицу transactions.

4. Коммит[16] изменений:

- После каждой успешно добавленной транзакции происходит коммит изменений в базу данных с помощью метода conn.commit()[17].

5. Обработка исключений:

- Если в процессе выполнения возникает ошибка, она обрабатывается с помощью конструкции try-except[18]. Если возникает ошибка, она печатается в консоль, и выполнение функции продолжается с помощью ключевого слова continue[19].

Соседние файлы в папке курсовая