Doğru Cevap
-
Kullanıcılar Tablosu
---------------------------
kulid
ad
soyad
Begenilenler Tablosu
---------------------------------
urunid
kulid
Urunler Tablosu
----------------------
urunid
ad
Şeklinde bir yapı ile hem sorguların rahat olur hemde daha profesyonel bir yapı ile çalışmış olursun
Cevaplar
-
tablo göstermek istemiştim ama aradaki boşluklar silinmiş sanırım. Demek istediğim anlaşılmılştır umarım :(
-
caglaror
Eğer çok önemli bir yazılım ise (ticari veya pro) ayrı tablolar yaratmanı öneririm. Ürünler, Üyeler, Beğeniler, Puanlar, vb...
SQL ile bu sayede istediğin hesaplamaları daha hızlı yaptırabilirsin.
Ama şu an kullandığın sistem de de yükü SQL'e yıkman mümkün. Bunun için kayıt esnasında virgüllerle ayırmanın yanı sıra her kayıt tipine bir işaret ekleyebilirsin.
Örneğin:
ürünidsi eklerken başına $U$ yazdır, bu vt de kalabalığa (ve yer kaybına) neden olsa da SQL ile aramalarda (Ortalama, toplam, toplamsayı alma işlemlerinde) işini netleştirecektir.
En sağlıklı çözüm yine de ayrı tablolardır. Bu teknik benimde kullandığım sağlam bir teknik. Ayrıca hesapta olmayan yeni alanlar için (en beğenilmeyen ürün diye bir alan gerekirse örneğin) yine SQL ile bir tablo yaratabilir ve verileri orada tutmaya devam edebilirsin.
İyi çalışmalar2 yıl önce yazılmış
-
-
"favori_urunler" adında bir tablo daha açıp,kullanıcı “id” ve ürünler “id” alanlarına satır satır ekleme yapılabilinir..Bu şekilde ki bir yapıda kullanıcının favori ürünlerini kolay şekilde listeleme,silme,toplamını alma,tarihe göre belirleme gibi vb. işlemleri yapabilinir.
-
Kullanıcının özellikleri ayrı tabloda ürünler ile olan bilgileri ise ayrı tabloda olmalıdır.
Yani kullanıcı tablosunda her kullanıcıya ait tekil bir id ve kullanıcının adı, soyadı, mail gibi bilgileri olmalıdır.
Yine ürünler içinde ürünün özelliklerini belirten ayrı bir tablo olması gerekir. Örneğin ürünün adı, fiyatı, barkodu gibi. Daha sonra kullanıcı ile ürün arasındaki ilişkiyi de yapılan hareketleri izlemek amacıyla başka tabloda tutmanız gerekir.
örnegin
kullanıcı tablonuz
kullaniciId adı soyadı
1 ali can
ürün tablonuz
urunId urunAdi fiyat
5 kalem 5
kullanıcıUrunHareket
hareketId kullanıcıId urunId puan
1 1 5 90
gibi olduğunda gerekli raporlamaları daha hızlı alabilirsiniz ve string parçalama işlemleri ile uğraşmanıza gerek kalmaz.


