Условие:
Проектирование БД для системы документооборота
Цель: развить навыки проектирования структуры БД под задачи документооборота.
Задание:
1. Спроектируйте схему БД для учета входящих и исходящих документов организации.
2. Опишите сущности (например, «Документ», «Сотрудник», «Подразделение» и т.д.) и их атрибуты.
3. Укажите связи между сущностями (один-ко-многим, многие-ко-многим).
4. Представьте результат в виде диаграммы «сущность-связь» (ER-диаграммы).
5. Обоснуйте необходимость нормализации данных на примере вашей схемы
Решение:
Для проектирования базы данных (БД) для системы документооборота, давайте пройдемся по всем пунктам задания.
1. Проектирование схемы БД
Схема БД будет включать следующие основные сущности:
- Документ
- Сотрудник
- Подразделение
- Тип документа
- Клиент/Поставщик
2. Описание сущностей и их атрибутов
1. Документ
- ID документа (первичный ключ)
- Название документа
- Дата создания
- Дата отправки/получения
- Статус (входящий/исходящий)
- ID типа документа (внешний ключ)
- ID сотрудника (внешний ключ)
- ID подразделения (внешний ключ)
2. ... - ID сотрудника (первичный ключ) - Фамилия - Имя - Должность - ID подразделения (внешний ключ) 3. - ID подразделения (первичный ключ) - Название подразделения - ID руководителя (внешний ключ на Сотрудник) 4. - ID типа документа (первичный ключ) - Название типа документа 5. - ID клиента/поставщика (первичный ключ) - Название - Контактная информация - и : один сотрудник может создавать много документов (один-ко-многим). - и : одно подразделение может обрабатывать много документов (один-ко-многим). - и : один тип документа может быть связан с многими документами (один-ко-многим). - и : одно подразделение может иметь много сотрудников (один-ко-многим). - и : один документ может быть связан с одним клиентом/поставщиком, но один клиент/поставщик может иметь много документов (один-ко-многим). Нормализация данных необходима для: - Устранения избыточности: Например, если мы не нормализуем таблицы, информация о сотрудниках и подразделениях может дублироваться в таблице документов, что приведет к увеличению объема данных и сложности их обновления. - Поддержания целостности данных: Нормализация помогает избежать аномалий при обновлении, удалении и вставке данных. Например, если мы изменим название подразделения, нам не нужно будет обновлять его в нескольких местах, если мы используем внешние ключи. - Упрощения структуры БД: Нормализованные таблицы легче понимать и поддерживать, что упрощает работу с БД. Таким образом, проектирование БД для системы документооборота требует тщательного подхода к структуре данных, чтобы обеспечить эффективность и целостность системы.
