🎲 Что делать на физическом проектировании? 🎲
В отличие от логического и концептуального уровней, физический уровень проектирования многоступенчатый и содержит несколько этапов внутри себя. Сначала мы перечислим основные из них, а затем будем смотреть, что из этого применимо к нашей «бибилиотечной» задаче
Шаги перехода к физическому проектированию:
✏️ Выбор СУБД: Определяемся с типом базы данных, которую будете использовать (MySQL, PostgreSQL, MongoDB и др.).
✏️ Определение структуры таблиц
- Какие поля будут присутствовать в каждой таблице?
- Каковы типы данных полей (строки, целые числа, даты)?
✏️ Настройка первичных ключей
- Каждое отношение должно иметь уникальный идентификатор (первичный ключ).
✏️ Создание внешних ключей
Нужно реализовать внешние ключи, обеспечивающие целостность данных. Внешний ключ ссылается на первичный ключ другой таблицы. Например, в таблице author_book внешний ключ ссылается на id автора (author_id) и id книги (book_id).
✏️ Индексация
Разобраться, есть ли необходимость в индексации и Определить индексированные поля , особенно те, по которым будут проводиться частые выборки. Индексы ускоряют выполнение SQL-запросов, связанных с поиском записей по значению ключа.
✏️ Обеспечение целостности данных:
Разобраться в необходимости использования триггеров и хранимых процедур для поддержания бизнес-правил и проверки данных на входе. Например, запрет на выдачу книги, если пользователь имеет штрафы.
✏️ Ограничения уровня БД
Добавить необходимые ограничения на уровне схемы (ограничения NOT NULL, UNIQUE, CHECK-контракты и другие правила, определяющие допустимые значения).
✏️ Оптимизация производительности
Решить, какие методы оптимизаций потребуются: разделение таблиц, горизонтальное масштабирование, репликация, шардинг и тд, в зависимости от предполагаемых нагрузок.
✏️ Шифрование чувствительной информации:
Если база данных содержит персональные данные читателей или иную конфиденциальную информацию, важно предусмотреть механизмы шифрования (либо на уровне самой базы данных, либо на уровне приложения).
📍Чекл-лист ключевых решений на этапе физического проектирования:
🟢 Создание физических схем данных (таблиц, индексов, представлений);
🟢 Настройка правил целостности и каскадных действий (ON DELETE CASCADE, ON UPDATE CASCADE);
🟢 Организация резервного копирования и восстановления данных;
🟢 Установка политик паролей и механизмов аутентификации пользователей;
🟢 Планирование инфраструктуры (расположение сервера, сетевые настройки, безопасность доступа);
🟢 Конфигурация базы данных для повышения производительности (параметры буферного кеша, временные зоны, настройка памяти).
Post #63
59