Skip to content Skip to sidebar Skip to footer

Database - Cara Membuat Relasi Database Penjualan Dengan Pelanggan Dan Tanpa Pelanggan

Database - Cara Membuat Relasi Database Penjualan Dengan Pelanggan Dan Tanpa Pelanggan

Assalamu'alaikum wr.wb
Dalam database RDBMS, selalu ada relasi yang diperlukan untuk menghubungkan data dari tabel satu ke tabel lainnya. Dengan begitu maka data dari tabel yang berelasi tersebut, nantinya dengan mudah dapat dibaca oleh sistem berdasarkan foreign key yang ada. Hal itu sangatlah membantu developer untuk mengembangkan aplikasi karena kemungkinan kesalahan semakin berkurang dengan adanya fitur tersebut.

Namun relasi - relasi database tersebut tidak serta merta semuanya benar. Bisa saja di objek satu relasi tersebut benar, namun di objek lainnya relasi tersebut kurang tepat. Hal ini disebabkan oleh sistem dari objek yang tidak sesuai dengan relasi yang kita buat itu. Contohnya sistem informasi penjualan. Ada objek yang mengharuskan untuk menginputkan data pelanggan terlebih dahulu, ada juga yang tidak. Perbedaan itu membuat kita harus memutar otak lebih untuk menyelesaikan masalah ini.



Baca Juga 

Pada artikel sebelumnya saya menjelaskan tentang Contoh Relasi database Perusahaan. Dimana relasi tersebut bersifat umum, disini saya akan menjelaskan tentang relasi penjualan lebih detail. Biasanya masalah dari relasi penjualan terletak pada penjualan dan pelanggan, ketika ada objek yang menginginkan untuk bisa menambah ataupun tidak menambah nama pelanggan didalamnya, maka itu dapat mengubah relasi dari yang saya contohkan tadi menjadi beberapa contoh - contoh dibawah ini.


1. Relasi Database Penjualan Dengan Cara Menghapus Relasi Tabel Penjualan Dan Pelanggan

Contoh pertama ini tergolong simple, karena kita hanya perlu menghapus relasi dari tabel penjualan dan pelanggan. Namun id_pelanggan dalam tabel penjualan tetap ada layaknya foreign key. Karena jika kita relasikan, otomatis data pelanggan harus terisi padahal objek meminta untuk dapat melakukan proses penjualan tanpa menambah data pelanggan. Berikut ini adalah Contoh Relasi database penjualan dengan cara menghapus relasi tabel penjualan dan tabel pelanggan.

Relasi Database Penjualan Dengan Cara Menghapus Relasi Tabel Penjualan dan pelanggan

Relasi diatas menunjukkan bahwa antara tabel penjualan dan tabel pelanggan tidak diperlukan relasi sama sekali. Namun masih terdapat id_pelanggan yang berdiri sendiri. Artinya bisa sesuai dengan isi dari tabel pelanggan, bisa juga tidak. Cara ini tergolong simpel namun kita akan kesulitan mengontrol data tersebut apabila sudah mencapai ribuan data yang terinput.

Update : Untuk linknya disini.


2. Relasi Database Penjualan Dengan Cara Merelasikan Tabel Penjualan Dan Tabel Pelanggan Secara Langsung.

Cara yang kedua ini tergolong masih original, dimana kita masih membiarkan relasi penjualan dan pelanggan tetap ada. Berbeda dengan cara pertama yang menghapus relasi, cara ini masih memberikan relasi pada kedua tabel tersebut. Berikut ini adalah contoh relasinya.

Relasi Database Penjualan Dengan Cara Merelasikan Tabel Penjualan Dan Tabel Pelanggan Secara Langsung

Dari gambar diatas bisa kita lihat relasinya masih ada dan masih sama dengan contoh yang saya berikan disini. Namun akan ada masalah jika nantinya kita diminta agar nanti aplikasi dapat melakukan penjualan tanpa input pelanggan. Hal tersebut bisa diakali dengan cara menambah data baru di tabel pelanggan yang mana data tersebut merupakan tanda bahwa pelanggan tersebut tidak menginputkan namanya. Lalu kita buat logika di program untuk menginputkan foreign key dari data tersebut agar otomatis terisi jika pelanggan tidak menginputkan data. Untuk yang ini menurut saya lebih efisien daripada cara pertama. Namun akan banyak program yang kita ketik di aplikasi nanti agar tidak terjadi error.


Update : Untuk link database penjualan diatas, klik disini.

3. Relasi Database Penjualan Dengan Cara Menambahkan Tabel Baru Diantara Tabel Penjualan Dan Tabel Pelanggan Sebagai Tabel Perantara. 

Contoh yang satu ini adalah contoh yang saya terapkan. Dimana kita menambahkan satu tabel diantara tabel penjualan dan tabel pelanggan sebagai tabel perantara yang mana ketika pelanggan menginputkan data dirinya, maka tabel inilah yang diisi, namun jika tidak, maka tabel ini tidak diisi. Berikut ini adalah contohnya.

Relasi Database Penjualan Dengan Cara Menambahkan Tabel Baru Diantara Tabel Penjualan Dan Tabel Pelanggan Sebagai Tabel Perantara

Dari gambar diatas bisa kita lihat bahwa kita membuat sebuah tabel baru yang diberi nama penjualan_pelanggan. Lalu kita relasikan dengan penjualan dengan relasi one to one. Yang artinya satu penjualan bisa dilakukan untuk satu penjualan_pelanggan. Itu dapat disimpulkan bahwa kita hanya bisa menambahkan data penjualan ke penjualan_pelanggan satu kali saja. Tidak bisa lebih.

Lalu kita lihat pada tabel penjualan_pelanggan terdapat foreign key pelanggan yang mana itu artinya adalah relasi one to many. artinya satu pelanggan dapat melakukan penjualan_pelanggan berkali - kali. Dan sisanya adalah fitur - fitur yang hanya bisa diperoleh pelanggan saja seperti potongan.

Cara ini menurut saya adalah cara terbaik dibandingkan kedua cara diatas sebelumnya. Karena dengan ini, kita tidak menyalahi aturan database dengan cara menghapus relasi ataupun menambah data sebagai penentu bukan pelanggan yang nantinya akan membingungkan kita semua jika terjadi error. Dengan relasi tersebut, kita hanya perlu menambahkan program saja untuk menginput tabel penjualan_pelanggan jika pelanggan mengisi datanya. Namun akan ada kesulitan pada penampilan data ataupun laporan karena akan ada lebih banyak join table yang kita buat. Caranya bisa dilihat disiin.

Update : Contoh database penjualan seperti diatas bisa didownload disini,


Penutup

Contoh diatas adalah contoh- contoh yang saya ketahui. Mungkin masih banyak cara lain yang mungkin saja lebih baik daripada cara yang saya terapkan ini. Contoh diatas hanyalah contoh hasil percobaan dan pemikiran saya sendiri saja. Jadi bisa saja anda menemukan cara yang lebih baik dari pada cara diatas ini. Untuk relasi database yang paling utama adalah sesuai dengan kebutuhan objek. Maka dari itu tidak ada yang benar dan yang salah. Adanya hanyalah yang sesuai dan tidak sesuai saja.

Demikianlah tutorial dari saya. Apabila ada kekurangan saya mohon maaf sebesar-besarnya. Terimakasih telah berkunjung, semoga informasi ini bermanfaat. Silahkan tinggalkan jejak di kolom komentar. Assalamu'alaikum wr.wb.


1 comment for "Database - Cara Membuat Relasi Database Penjualan Dengan Pelanggan Dan Tanpa Pelanggan"