I have been building an e-commerce website recently and I am telling you man it's hell lot of work.
You have to take care of authentication, security, payments, refunds and hell lot more.
I will suggest you start with magento. It's a open source cms to make e-commerce websites.
I’ve built some e-commerce sites with vuejs and php. My initial approach when I first started out was picking the language to use. Now, I know there are quicker ways to build e-commerce stores with Shopify, woocommerce prestashop and what not that does not require much or any coding at all but I wanted to build it by hand. I’d suggest you pick a language you’re comfortable with. Any server side language sure enough can do the basic things an e-commerce store require such as connecting to a database, authentication(sign up/ login), sending emails, payment integration. Tricky stuff like adding to cart, pagination etc would most likely be done with the help of libraries if you’re just starting out.
Ryosuke
Designer / Developer / Influencer
I'd read the WooCommerce documentation. They outline their database structure and reasoning behind it.