My Course — Membangun Website Food Store Dengan Laravel Filament, Livewire dan Payment Gateway

Struktur dan Relasi Table Database


Sebelum terjun ke dalam koding atau pengembangan, maka kita harus memastikan bahwa struktur dan relasi database-nya sudah fix dan kita tinggal mengimplementasikan saja di dalam website atau aplikasi. Untuk struktur table dan relasi database dari website yang akan kita buat nanti kurang lebih seperti berikut ini :

Dari gambar di atas, berikut ini relasi antar table yang akan kita buat nanti.

1. One to Many: Categories ke Products (Satu ke Banyak)

Relasi One to Many digunakan ketika satu data pada tabel utama (categories) dapat memiliki banyak data terkait pada tabel lainnya (products).

Contoh: Sebuah kategori "Elektronik" bisa memiliki produk seperti "Laptop", "Smartphone", dan "Kamera".


2. Belongs To: Products ke Categories (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (products) dimiliki oleh data lain di tabel induknya (categories).

Contoh: Produk "Laptop" termasuk dalam kategori "Elektronik", dan produk "Novel" termasuk dalam kategori "Buku".


3. One to Many: Transactions ke TransactionDetails (Satu ke Banyak)

Relasi Has Many digunakan ketika satu data pada tabel utama (transactions) dapat memiliki banyak data terkait pada tabel lainnya (transaction_details).

Contoh: Transaksi dengan ID #12345 memiliki detail transaksi untuk produk seperti "Laptop" dan "Mouse".


4. Has One: Transactions ke Shippings (Satu ke Satu)

Relasi Has One digunakan ketika satu data pada tabel utama (transactions) hanya memiliki satu data terkait pada tabel lainnya (shippings).

Contoh: Transaksi dengan ID #12345 memiliki satu informasi pengiriman menggunakan jasa "JNE Express".


5. One to Many: Products ke Ratings (Satu ke Banyak)

Relasi One to Many digunakan ketika satu data pada tabel utama (products) memiliki banyak data terkait pada tabel lainnya (ratings).

Contoh: produk "Laptop" memiliki banyak ulasan.


6. Belongs To: Transactions ke Customer (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (transactions) dimiliki oleh data di tabel induknya (customers).

Contoh: Transaksi dengan ID #12345 dimiliki oleh customer dengan nama "Faisal Mahadi".


7. Belongs To: Transactions ke Provinces (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (transactions) dimiliki oleh data di tabel induknya (provinces).

Contoh: Transaksi dengan ID #12345 ditujukan ke provinsi "Jawa Barat".


8. Belongs To: Transactions ke Cities (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (transactions) dimiliki oleh data di tabel induknya (cities).

Contoh: Transaksi dengan ID #12345 ditujukan ke kota "Bandung".


9. On to Many: Provinces ke Cities (Satu ke Banyak)

Relasi Has Many digunakan ketika satu data pada tabel utama (provinces) dapat memiliki banyak data terkait pada tabel lainnya (cities).

Contoh: Provinsi "Jawa Barat" memiliki beberapa kota seperti "Bandung", "Bogor", dan "Bekasi".


10. Belongs To: Cities ke Provinces (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (cities) dimiliki oleh data di tabel induknya (provinces).

Contoh: Kota "Bandung" berada dalam provinsi "Jawa Barat".


11. Belongs To: Carts ke Products (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (carts) dimiliki oleh data di tabel induknya (products).

Contoh: Item "Laptop Gaming" yang ada di keranjang (cart) milik pengguna terhubung ke produk "Laptop Gaming" di tabel produk (products).


12. Belongs To: Carts ke Customers (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (carts) dimiliki oleh data di tabel induknya (customers).

Contoh: Item "Laptop Gaming" yang ada di keranjang (cart) milik pengguna yang bernama "Lutfi".


13. Belongs To: TransactionDetails ke Products (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (transaction_details) dimiliki oleh data di tabel induknya (products).

Contoh: Item "Laptop Gaming" yang ada di transaction detail terhubung ke produk "Laptop Gaming" di tabel produk (products).


14. Belongs To: Ratings ke Customer (Dimiliki Oleh)

Relasi Belongs To digunakan ketika data pada tabel (ratings) dimiliki oleh data di tabel induknya (customers).

Contoh: Rating 5 dan ulasan "Enak Banget" di berikan oleh customer dengan nama "Lutfi" di tabel customers.