MySQL'e çok hakim değilim ama bildiğim kadarıyla INT belirli bir aralıktaki tam sayılar için geçerli veri tipiydi. Users tablosunda firstName ve lastName sütunlarının INT veri tipinde olması yanlış, VARCHAR olması gerekiyor. Ayrıca evrensel kod yazmak adına değişkenler ve tüm database tamamen İngilizce olmalı. Ürünlerde yorum, puanlama kısımları yok. Stoğun DECIMAL değil INT olarak tutulması yanlış, çünkü tekil adet dışı satışlar(kiloluk, gramlık vb.) için uygun değil. Database'de phone tutarken ülke alan kodunu ve asıl numarayı ayrı tutmalı client tarafında da bunu ülke alan kodu select(konuma göre oto seçili) ve numara şeklinde tutmalısınız bence. Çok detaylı incelemedim ama gözüme çarpanlar bunlar. Çalıştığınız yazılım ortamında(büyük ihtimal php mysql diye düşünüyorum) örnek alabileceğiniz en iyi yazılım Opencart. Onun database structure'ını basit bir Google aramasıyla buldum, aşağıyada fikir vermesi açısından bırakıyorum. Tabii ki OC oldukça kapsamlı ama eksiklerinizi görmeniz adına faydalı olacaktır.
https://forum.opencart.com/download/...a65caf914866ba