N
N
NoMoneyException2017-01-15 02:17:00
MySQL
NoMoneyException, 2017-01-15 02:17:00

What is the best way to design a table?

Всем привет) Есть магазин аренды товаров. В нем есть некоторые товары, я допустим собираюсь хранить их в таблице items. Задача состоит в том, чтобы отслеживать текущее количество товара и сколько едениц было арендовано. Для этого я собираюсь ввести 2 столбца current_amount - для текущего количества, и rented_amount - для арендованного. Все вроде бы ок, но меня преследует мысль, что это неправильно. Нужно проверять очень много зависимостей всяких, есть вероятность сделать ошибку. Мб есть способ спроектировать получше? Или вообще изменить таблицу? Например, для каждой еденицы товара - своя строка в таблице, и добавить флажок is_rented (но тогда получится очень много данных). Спасибо

Answer the question

In order to leave comments, you need to log in

3 answer(s)
R
Rsa97, 2017-01-15
@Rsa97

Зависит от типа учёта в магазине. Если учитывается каждый экземпляр оборудования, то и отдельную строку придётся заводить для каждого экземпляра. Если же учёт идёт обобщённый, то достаточно общего количества и количества в аренде. Дополнительно можно завести таблицу с записями о выдаче и возврате оборудования и счётчик арендованного менять триггером AFTER INSERT.

C
Chronic 86, 2017-01-15
@chronic86

If you add the 2 columns you are talking about, then it will be a very limited solution. Naturally, everything depends on the goals and objectives. But offhand, from the above, you can suggest creating a separate table, something like this:
Rent
item_id - item id (index)
rent_date - rent
start date return_date - return date
client_id - if there is a customer table
staff_id - employee who issued
rate_id - rate if there is a rate table
Well You can add columns of your choice. You get enough flexibility. I doubt that there will be huge problems due to the number of records in the table.

D
d-stream, 2017-01-15
@d-stream

It will quickly turn out that you need to somehow track the receipt of goods, repairs, write-offs, etc.
In general, it is better to immediately focus on the documents of receipt (from where the number of everything is calculated), the documents of issue (how many are currently in the rental / rental), return documents, disposal documents, etc.
Accordingly, it "runs" through at least a couple of tables for each such entity (document data and document lines).
Accordingly, the current state will be calculated as the sum of receipts minus the sums of expenses, withdrawals, write-offs), but information on the movements of each accounting element will also be available.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question