Dapat dikatakan bahwa model database EAV / CR buruk. Yang mengatakan,
Pertanyaan: Model database, teknik, atau pola apa yang harus digunakan untuk menangani "kelas" atribut yang mendeskripsikan produk e-commerce yang dapat diubah pada waktu proses?
Dalam database E-commerce yang baik, Anda akan menyimpan beberapa kelas opsi (seperti resolusi TV, kemudian memiliki resolusi untuk setiap TV, tetapi produk berikutnya mungkin bukan TV dan tidak memiliki "resolusi TV"). Bagaimana Anda menyimpannya, mencari secara efisien, dan memungkinkan pengguna Anda untuk mengatur jenis produk dengan kolom variabel yang menjelaskan produk mereka? Jika mesin telusur menemukan bahwa pelanggan biasanya menelusuri TV berdasarkan kedalaman konsol, Anda dapat menambahkan kedalaman konsol ke bidang Anda, lalu menambahkan kedalaman tunggal untuk setiap jenis produk TV pada waktu proses.
Ada fitur umum yang bagus di antara aplikasi e-niaga yang bagus di mana mereka menampilkan sekumpulan produk, lalu memiliki menu samping "lihat perincian" di mana Anda dapat melihat "Resolusi TV" sebagai tajuk, dan lima Resolusi TV paling umum untuk set ditemukan. Anda mengklik satu dan itu hanya menampilkan TV dengan resolusi itu, memungkinkan Anda untuk menelusuri lebih lanjut dengan memilih kategori lain di menu samping. Opsi ini akan menjadi atribut produk dinamis yang ditambahkan pada waktu proses.
Diskusi lebih lanjut:
Singkat cerita, apakah ada tautan di Internet atau deskripsi model yang dapat "secara akademis" memperbaiki penyiapan berikut? Saya berterima kasih kepada Noel Kennedy karena menyarankan tabel kategori, tetapi kebutuhannya mungkin lebih besar dari itu. Saya menjelaskannya dengan cara berbeda di bawah ini, mencoba untuk menyoroti signifikansinya. Saya mungkin memerlukan koreksi sudut pandang untuk memecahkan masalah, atau saya mungkin perlu mempelajari lebih dalam tentang EAV / CR.
Suka respons positif terhadap model EAV / CR. Semua rekan pengembang saya mengatakan apa yang disinggung Jeffrey Kemp di bawah ini: "entitas baru harus dimodelkan dan dirancang oleh seorang profesional" (diambil di luar konteks, baca tanggapannya di bawah). Masalahnya adalah:
- entitas menambah dan menghapus atribut setiap minggu
(kata kunci pencarian mendikte atribut masa depan) - entitas baru tiba setiap minggu
(produk dirakit dari bagian-bagian) - entitas lama menghilang setiap minggu
(diarsipkan, kurang populer, musiman)
Pelanggan ingin menambahkan atribut ke produk karena dua alasan:
- departemen / pencarian kata kunci / grafik perbandingan antara produk sejenis
- konfigurasi produk konsumen sebelum pembayaran
Atribut harus memiliki makna, bukan hanya pencarian kata kunci. Jika mereka ingin membandingkan semua kue yang memiliki "frosting krim kocok", mereka dapat mengeklik kue, klik tema ulang tahun, klik hiasan krim kocok, lalu centang semua kue yang menarik karena mengetahui bahwa semua kue memiliki frosting krim kocok. Ini tidak khusus untuk kue, hanya sebuah contoh.