Saya baru belajar mysql dan tidak biasa dengan mysql Sekarang saya mempunyai tiga jadual seperti ini
Meja artikel
id | tajuk | kandungan |
---|---|---|
0 | hello | dunia |
1 | hey | .... |
Borang soalan
id | tajuk | kandungan |
---|---|---|
0 | hello | dunia |
1 | hey | .... |
Tag meja
id | nama | avatar |
---|---|---|
1 | java | .... |
2 | js | .... |
Kedua-dua jadual berkongsi jadual teg Avatar jadual teg ialah avatar teg Setiap teg mempunyai avatar sendiri atau avatar lalai.
Soalan semasa saya ialah bagaimana untuk mengaitkan jadual tag dengan dua jadual lain Adalah perlu untuk memastikan artikel atau topik dapat dicari dengan cepat berdasarkan id tag.
Penyelesaian pertama yang saya fikirkan ialah menambah medan tag di bawah jadual artikel dan jadual soalan. Pisahkan dengan koma (saya tidak tahu sama ada ia bagus atau tidak...), dan kemudian saya mendapati bahawa saya benar-benar tidak tahu bagaimana untuk mencari... Bagaimana saya mencari seperti ini... Adakah saya menggunakan like. ..
Meja artikel
id | tajuk | kandungan | tag |
---|---|---|---|
0 | hello | dunia | 0,1 |
1 | hey | .... | 2,3,4 |
Borang soalan
id | tajuk | kandungan | tag |
---|---|---|---|
0 | hello | dunia | 1,4 |
1 | hey | .... | 6,3 |
Kemudian saya terfikir tentang rancangan kedua, kerana struktur jadual artikel dan jadual soalan pada asasnya sama, boleh saya menggabungkannya
Gabungan subjek soalan dan artikel....
id | tajuk | kandungan | tag | taip |
---|---|---|---|---|
0 | hello | dunia | 1,4 | artikel |
1 | hey | .... | 6,3 | soalan |
Kalau begitu, saya rasa ia tidak sepatutnya digabungkan, bukan?
Kemudian saya terfikir tentang rancangan ketiga, bagaimana dengan membuat jadual korelasi ini adakah saya tidak begitu faham.. Kalau ada jadual korelasi, bukankah jadual artikel dan soalan? berbeza? Medan tag diperlukan.Meja persatuan
tag_id | |
---|---|
1 | |
6 | |
4 | |
3 |
Pertama sekali, saya terpesona dengan jadual artikel dan jadual soalan yang anda berikan kepada saya... Lupakan jika strukturnya sama, datanya masih sama...
Kedua, tag penyelesaian yang anda gunakan untuk bersama pada mulanya tidak digalakkan... Sukar Ubah suai teg, dan seperti yang anda katakan, sukar untuk membuat pertanyaan
Bagi penggabungan jadual artikel dan jadual soalan, ini sama sekali tidak perlu pangkalan data, anda boleh memahami paradigma pangkalan data
Akhirnya, jadual persatuan Idea ini sangat bagus, dan menggunakan aq_id dan tag_id juga betul. Bagi anda yang mengatakan bahawa mungkin terdapat banyak data pada masa hadapan, jangan risau, apatah lagi mySql bukan vegetarian, masalah terlalu banyak data juga akan diselesaikan dalam kajian masa depan anda
Penyelesaian yang anda fahami pada mulanya ialah tag boleh disoal setiap nombor dalam tag dipisahkan dengan simbol, contohnya, ,1,11,31 gunakan tag seperti ”% ,1,%". Ini sepatutnya dapat mengetahui.