title: Stock management database design
body: <p>I'm creating an Intranet for my company, and we want to have a stock management in it. We sell and rent alarm systems, and we want to have a good overview of what product is still in our offices, what has been rented or sold, at what time, etc.</p>
  
  <p>At the moment I thought about this database design :</p>
  
  <p><a href="https://i.stack.imgur.com/HG4bP.png" rel="noreferrer"><img src="https://i.stack.imgur.com/HG4bP.png" alt="enter image description here"></a></p>
  
  <p>Everytime we create a new contract, this contract is about a location or a sale of an item. So we have an Product table (which is the type of product : alarms, alarm watches, etc.), and an Item table, which is the item itself, with it unique serial number. I thought about doing this, because I'll need to have a trace of where a specific item is, if it's at a client house (rented), if it's sold, etc. Products are related to a specific supplier, to whom we can take orders. But here, I have a problem, shouldn't the order table be related to Product ?</p>
  
  <p>The main concern here is the link between Stock, Item, Movement stock. I wanted to create a design where I'd be able to see when a specific Item is pulled out of our stock, and when it enters the stock with the date. That's why I thought about a Movement_stock table. The Type_Movement is either In / Out.
  But I'm a bit lost here, I really don't know how to do it nicely. That's why I'm asking for a bit of help.</p>