v2.5.2
Giriş yap

E-ticaret sistemi veritaban tasarım

karaman443
580 defa görüntülendi

selamün aleyküm arkadaşlar şuanda bir firmanın eticaret sistemini yazıyorum sistem 3 farklı para birimi ile çalışıyor dolar euro ve paund ve sistemde bazı özel istekleri ve bu isteklerden en önemlisi varyant fiyatların artır eksilt şeklinde değilde direk girilmesi + varyasyonlu ürünse ürüne hiç fiyat girilmeyecek ilk varyantın fiyatını çekecek gibi şimdi benim 3 adet tablom var ürünler, ürün fiyatlar ve ürün indirimler diye ürünler tablosunda ürün bilgileri, ürün fiyatlar tablosunda da 3 farklı döviz cinsinden ürün fiyatları tutuluyor.ürün indirimler tablosunda ise indirim kuralı yanı ürüne indirim tarih aralığında atanmışsa tarih aralığını stok kuralı koyulmuşsa o kural vs gibi şeyler tutuluyor. ön yüzde fiyata göre sıralamada problem olmasın diye ürün fiyatlar tablomda fiyat,indirimli fiyat ve son fiyat şeklinde 3 sütun var ön yüzde sıralama gibi işlemleri son fiyata göre yapıyorum böylece sıralama düzgün oluyor. indirim koşullarınıda yazdığım bir fonksiyonla ürünleri sayfa sayfa çekerken o saydaki ürün idlerini fonksiyona gönderip eğer tarihi gelmişse fiyatlar tablosunda indirimlifiyat kısmını nulla sonfiyat kısmını ürün fiyat sütununa güncelliyorum. buraya kadar bir sorun yok ancak kampanya sistemide isteniyor yanı atıyorum şu kategori veya ürünlerde sepette %50 indirim veya haftanın belli günlerin belli saatlerinde kategori veya ürün bazlı şu kadar indirim gibi iş bu kısımda tıkanıyor şimdi kampanya koşullarını farklı tabloda tutarım kampanyayı, kampanyalı ürün altında da gösteririm ama sıralama ürün fiyatlar tablosundaki son fiyat kısıma göre olduğu için bu sefer kampanyadaki indirimli halini hesaplatıp oraya yazdırmam gerekiyor burda nasıl yol izlemem lazım yardımcı olurmusunuz (başka yerde hatam varsa yada söyle yapsan daha iyi olur dediğiniz yer varsa önerilerinize açığım)

zafer
1079 gün önce

Yapıyı tam olarak bilmediğim için sadece fikir olması açısından yazıyorum.

Acaba son_fiyat bilgisini veritabanında tutmak yerine önyüze göndermeden önce merkezi bir fonksiyon ile her defasında hesaplamak daha dinamik bir yapı oluşturmak için daha iyi olabilir mi?

Böylece fiyatı etkileyen ne kadar kriter varsa buna göre her defasında son_fiyat yeniden hesaplanır. Bu sunucu yükünü arttırır ancak dinamik bir son_fiyat verisi elde etmeyi sağlar diye düşünüyorum.