Защита БД
Для чего разработана БД и структура
Небольшая er диограмма
Основные таблицы
Технические решения
ПАРТИЦИОНИРОВАНИЕ (Разделение таблиц)
ИНДЕКСЫ (Ускорение поиска)
шифрование
ЛОГИРОВАНИЕ
РОЛИ И ПОЛЬЗОВАТЕЛИ
Спасибо за внимание
2.71M

Presentation(1)

1. Защита БД

ЗА Щ И ТА Б Д

2. Для чего разработана БД и структура

Д Л Я Ч Е Г О РА З РА Б О ТА Н А Б Д И
С Т Р У К Т У РА
Для:
Автоматизации бизнеса по продаже товаров для пикника и туризма
2
Основные составляющие:
• Товары (палатки, спальники, посуда, мангалы, рюкзаки)
• Клиенты
• Заказы
• Сотрудники
• Аудит действий
1 8 . 0 5 . 2 0 2 6

3. Небольшая er диограмма

Н Е Б О Л Ь Ш А Я E R Д И О Г РА М М А
3
1 8 . 0 5 . 2 0 2 6

4. Основные таблицы

О С Н О В Н Ы Е ТА БЛ И Ц Ы
Таблица
Назначение
Ключевые поля
Customers
Клиенты
customer_id, email (зашифрован), телефон
Products
Товары
product_id, цена, количество
Orders
Заказы
order_id, сумма, статус
OrderDetails
Состав заказа
товары, количество, цена
Employees
Сотрудники
логин, роль, дата найма
Categories
Категории товаров
id, название, описание
AuditLog
Журнал действий
кто, когда, что изменил
4
1 8 . 0 5 . 2 0 2 6

5. Технические решения

ТЕХНИЧЕСКИЕ РЕШЕНИЯ
Такие как:
РОЛИ И ПОЛЬЗОВАТЕЛИ
УРОВНИ ИЗОЛЯЦИИ
5
ЛОГИРОВАНИЕ
ШИФРОВАНИЕ
1 8 . 0 5 . 2 0 2 6
ИНДЕКСЫ
ПАРТИЦИОНИРОВАНИЕ

6. ПАРТИЦИОНИРОВАНИЕ (Разделение таблиц)

П А РТ И Ц И О Н И Р О ВА Н И Е
( РА З Д Е Л Е Н И Е
ТА Б Л И Ц )
ПАРТИЦИОНИРОВАНИЕ (Разделение таблиц)
Что это: Разбиение больших таблиц на логические части для ускорения работы
PARTITION BY RANGE (category_id)
p_tents
(категория 1)
p_sleeping
(категория 2)
p_cookware
(категория 3)
p_grills
(категория 4)
p_backpacks
(категория 5)
Таблица Orders разделена по годам
PARTITION BY RANGE (YEAR(order_date))
p2023 (заказы 2023 года)
p2024 (заказы 2024 года)
p2025 (заказы 2025 года)
p_future (будущие заказы)
Преимущества:
1 8 . 0 5 . 2 0 2 6
6

7. ИНДЕКСЫ (Ускорение поиска)

ИНДЕКСЫ (УСКОРЕНИЕ ПОИСКА)
Созданные индексы:
1. idx_order_customer_id
- быстрый поиск заказов клиента
2. idx_order_customer_date
- поиск заказов клиента по дате
3. idx_order_status_date
4. idx_product_price_category - фильтр товаров по цене и категории
5. idx_customer_registration - поиск по дате регистрации
6. idx_employee_username
Влияние на производительность:
Без индекса: поиск по 1 млн записей = 1 секунда
С индексом: поиск по 1 млн записей = 0.01 секунды
Я проверял так что вот не надо мне тут ну это самое
- поиск заказов по статусу
1 8 . 0 5 . 2 0 2 6
- уникальный логин сотрудника
7

8. шифрование

Ш И Ф РО ВА Н И Е
Какие данные шифруются:
Email клиентов (личная информация)
Как работает:
Исходные данные: "ivan@example.com"
(шифрование)
Зашифрованные: 0x4A8F3C2E1B6D9A5C...
(хранится в БД)
(расшифровка)
8
Исходные данные: ivan@example.com
Оссобеность в том что хранятся данные в виде который не особо то и читабелен однако при расшифровке получаем вменяемый текст
На входе - 0xfb97131236sdiohaw782
На выходе -
1 8 . 0 5 . 2 0 2 6

9. ЛОГИРОВАНИЕ

Л О Г И РО ВА Н И Е
Что логируется:
Действие
Что записывается
Изменение цены товара
Старая цена - Новая цена
Создание заказа
Данные нового заказа
Изменение статуса заказа
Какой был - Какой стал
9
1 8 . 0 5 . 2 0 2 6

10. РОЛИ И ПОЛЬЗОВАТЕЛИ

РОЛ И И П ОЛ ЬЗО ВАТ Е Л И
Система ролей:
admin_role
→ полный доступ ко всему
manager_role
→ всё, кроме управления пользователями
sales_role
→ работа с заказами и клиентами
logistics_role→ только просмотр заказов и товаров
Пользователи:
admin_user@localhost
manager_user@localhost
sales_user@localhost
logistics_user@localhost
MySQL when i ask
him
To delete all of data
base
With user
priveleges:
10
1 8 . 0 5 . 2 0 2 6

11. Спасибо за внимание

СПАСИБО ЗА ВНИМАНИЕ
11
1 8 . 0 5 . 2 0 2 6
English     Русский Rules