Построить бд в access таблицы из представленноьго скриншота запросы для создание таблиц

Условие:

построить бд в access таблицы из представленноьго скриншота запросы для создание таблиц

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

Решение:

Предмет: Информатика
Раздел: Базы данных, нормализация, проектирование структуры БД в Microsoft Access


? Анализ таблиц на скриншоте

На изображении представлена таблица Excel, содержащая данные о блюдах, продуктах, поставщиках, городах, странах, весе, ценах, датах и порциях. Также внизу показаны фрагменты, приведённые к 3-й нормальной форме (3НФ).


? Построение структуры БД в Access

Для корректной структуры БД нужно нормализовать таблицы. В 3НФ каждая таблица должна хранить только данные, которые зависят от первичного ключа, и не должно быть избыточности.

Таблицы, которые нужно создать:


1. Таблица: Блюда

ПолеТип данных
ID_БлюдаАвтонумерация (Primary Key)
НазваниеТекст
ВидТекст
РецептМемо (длинный текст)
CREATE TABLE Блюда (
    ID_Блюда AUTOINCREMENT PRIMARY KEY,
    Название TEXT,
    Вид TEXT,
    Рецепт MEMO
);

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

ПолеТип данных
ID_ПродуктаАвтонумерация (Primary Key)
НазваниеТекст
КалорийностьЧисло
CREATE TABLE Продукты (
    ID_Продукта AUTOINCREMENT PRIMARY KEY,
    Название TEXT,
    Калорийность INT
);

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

ПолеТип данных
ID_ПоставщикаАвтонумерация (Primary Key)
ИмяТекст
ГородТекст
СтранаТекст
CREATE TABLE Поставщики (
    ID_Поставщика AUTOINCREMENT PRIMARY KEY,
    Имя TEXT,
    Город TEXT,
    Страна TEXT
);

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

ПолеТип данных
ID_ПоставкиАвтонумерация (Primary Key)
ID_ПродуктаЧисло (внешний ключ)
ID_ПоставщикаЧисло (внешний ключ)
ДатаДата/время
ЦенаЧисло (с плавающей точкой)
Вес_кгЧисло
CREATE TABLE Поставки (
    ID_Поставки AUTOINCREMENT PRIMARY KEY,
    ID_Продукта INT,
    ID_Поставщика INT,
    Дата DATE,
    Цена FLOAT,
    Вес_кг FLOAT,
    FOREIGN KEY (ID_Продукта) REFERENCES Продукты(ID_Продукта),
    FOREIGN KEY (ID_Поставщика) REFERENCES Поставщики(ID_Поставщика)
);

5. Таблица: Состав_Блюда

(Связь между блюдами и продуктами, с указанием веса)

ПолеТип данных
ID_ЗаписиАвтонумерация (Primary Key)
ID_БлюдаЧисло (внешний ключ)
ID_ПродуктаЧисло (внешний ключ)
Вес_гЧисло
CREATE TABLE Состав_Блюда (
    ID_Записи AUTOINCREMENT PRIMARY KEY,
    ID_Блюда INT,
    ID_Продукта INT,
    Вес_г INT,
    FOREIGN KEY (ID_Блюда) REFERENCES Блюда(ID_Блюда),
    FOREIGN KEY (ID_Продукта) REFERENCES Продукты(ID_Продукта)
);

6. Таблица: Подачи

(Когда и в каком количестве подавалось блюдо)

ПолеТип данных
ID_ПодачиАвтонумерация (Primary Key)
ID_БлюдаЧисло (внешний ключ)
ДатаДата/время
ПорцийЧисло
CREATE TABLE Подачи (
    ID_Подачи AUTOINCREMENT PRIMARY KEY,
    ID_Блюда INT,
    Дата DATE,
    Порций INT,
    FOREIGN KEY (ID_Блюда) REFERENCES Блюда(ID_Блюда)
);

? Заключение

На основе Excel-таблицы мы:

  • Выделили 6 логически обоснованных таблиц.
  • Привели их к 3-й нормальной форме.
  • Написали SQL-запросы для создания таблиц в Access.

Если нужно — могу помочь заполнить таблицы начальными данными или создать связи в Access.

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