Tentu saja itu akan skala. Itu akan bekerja dengan baik, itu adalah struktur yang umum digunakan.
Sertakan level_no
. Itu akan membantu dalam kode, tetapi yang lebih penting, diperlukan untuk mengecualikan duplikat.
Jika Anda menginginkan struktur yang sangat ketat, Anda memerlukan sesuatu seperti konsep inode Unix.
Anda mungkin mengalami kesulitan memahami kode yang diperlukan untuk menghasilkan hierarki, katakanlah dari product
, tapi itu masalah terpisah.
Dan tolong ubah
- (
product_category
))id
keproduct_category_id
- (
product
id
keproduct_id
parent_id
keparent_product_category_id
Tanggapan terhadap Komentar
-
level_no
. Lihat Model Data ini, ini untuk struktur Pohon Direktori (mis. jendela FlieManager Explorer):Lihat apakah Anda dapat memahaminya, itulah konsep inode Unix. FileNames harus unik di dalam Node, oleh karena itu Indeks kedua. Itu sebenarnya lengkap, tetapi beberapa pengembang hari ini akan kesulitan menulis kode yang diperlukan untuk menavigasi hierarki, level. Pengembang tersebut membutuhkan
level_no
untuk mengidentifikasi level mana dalam hierarki yang mereka hadapi. -
Perubahan yang disarankan. Ya, itu disebut Konvensi Penamaan yang Baik. Saya kaku tentang itu, dan saya mempublikasikannya, jadi ini adalah Standar Penamaan. Ada alasan untuk itu, yang akan menjadi jelas bagi Anda ketika Anda menulis beberapa SQL dengan 3 atau 4 level gabungan; terutama ketika Anda pergi ke satu orang tua yang sama dengan dua cara yang berbeda. Jika Anda mencari SO, Anda akan menemukan banyak pertanyaan untuk ini; jawaban yang selalu sama. Ini juga akan disorot dalam model berikutnya yang saya tulis untuk Anda.