Оптимизировать структуру базы данных в Microsoft Access, устранив избыточность данных

Условие:

Access. Подкорректировать таблицы чтобы избежать избыточности данных

Условие: Access. Подкорректировать таблицы чтобы избежать избыточности данных

Решение:

Предмет: Информатика
Раздел: Базы данных (реляционные базы данных, нормализация, проектирование схемы данных)


🔍 Цель задания:

Оптимизировать структуру базы данных в Microsoft Access, устранив избыточность данных.


🔧 Анализ текущей схемы

На изображении представлена схема реляционной базы данных для железнодорожных перевозок. Таблицы:

  1. Билеты
  2. Пассажиры
  3. Станции
  4. Станции_1
  5. Станции_2
  6. Поезда
  7. Расписание
  8. Маршруты

❗ Проблемы избыточности в текущей структуре

🔁 Повторяющиеся таблицы:

  • Таблицы Станции, Станции_1, Станции_2— содержат одинаковые поля:
    • [Код_станции], [Название_станции], [Город]

📌 Это явная избыточность. Все три таблицы дублируют одну и ту же структуру.


✅ Предлагаемое решение: устранение избыточности

1. Оставить только одну таблицу "Станции"

Удалить Станции_1 и Станции_2, так как они дублируют таблицу Станции.

2. В таблице "Маршруты" заменить поля:

  • [Начальная_станция] и [Конечная_станция] — это, вероятно, текстовые поля.
  • Заменить их на внешние ключи, ссылающиеся на таблицу Станции:
    • [Код_начальной_станции]
    • [Код_конечной_станции]

3. Обновить связи:

  • Установить связи между:
    • [Код_начальной_станции] → [Станции.Код_станции]
    • [Код_конечной_станции] → [Станции.Код_станции]

🧱 Итоговая структура таблицы "Маршруты" будет:

Код_маршрутаНазвание_маршрутаКод_начальной_станцииКод_конечной_станции

🔄 Обновление связей в "Расписание":

  • Таблица "Расписание" уже содержит [Код_маршрута], который связан с таблицей "Маршруты" — это корректно.

✅ Результат после оптимизации:

  • Удалено 2 дублирующих таблицы (Станции_1, Станции_2)
  • Введены внешние ключи вместо текстовых названий станций в таблице Маршруты
  • Схема становится:
    • Более нормализованной (3-я нормальная форма)
    • Устойчивой к дублированию данных
    • Удобной для обновлений (изменения названия станции сразу отражаются везде)

📌 Рекомендации:

  • Убедитесь, что в таблице Станции установлен первичный ключ по полю [Код_станции]
  • Установите каскадное обновление и удаление для связей, если это необходимо

Если нужно, я могу нарисовать схему после оптимизации.

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!
  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн