MySQL melaksanakan fungsi cadangan hidangan sistem tempahan
Dalam industri katering, untuk memberikan pengalaman pengguna yang lebih baik dan meningkatkan jualan, banyak restoran akan menambah fungsi cadangan hidangan pada sistem pesanan. Artikel ini akan memperkenalkan cara menggunakan MySQL untuk melaksanakan fungsi pengesyoran hidangan sistem pesanan dan memberikan contoh kod khusus.
1. Reka bentuk pangkalan data
Dalam MySQL, kita perlu mereka bentuk dua jadual untuk melaksanakan fungsi cadangan hidangan. Jadual pertama ialah jadual hidangan, yang digunakan untuk menyimpan maklumat hidangan, termasuk ID hidangan, nama hidangan, jenis hidangan dan medan lain. Jadual kedua ialah jadual tingkah laku pengguna, yang digunakan untuk menyimpan gelagat pengguna seperti menyukai dan mengumpul hidangan, serta beberapa atribut yang berkaitan dengan hidangan, seperti ID pengguna, ID hidangan, jenis tingkah laku dan medan lain.
Reka bentuk jadual pangkalan data khusus adalah seperti berikut:
Jadual hidangan (hidangan):
Penerangan jenis nama medan
id int ID Dish
nama varchar Nama hidangan
taip varchar Jenis hidangan
...
Jadual tindakan pengguna (pengguna_aksi ):
Penerangan jenis nama medan
id int action ID
user_id int user ID
dish_id int dish ID
action_type int action type (1 bermaksud suka, 2 bermaksud kegemaran, dsb.)
...
2 pertanyaan
Dalam aplikasi praktikal, data dalam jadual hidangan dan jadual tingkah laku pengguna dimasukkan secara dinamik Data boleh dimasukkan ke dalam jadual dengan menulis pernyataan sisipan yang sepadan, contohnya:
- Masukkan data hidangan
MASUKKAN KE DALAM hidangan (nama. , jenis) NILAI ('Ayam Kung Pao', 'Masakan Sichuan');
MASUKKAN KE DALAM hidangan (nama, jenis) NILAI ('Babi rebus', 'Masakan Hunan');
MASUKKAN KE DALAM hidangan (nama, jenis) NILAI ( 'Babi berperisa ikan' Sutera', 'Masakan Sichuan');
...
- Masukkan data tingkah laku pengguna
MASUKKAN KE DALAM tindakan_pengguna (id_pengguna, id_hidangan, jenis_tindakan) NILAI (1, 1, 1) -- Pengguna 1 disukai hidangan 1
MASUKKAN KE DALAM tindakan_pengguna (id_pengguna, id_hidangan, jenis_tindakan) NILAI (1, 2, 2) NILAI (2, 1, 1); - Pengguna 2 mata Hidangan yang disukai 1
...
Selepas memasukkan data, kami boleh melaksanakan fungsi pengesyoran hidangan dengan melaksanakan pernyataan pertanyaan yang berkaitan. Contohnya, untuk menanyakan hidangan kegemaran pengguna dengan gelagat yang sama, anda boleh menggunakan pernyataan SQL berikut:
PILIH dish_id, COUNT(*) AS num
FROM user_action
WHERE action_type = 2 -- Collection behavior
GROUP BY dish_id
PESANAN MENGIKUT nombor DESC
LIMIT 5; -- Mengembalikan 5 hidangan teratas dengan koleksi terbanyak
3 Algoritma pengesyoran hidangan
Fungsi pengesyoran hidangan tidak terhad kepada pengesyoran berdasarkan tingkah laku pengguna, tetapi juga boleh menggunakan beberapa algoritma pengesyoran. , seperti algoritma penapisan kolaboratif , algoritma penapisan kandungan, dsb. Di sini kami mengambil algoritma penapisan kolaboratif sebagai contoh untuk memperkenalkan algoritma pengesyoran hidangan berdasarkan tingkah laku pengguna.
Kira matriks minat pengguna- Dengan melintasi jadual tingkah laku pengguna dan mengira bilangan tindakan pengguna pada hidangan, matriks minat pengguna diperoleh.
Kira matriks kesamaan hidangan- Dengan melintasi jadual tingkah laku pengguna, kira persamaan antara hidangan yang berbeza, dan dapatkan matriks kesamaan hidangan.
Pengesyoran berdasarkan matriks persamaan- Untuk setiap pengguna, kira senarai hidangan yang disyorkan berdasarkan minat dan matriks persamaan hidangan.
Sila rujuk pautan berikut untuk contoh kod khusus:
https://github.com/example/mysql-dish-recommendation
IV Ringkasan
Artikel ini memperkenalkan cara menggunakan MySQL untuk melaksanakan fungsi pengesyoran hidangan sistem pesanan dan menyediakan contoh kod tertentu. Dengan mereka bentuk jadual pangkalan data dengan betul, memasukkan data dan melaksanakan pernyataan pertanyaan, fungsi pengesyoran berdasarkan tingkah laku pengguna boleh dicapai. Pada masa yang sama, kami juga memperkenalkan algoritma pengesyoran berdasarkan algoritma penapisan kolaboratif untuk menyediakan restoran dengan perkhidmatan pengesyoran hidangan yang lebih diperibadikan dan tepat.
Atas ialah kandungan terperinci MySQL melaksanakan fungsi cadangan hidangan sistem pesanan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!