These are actually two questions relating to an online bookstore.
I have a table for customers in SQL, and it has all this customer info, including a customer ID. Then I have a table full of books on sale. Lastly, I have a table for a shopping cart.
Now the shopping cart is going to be a table very similar to the books table, only it will have less items since it’ll contain some subset of the book table’s contents.
I want the entire cart to be tied to a single customer’s ID, and I want every entry in that cart to come directly from the Books table.
How to I go about defining such a table, I mean what statements do I need?
As it is, I’m confused about the issue, because the entire cart table essentially an attribute of a single customer, but I have no idea how to represent that in SQL. I want to be able to look up the cart table using the customer ID, basically.
Any help would be greatly appreciated.
You basically need these four tables:
In essence, you will store objects like this:
bookstablecustomerstablecartsandcart_detailstable.cartswill represent a cart for a certain customer, andcart_detailswill represent cart’s content.Whenever you want to retrieve a cart corresponding to a certain customer you can just do:
If you also want cart’s detail you can do:
Note: Tried to write examples in a as general as possible SQL syntax since you didn’t provide the RDBMS you are using. Also, left out on purpose all details related to primary and foreign keys so you can understand tables and their attributes first.