Построить запросы в MS Access, которые соответствуют структурам таблиц и нормализованным данным

Условие:

заполнить таблицы данными запрос в access

Условие: заполнить таблицы данными запрос в access

Решение:

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


Задание:

На основе предоставленного скриншота Excel необходимо:

  1. Заполнить таблицы данными.
  2. Построить запросы в MS Access, которые соответствуют структурам таблиц и нормализованным данным.

? Анализ таблиц

На изображении видно несколько таблиц, каждая из которых связана с определённой сущностью:


? Таблица 1 (A1–N16): Основная таблица блюд

| Поля: |

  • Блюдо
  • Вид
  • Рецепт
  • Порция
  • Дата
  • Продукт
  • калор.
  • Вес (г)
  • Поставщик
  • Город
  • Страна
  • Вес (кг)
  • Цена
  • Дата

Эта таблица содержит избыточные данные (например, повторение поставщиков, городов, стран), что нарушает нормализацию.


? Таблица 2 (A23–F35): Таблица поставок

| Поля: |

  • Продукт
  • Поставщик
  • Дата
  • Цена (в $)
  • Вес (кг)

? Таблица 3 (H23–M35): Таблица рецептов

| Поля: |

  • Блюдо
  • Продукт
  • Вес (г)
  • Дата
  • Порций

? Таблица (V1–Y17): Продукты

| Поля: |

  • Продукт
  • Калорийность

? Таблица (Q38–U52): Несоответствующие значения

Показывает данные, которые не соответствуют нормализованной форме (например, повторение "Киев", "Украина").


? Таблица (W38–AA52): Приведенные к 3НФ (третей нормальной форме)


? Цель: Перенести эти таблицы в Access и создать запросы


? Таблицы для Access

1. Таблица Продукты:

IDНазвание продуктаКалорийность
1Фасоль3070
2Лук450
.........

2. Таблица Поставщики

IDНазваниеГородСтрана
1ЖужукаПекинКитай
2НаталкаКиевУкраина
............

3. Таблица Поставки

IDПродукт_IDПоставщик_IDДатаЦенаВес (кг)
11124.08.19940.47250
22227.08.19940.52100
..................

4. Таблица Блюда

IDНазваниеВидРецепт
1ЛюблюЗакуска...
2ХарчоСуп...
............

5. Таблица Рецепты блюд

IDБлюдо_IDПродукт_IDВес (г)ДатаПорций
11220001.09.1994108
21310001.09.1994108
..................

? Примеры SQL-запросов в Access

? Запрос 1: Найти все продукты, поставленные после 25.08.1994

SELECT Продукты.Название, Поставки.Дата
FROM Продукты
INNER JOIN Поставки ON Продукты.ID = Поставки.Продукт_ID
WHERE Поставки.Дата > #1994-08-25#;

? Запрос 2: Посчитать общее количество калорий на блюдо

SELECT 
  Блюда.Название AS Блюдо,
  SUM(Рецепты.Вес_г * Продукты.Калорийность / 100) AS Калорийность_блюда
FROM 
  ((Блюда
  INNER JOIN Рецепты ON Блюда.ID = Рецепты.Блюдо_ID)
  INNER JOIN Продукты ON Рецепты.Продукт_ID = Продукты.ID)
GROUP BY 
  Блюда.Название;

? Запрос 3: Найти блюда, в которых используется продукт "Лук"

SELECT Блюда.Название
FROM ((Блюда
INNER JOIN Рецепты ON Блюда.ID = Рецепты.Блюдо_ID)
INNER JOIN Продукты ON Рецепты.Продукт_ID = Продукты.ID)
WHERE Продукты.Название = "Лук";

✅ Вывод:

Для корректной работы в Access необходимо:

  • Нормализовать данные (таблицы: Поставщики, Продукты, Блюда, Поставки, Рецепты)
  • Связать таблицы с помощью внешних ключей
  • Создавать запросы для анализа (калорийность, поставки, рецепты)

Если нужно — могу помочь с построением базы в Access или отправить SQL-скрипты.

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