Apa domain studi ini?

9

Misalkan saya memiliki situasi di mana saya merancang situs web untuk pengecer sepatu. Mereka memiliki berbagai merek dan jenis sepatu dan tentu saja, mereka menginginkan fungsi pencarian yang sangat baik.

Jadi ada berbagai sifat yang bisa dimiliki sepatu. Mereka dapat memiliki properti eksklusif, seperti ukuran, lebar, jenis kelamin, dan anak-anak / orang dewasa. Atau mereka dapat memiliki sifat non-eksklusif seperti warna (mungkin ada dua atau lebih warna pada sepatu). Beberapa kategori mungkin bertentangan dengan yang lain, seperti 'pakaian' dan 'kasual' (sepatu tidak bisa berupa sepatu pakaian dan sneaker (mengabaikan sepatu pakaian "kenyamanan" untuk contoh ini)), sedangkan mereka tidak bertentangan dengan belum yang lain, seperti 'pakaian' dan 'sepatu boot' (sepatu bisa menjadi sepatu boot). Properti eksklusif mudah dimodelkan, tetapi bagaimana dengan properti yang berpotensi bertentangan? Apakah ini akan menjadi masalah untuk teori himpunan?

Apa yang akan disebut ilmu komputer terapan seperti ini, secara umum? Pemodelan data, atau sesuatu yang lebih spesifik? Saya ingin masuk ke prinsip-prinsip filosofis yang lebih abstrak, seperti properti eksklusif dan non-eksklusif, dan melihat bagaimana prinsip-prinsip tersebut diimplementasikan dalam kode, struktur data, dan skema basis data.

Contoh yang baik dari apa yang saya bicarakan adalah algoritma traversal pohon preorder yang dimodifikasi . Ini cara yang bagus untuk membuat sistem kategorisasi hierarkis bersarang. Jadi Anda memiliki masalah organisasi kehidupan nyata: kategori, dan kemudian Anda memiliki struktur data yang menjadi model masalah itu.

Di mana saya dapat mempelajari lebih lanjut tentang jenis barang ini?

pengguna1936
sumber
1
"Nested Set Model", tempat Anda menggunakan kolom lft dan rgt untuk membentuk pohon, cukup keren. Yaitu, sampai digunakan dalam aplikasi nyata , dan mengatakan aplikasi tidak menyediakan rutinitas untuk memanipulasi pohon dan membuat pengguna berjuang sendiri .
Joey Adams
@ Joey Adams lucu! Nilai jual pohon traversal preorder adalah bahwa kueri untuk memperbarui lebih mudah daripada daftar kedekatan! : D
user1936

Jawaban:

1

jika Anda serius merancang fitur pencarian untuk situs web yang menjual sepatu, gunakan tag alih-alih properti, terapkan fungsi pencarian berbasis kata kunci normal, dan lupakan formalitas akademik; pengguna tidak akan repot-repot menavigasi layar pencarian dengan 50 opsi di atasnya

Steven A. Lowe
sumber
Saya tidak benar-benar merancang situs web penjualan sepatu. Itu hanya contoh praktis dan akrab dari poin yang saya coba ilustrasikan.
user1936
@ user1936: Predikat kalkulus akan tampak tepat sebagai domain dari studi, tapi tolong tolong tolong jangan merancang sistem dunia nyata dengan cara ini; ini tidak akan menghasilkan "fungsi pencarian yang sangat bagus", itu akan menghasilkan fungsi pencarian yang tidak seorang pun kecuali Anda mengerti :-)
Steven A. Lowe
apa sebenarnya perbedaan antara tagsdan propertiesyang Anda sebutkan dalam jawaban Anda? Jika Anda memiliki sistem pemberian tag promiscuous, apa yang mencegah pengguna back-end (orang gudang) menandai sepatu sebagai keduanya sandaldan boot? Ini sepertinya kekhawatiran yang masuk akal bagi saya. Sebagian besar situs penjualan sepatu yang pernah saya lihat (zappos, dll) tampaknya beroperasi dengan prinsip yang serupa dengan ini.
user1936
1
@ user1936 saya akan menganggap properti sebagai nilai yang ditentukan secara formal seperti Ukuran, Gaya, Pabrikan, dan sebagainya, sedangkan tag adalah kata kunci yang ingin Anda kaitkan dengan suatu item. Tidak ada yang mencegah pengguna back-end dari menandai sepatu sebagai sandal dan boot, juga secara umum tidak perlu melakukannya . Konvensi gaya saat ini bukan hukum alam, yaitu mereka dapat berubah. Omong kosong hari ini adalah pernyataan mode berani dan tren panas besok. Zappos, misalnya, memang menjual sepatu bot sandal. zappos.com/sandal-boot
Steven A. Lowe
@ user1936: jika Anda benar-benar benar-benar ingin mengontrol penandaan, masukkan tag ke dalam kategori dan buat aturan berdasarkan tabrakan kategori. Tapi saya curiga - terutama dalam domain non-teknis - aturan apa pun yang mungkin muncul dapat memiliki pengecualian (cf sandal)!
Steven A. Lowe