Help understanding database design logic for a secondhand bookstore project in MySQL I am currently working on a small eCommerce based project that allows users to buy/sell second hand books to/from other users. I am having a hard time making design decisions on how to model the database. My requirements are as follows;

Users (should be able to both buy and sell books)
- User can sell a book.
- User can buy a book.

Temp Users
- This is for registering a user through email

Orders
- many orders can be made by one user.

Order_Details (I am yet to create it)
- stores information on each product that has been orderd

Products/Books
- many products belong to one category

Here is my first try at the design;




I'm having an issue on how to incorporate buying and selling for one user.I don't want to create a second users table for selling (unless that's the only way to do it.) products only.
Should I create a "sales" table where it holds the users_ID and information that holds the book that is meant to be sold?Would this be a temporary table like the temp_users table?


Any opinions would be helpful.

Regards
You don't sell to users, you sell to parties (companies or individuals). Some might play the role of users.
There are many parties involved in a sales/purchase order:


the vendor (you if you sell)
the buyer (you if you buy)
a party selling something on consignment
sales staff taking commission 
the party that placed the order
the party that took the order (a clerk)
the party that is paying for the order
the parties to whom to ship the order items



Do yourself a favour and get a data model pattern book and don't reinvent the wheel :)

Ready-to-Use Database models example