Рассчитать уравнение из данных отдельных таблиц - PullRequest
0 голосов
/ 15 февраля 2020

Я работаю над проектом для старших классов средней школы и обращаюсь к сообществу за помощью! (Поскольку мой учитель не знает ответа на мой вопрос).

У меня есть простая таблица "Продукты", как показано ниже:

Products table image

Я также иметь таблицу «Заказы», ​​показанную ниже:

Orders table image

Можно ли как-нибудь создать поле в таблице «Заказы» с именем «Общая стоимость» и сделать что автоматически рассчитать общую стоимость всех выбранных продуктов?

1 Ответ

1 голос
/ 16 февраля 2020

Во-первых, я бы советовал не хранить вычисленные значения, а также настоятельно рекомендовал бы против , используя вычисленные поля в таблицах . В общем, вычисления должны выполняться по запросам .

. Я бы также настоятельно рекомендовал не использовать многозначные поля, как показывают ваши изображения.


В целом, если следовать правилам нормализации базы данных , большинство баз данных по продажам структурированы очень похожим образом и содержат следующие основные таблицы (среди прочих):

  • Продукты ( aka Stock Items)
  • Клиенты
  • Заголовок заказа
  • Строка заказа (aka Detail Order)

Хороший пример для изучения быть классом c Пример базы данных Northwind , предоставляемый бесплатно в качестве шаблона для MS Access.

При использовании приведенной выше структуры обратите внимание, что каждая таблица служит своей цели, а каждая запись хранит информацию, относящуюся к отдельному объекту (будь то один продукт , один клиент , один заказ или одна строка заказа ). * 10 40 *

Например, у вас может быть что-то вроде:

Продукты

  • Первичный ключ: Prd_ID
+--------+-----------+-----------+
| Prd_ID | Prd_Desc  | Prd_Price |
+--------+-----------+-----------+
|      1 | Americano | $8.00     |
|      2 | Mocha     | $6.00     |
|      3 | Latte     | $5.00     |
+--------+-----------+-----------+

Клиенты

  • Первичный ключ: Cus_ID
+--------+--------------+
| Cus_ID |   Cus_Name   |
+--------+--------------+
|      1 | Joe Bloggs   |
|      2 | Robert Smith |
|      3 | Lee Mac      |
+--------+--------------+

Заголовок заказа

  • Первичный ключ: Ord_ID
  • Иностранный Ключи: Ord_Cust
+--------+----------+------------+
| Ord_ID | Ord_Cust |  Ord_Date  |
+--------+----------+------------+
|      1 |        1 | 2020-02-16 |
|      2 |        1 | 2020-01-15 |
|      3 |        2 | 2020-02-15 |
+--------+----------+------------+

Строка заказа

  • Первичный ключ: Orl_Order + Orl_Line
  • Иностранные ключи: Orl_Order , Orl_Prod
+-----------+----------+----------+---------+
| Orl_Order | Orl_Line | Orl_Prod | Orl_Qty |
+-----------+----------+----------+---------+
|         1 |        1 |        1 |       2 |
|         1 |        2 |        3 |       1 |
|         2 |        1 |        2 |       1 |
|         3 |        1 |        1 |       4 |
|         3 |        2 |        3 |       2 |
+-----------+----------+----------+---------+

Вы также можете сохранить описание продукта и цену в записях строки заказа, чтобы они сохранялись в точке продажи в качестве информации в Products таблица может меняться со временем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...