Каков наилучший способ сохранить информацию об «уровнях запасов» для продукта в базе данных? - PullRequest
0 голосов
/ 21 сентября 2019

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

products (product_id, product_name, price, category_id)
product_category (category_id, cagtegory_name)
customers (customer_id, username, pass, fname, lname, email)
orders (order_id, order_date, product_id, customer_id)

Теперь я хочу рассмотреть возможность ведения учета уровней запасов каждого продукта.

т.е. product_id = 1 product_name= MICROSOFT Limited Edition Gears 5 Xbox One X, Tekken 7 и Project Cars 2 Цена комплекта = 449,99 category_id = 2
stock _id = 1 (ссылки stock_id в таблице product_stock): - /?

Я рассмотрелТРИ подхода к хранению «информации о запасах» по продуктам.

Подход a) Добавьте новый Столбец в таблице продуктов с именем «stock_level», простой и действительный, поскольку уровень запасов полностью зависит от его первичного ключа в этой ситуации.

Подход b) Создайте новую таблицу с именем «product_stock», со столбцами «stock_id и stock_level».

Здесь возникает путаница в логике.

По какой-то причине, перейдя к подходу b, я сделал первичный ключ таблицы product_stock (stock_id) ТАКЖЕ внешним ключом, ссылаясь назадк таблице продуктов:

product_stock.stock_id = products.product_id

т.е.

product_stock.stock_id 1 REFERENCES BACK TO products.product_id 1
product_stock.stock_id 2 REFERENCES BACK TO products.product_id 2 

и т. д. и т. д.

ТРЕТИЙ подход, о котором я думал, - это сохранить ключ stock_id только в качестве первичного ключа,и разорвите ссылку на таблицу продуктов.Затем в продуктах создайте столбец с именем stock_id, с помощью которого FK ссылается на stock_id в таблице product_stock.

Какой из трех подходов кажется лучшим?Я по какой-то причине сожалею об удалении настроенных столбцов и отношений, которые давали мне поведение, как обсуждалось в подходе b.

Причина, по которой мне понравился подход b, заключалась в том, что, если вы наводите указатель мыши на каждый ключ stock_id в product_stock, выможно мгновенно увидеть, к какому продукту он относится, в таблице товаров (phpmyadmin).

мысли об этих людях?

См. вопрос и прочитайте.

нет необходимости, его всена phpmyadmin и не требуется в этом случае.

см. вопрос.

1 Ответ

0 голосов
/ 21 сентября 2019

Насколько вы объяснили, у каждого продукта есть только и только одна стоимость акций.Самый простой способ - сохранить эту информацию непосредственно в таблице продуктов: вариант а) в вашем вопросе.

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

...