Вопрос о базе данных - PullRequest
1 голос
/ 26 июля 2010

У меня проблема с двумя частями диаграммы базы данных, и мне нужно ваше руководство :) В базе данных много таблиц, одна из которых посвящена сотруднику, другая - о клиенте и ...!У меня проблема с двумя таблицами (Product и OrderDetail). Моя таблица Product содержит 3 столбца (ProductID, Name, Cost), а другая таблица - OrderDetail, в которой есть эти столбцы (OrderDetailID, Cost, Quantity). Я не создал эту базу данных сам.нашел его как образец базы данных в интернете, но у меня есть проблема с этими двумя затратами, которые находятся в таблицах OrderDetail и Product, в чем разница между этими затратами?они одинаковые или нет?спасибо

РЕДАКТИРОВАНИЕ: извините, все, что я допустил, идентификатор таблицы ordeDetail является составной частью первичного ключа таблицы Product и таблицы Order, которая представляет собой Product ID и OrderID, а таблица OrdeDeatil является слабой сущностью.SO OrderDeatil ((ProductID, OrderID), стоимость, количество)

Ответы [ 2 ]

2 голосов
/ 26 июля 2010

Я предполагаю, что стоимость в таблице продуктов является текущей ценой продукта. С другой стороны, стоимость в таблице сведений о заказе - это цена, уплаченная за продукт для этого конкретного заказа.

Цены на товары могут увеличиваться или уменьшаться, или могут быть предоставлены скидки на определенные заказы. Поле в таблице сведений о заказе будет хранить эту информацию.


ОБНОВЛЕНИЕ: В дополнение к вашему обновленному вопросу, это имеет смысл. Это означает, что каждый заказ может указывать один и тот же продукт только один раз. В таблице сведений о заказе хранится количество заказанных товаров (количество), и я бы сказал, что стоимость - это цена, уплаченная за один товар. Это может быть сумма (цена * количество), но это не является общим для таких структур таблиц.

1 голос
/ 26 июля 2010

Не зная точно, для чего предназначена эта база данных, я не могу сказать наверняка, но в качестве приблизительного предположения могу ожидать, что столбец Product таблицы Cost - это стоимость одной единицы этого продукта.и столбец OrderDetail таблицы Cost - это стоимость заказа некоторого количества «чего-то», скорее всего, определенного количества продукта.В качестве интересного примечания отметим, что ничто не связывает таблицу OrderDetail с таблицей Product - если эти две таблицы должны быть связаны, вы обычно ожидаете внешний ключ в таблице OrderDetailсвязать его с таблицей Product.На данный момент нет способа сопоставить OrderDetail с Product с.

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