Product - Product details mantığı
Merhaba arkadaşlar.
Sizden e-commerce vebsitelerindeki product_details
, yani ürün bilgileri (cihazın hafızası, rami, boyutu) gibi bilgilerin database de saklama mantığını nasıl yapmak hakkında bir fikir almak istiyorum.
Benim şimdiye kadar denediyim yöntemler şunlar:
1 - Bütün detailları bir table de tutmak - bütün bilgiler örneğin product
tablesinde tutmak.
2 - 2 tane table oluşturmak. 1 ci örnek product
tablesinde ürünün en önemli bilgileri: id, name, price tutmak, 2ci table de product_details
da diger bütün bilgileri saklamak
ve bunlar gibi bir kaç yol denedim, hala memnun degilim kurdugum sistemlerden.
İlk bakışda basit bir şey görünüyor, iş ireliledikce, ürünlerin kateqorileri artdıkça bu tableler yoğunlaşıyor ve performans itkisi oluyor.
Siz genelde nasıl kuruyorsunuz bu sistemi?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Ben genelde ürün detaylarını bir table de tutmak yolunu kullanırım. Bu table'ın bir product_id alanı olacak ve bu alan product table'daki id alanıyla eşleştirilecek. Böylece ürünün detayları ile ürünün genel bilgileri birbirine bağlı olacak ve performans düşüklüğü oluşmayacak.
Ayrıca, ürün detayları table'sına sadece kullanılacak olan detayları eklemeye özen gösteririm. Örneğin, eğer bir ürünün hafızası önemli değilse hafıza alanını bu table'da tutmam. Böylece table'ın yükü hafifleyecek ve performans iyileşecektir.
Diğer bir yöntem ise, ürün detaylarını json formatında bir alanda tutmak olabilir. Bu yöntem ile ürün detaylarına dinamik olarak ekleme ve çıkarma yapılabilir ve table yapısı değişmez. Ancak bu yöntem de performans konusunda biraz düşük olabilir. Bu yüzden genellikle ilk yöntemi tercih ederim.
Merhaba İbrahim.
Sorunun cevabını kendin vermişsin fakat memnun değilim demişsin. Daha detay verir misin?
İlişkisel veritabanı tam da anlattığın gibi olmalıdır.
Örnek;
Products tablosu
ProductID
ProductCategoryID
ProductName
ProductPrice
ProductDetails tablosu
ProductDetailID
ProductID
ProductDetails
ProductCategories tablosu
ProductCategoryID
ProductCategory