2016-03-31 19 views
3

12 kategoride sınıflandırılmış ilan sitelerinde çalışıyorum. Örneğin. vehicles kategorisi cars, bikes, Commercial Vehicles ve spare parts ürünlerine sahiptir. Aşağıdaki bir reklam yayınlamak için bir akış şeması geçerli:Sınıflandırılmış reklam öğesi özellikleri için veri tabanı tasarımı

When user want to post an ad

onlar bir reklam gönderme zaman formda açılır listeler kullanıcılara yukarıdaki resmin Form Filled bölümünde şartname göstermek gerekir. car belirtimi, color, engine, fuel type olacaktır.

ERD aşağıdaki gibidir:

ERD

bu konunun ele alınması gerektiğini nasıl ne iyi uygulamalar ve güncel tasarım hakkı çizgisinde gidiyor?

cevap

0

i EAV modellere bakmak katılıyorum ...diğer bazı tablolar için

, birçok normalleştirme sorunları var - örneğin:

  • Eğer (bir resim tablosunu olmalıdır
  • ayrı adres tablosunu (reklamın parçası değil) sahip olmalı ve bağlantı Başka bir tablodaki reklamlar için)
  • Bir kişi tablosuna sahip olmalısınız - ve bu reklamı 'sahip'
  • olarak 'favori' fikri de bu kişi-> rol veya tür sütun
2

Bütün bunlar iyi görünüyor. Bazı gözlemler şunlardır:

  1. likes.iker_id users.id öğesinin üzerine gelmelidir? Sadece başlamak için modelinizi anlamaya çalışıyorum.
  2. Resim tablosunu her satırda bir resim olacak şekilde değiştiririm ve ardından sipariş için bir sıra ekleyebilirim.
  3. Burada bir soru, grafik modelinize nasıl bakacağınızdır. Olduğu gibi, derinliklerine kolayca gidebilen bir grafik olabilir, bir çift derin. Reklamları önermek için bunu yaptığınızı varsayalım. Eğer öyleyse, bu yeterli olduğunu düşünüyorum. Eğer değilse, hangi rdbms'i hedeflediğinizi daha fazla tartışmak iyi olur.
+0

'İlk noktanız': Evet 'likes.liker_id'' users.id' i işaret ediyor. '2. nokta': Resim tablosumu bir resim olarak değiştirmem gerekiyor (6 kullanıcıdan değil, 6 resim çekmem gerekiyor) ... Sonra sıra noktanız yoktu. Lütfen bu iki noktayı biraz detaylandırın ... Ve cevap için çok teşekkür ederim. – Gammer

1

Bu yardımcı olur umarım:
Basitleştirilmiş bir durumda, bazı ek tablolara ihtiyacınız olacaktır.

enter image description here

1

Yani, kategorilerinde farklı öğeler için farklı özelliklere sahip olabilmek için çalışıyoruz? Ya da başka bir deyişle, bir e-ticaret web sitesinde farklı ürün türleri için farklı özelliklere sahip olmak gibidir.

Sorunu çözdüğünüz sorun varsa, sorunun nasıl çözüldüğünü gösteren Entity–Attribute–Value (EAV) modeline bakmalısınız. Bu arada, en popüler açık kaynaklı e-ticaret motorlarından biri olan uses it as well.

enter image description here