SORU
15 Mayıs 2009, Cuma


Varlık Değeri Veritabanı vs sıkı İlişkisel Modeli, e-Ticaret soru Özniteliği

Güvenli EAV/CR veritabanı modeli kötü olduğunu söylemek güçtür. Dedi

Soru:Ne veritabanı modeli, tekniği, desen ya da "sınıflar" açıklayan nitelikler e-ticaret ürünleri olan çalışma zamanında değiştirilebilir? ile başa çıkmak için kullanılmalıdır

İyi bir E-ticaret veritabanı, sen-ecek saklamak sınıfların seçenekleri (TV çözünürlüğü o zaman bir çözüm için her bir TV, ama sonraki ürün olmayabilir bir TV değil, "TV çözünürlük"). Nasıl bunları saklamak, verimli arama ve kullanıcıların değişken alanları ürünlerini tarif ile ürün çeşitleri Kur izin veriyorsun? Eğer arama motoru müşteriler genellikle TV konsol derinliği dayalı için arama bulursa, alanlar için konsol derinlik katmak, zamanında her tv ürün türü için tek bir derinlik ekleyin.

Orada güzel bir ortak özelliği arasında iyi e-ticaret uygulamaları göstermek için bir dizi ürün, o zaman "detaya" yan menüler görebileceğiniz "TV Çözünürlük" gibi bir başlık ve ilk beş en yaygın TV Kararlar için bulunan ayarlayın. Tek tuşla ve sadece bu çözünürlükte Televizyonlar, diğer kategoriler seçerek detaya izin gösterir yan menüdeki. Bu seçenek dinamik ürün özellikleri çalışma zamanında eklenebilir.

Daha fazla tartışma:

Yani uzun lafın kısasıİnternet ya da model tanımları üzerinde herhangi bir bağlantıları "akademik" aşağıdaki kurulum düzeltme var mı diyeBir kategori tablosu önerdiğin için Noel Kennedy teşekkür ederim, ama ihtiyaç daha fazla olabilir. Bunu farklı bir şekilde aşağıda, önemini vurgulamak için çalışıyorum açıklar. Sorunu çözmek için bakış açısı bir düzeltme gerekebilir, ya da daha derin etkin değeri/CR için gitmem gerekebilir.

Etkin değeri/CR modeli için olumlu yanıt aşk. Sevgili geliştiriciler Jeffrey Kemp aşağıda dokundu ne diyor: "yeni varlıklar ve bir profesyonel tarafından örnek alınarak tasarlanmış olması gerekir" (şartlara göre, aşağıdaki cevabı okuyun). Sorun:

  • varlıkları Ekle ve nitelikleri haftalık kaldırın< / ^ br .(arama kelimeleri geleceği nitelikleri dikte)
  • yeni varlıklar haftalık geliyor< / ^ br .(ürünler yerinden toplandı)
  • eski varlıkları uzakta bir haftalık< / ^ br .(arşivlenmiş, daha az popüler, arasında

Müşteri iki nedenden ürünler için öznitelikleri eklemek istiyor:

  • bölüm / anahtar kelime arama / karşılaştırma ürünleri arasında grafik
  • ödeme önce tüketici ürün yapılandırma

Öznitelikleri önemi, sadece bir anahtar kelime arama olmalı. Eğer istedikleri için karşılaştırma, tüm kek bunu bir "krem şanti krema", onlar tıklatın kek, doğum günü teması ' ı tıklatın çırpılmış krema buzlanma, o zaman kontrol tüm kek olduğunu bilmek ilginç hepsi krema buzlanma. Bu kek özel, sadece bir örnek değil.

CEVAP
18 Mayıs 2009, PAZARTESİ


Birkaç genel artılarını ve eksilerini sayabilirim, biri diğerinden daha iyi olduğu durumlar vardır:

1, etkin değeri Model seçeneği:

  • Artılar: basit bir uygulama tasarımı geliştirmek için daha az zaman
  • Artılar: yeni varlıklar eklemek için kolay olabilir bile eklenen kullanıcılar?)
  • Artılar: "genel" arayüz bileşenleri
  • Con: karmaşık kod basit veri türleri doğrulamak için gerekli
  • Con: basit için çok daha karmaşık SQL raporlar
  • Con: karmaşık raporlar neredeyse olabilir imkansız
  • Con: büyük veri setleri için düşük performans

2, her varlık için ayrı ayrı Modelleme seçeneği:

  • Dezavantajlar: daha fazla zaman toplamak için gerekli gereksinimleri ve tasarım
  • Con: yeni varlıklar modellenmiş olmalı ve bir profesyonel tarafından tasarlanmış
  • Con: her biri için özel arayüz bileşenleri varlık
  • Artılar: uygulamak için veri türü kısıtlamaları ve doğrulama basit
  • Artılar: SQL yazmak kolay, kolay anlamak ve hata ayıklama
  • Artılar: hatta en karmaşık raporlar oldukça basit
  • Artılar: büyük veri setleri için en iyi performans

3, Kombinasyon ("", ama " dikkat eksikliği "uzantılar" özel öznitelikleri için bazı/tüm varlıklar) . düzgün model varlıklarını seçeneği

  • Pro/Con: daha fazla zamana gereksinimleri ve Seçenek 1'den tasarım toplamak için ama belki de fazla seçeneği olarak 2 * gerekli değil
  • Con: yeni varlıklar ve bir profesyonel tarafından modellenmiş tasarlanmış olması gerekir
  • Artılar: yeni niteliklerini daha sonra . eklenebilir
  • Con: karmaşık kod basit veri tipleri (özel öznitelikleri doğrulamak için gerekli
  • Con: özel arayüz bileşenleri hala gerekli, ama genel arabirimi bileşenleri özel öznitelikleri için mümkün olabilir
  • Con: SQL karmaşık herhangi bir özel öznitelik bir rapora dahil en kısa sürede olur
  • Con: özel nitelikleri ile gerek arama veya rapor tarafından başlamazsan genel olarak iyi bir performans

*Eğer Seçenek 3 mutlaka tasarım aşamasında her zaman kazandırır emin değilim.

Şahsen seçeneği doğru 2 ve önlemek etkin değeri mümkün olduğunca yalın ederim. Ancak bazı durumlarda, kullanıcılar için etkin değeri ile gelen esneklik ihtiyacı vardır; ama bu büyük bir maliyet ile birlikte geliyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012