Работа вам нужна срочно. Не волнуйтесь, уложимся!
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
заполнить таблицы данными запрос в access
Предмет: Информатика
Раздел: Базы данных (MS Access), Запросы и нормализация данных
На основе предоставленного скриншота Excel необходимо:
На изображении видно несколько таблиц, каждая из которых связана с определённой сущностью:
| Поля: |
Эта таблица содержит избыточные данные (например, повторение поставщиков, городов, стран), что нарушает нормализацию.
| Поля: |
| Поля: |
| Поля: |
Показывает данные, которые не соответствуют нормализованной форме (например, повторение "Киев", "Украина").
ID | Название продукта | Калорийность |
---|---|---|
1 | Фасоль | 3070 |
2 | Лук | 450 |
... | ... | ... |
ID | Название | Город | Страна |
---|---|---|---|
1 | Жужука | Пекин | Китай |
2 | Наталка | Киев | Украина |
... | ... | ... | ... |
ID | Продукт_ID | Поставщик_ID | Дата | Цена | Вес (кг) |
---|---|---|---|---|---|
1 | 1 | 1 | 24.08.1994 | 0.47 | 250 |
2 | 2 | 2 | 27.08.1994 | 0.52 | 100 |
... | ... | ... | ... | ... | ... |
ID | Название | Вид | Рецепт |
---|---|---|---|
1 | Люблю | Закуска | ... |
2 | Харчо | Суп | ... |
... | ... | ... | ... |
ID | Блюдо_ID | Продукт_ID | Вес (г) | Дата | Порций |
---|---|---|---|---|---|
1 | 1 | 2 | 200 | 01.09.1994 | 108 |
2 | 1 | 3 | 100 | 01.09.1994 | 108 |
... | ... | ... | ... | ... | ... |
SELECT Продукты.Название, Поставки.Дата
FROM Продукты
INNER JOIN Поставки ON Продукты.ID = Поставки.Продукт_ID
WHERE Поставки.Дата > #1994-08-25#;
SELECT
Блюда.Название AS Блюдо,
SUM(Рецепты.Вес_г * Продукты.Калорийность / 100) AS Калорийность_блюда
FROM
((Блюда
INNER JOIN Рецепты ON Блюда.ID = Рецепты.Блюдо_ID)
INNER JOIN Продукты ON Рецепты.Продукт_ID = Продукты.ID)
GROUP BY
Блюда.Название;
SELECT Блюда.Название
FROM ((Блюда
INNER JOIN Рецепты ON Блюда.ID = Рецепты.Блюдо_ID)
INNER JOIN Продукты ON Рецепты.Продукт_ID = Продукты.ID)
WHERE Продукты.Название = "Лук";
Для корректной работы в Access необходимо:
Если нужно — могу помочь с построением базы в Access или отправить SQL-скрипты.