ERD adalah salah satu model yang digunakan untuk mendesain database dengan tujuan menggambarkan data yang berelasi pada sebuah database. Umumnya setelah perancangan ERD selesai berikutnya adalah mendesain database secara fisik yaitu pembuatan tabel, index dengan tetap mempertimbangkan performance. Kemudian setelah database selesai dilanjutkan dengan merancang aplikasi yang melibatkan database. Komponen penyusun ERD adalah sebagai berikut :
Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai contoh mahasiswa,dosen,departemen. Entitias terdiri atas beberapa atribut sebagai contoh atribut dari entitas mahasiswa adalah nim,nama,alamat,email, dll. Atribut nim merupakan unik untuk mengidentifikasikan / membedakan mahasiswa yg satu dengan yg lainnya. Pada setiap entitas harus memiliki 1 atribut unik atau yang disebut dengan primary key.
Relasi adalah hubungan antara beberapa entitas. sebagai contoh relasi antar mahaiswa dengan mata kuliah dimana setiap mahasiswa bisa mengambil beberapa mata kuliah dan setiap mata kuliah bisa diambil oleh lebih dari 1 mahasiswa. relasi tersebut memiliki hubungan banyak ke banyak.
Apakah komponen yang terbentuk didalam Entity Relationship Diagram (ERD)?
Dalam pembentukan ERD terdapat 3 komponen yang akan dibentuk yaitu :
a. Entitas
Pada post sebelumnya mengenai basis data telah dijelaskan sedikit tentang pengertian entity (entitas) yaitu suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Pengertian lainnya menurut Brady dan Loonam (2010), entitas adalah objek yang menarik di bidang organisasi yang dimodelkan.
Contoh : Mahasiswa, Kartu Anggota Perpustakaan (KAP), dan Buku.
b. Hubungan (relasi/relationship)
Suatu hubungan adalah hubungan antara dua jenis entitas dan direpresentasikan sebagai garis lurus yang menghubungkan dua entitas.
Contoh : Mahasiswa mendaftar sebagai anggota perpustakaan (KAP), relasinya adalah mendaftar.
c. Atribut
Atribut memberikan informasi lebih rinci tentang jenis entitas. Atribut memiliki struktur internal berupa tipe data. Jenis-jenis atribut :
Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama
Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya
atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi
Contoh : Alamat, penerbit, tahun terbit, judul buku.
nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari atrribute yang bersangkutan
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.
Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute.
Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang
Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus
Derajat relasi atau kardinalitas rasio
Menjelaskan jumlah maksimum hubungan antara satu entitas dengan entitas lainnya
- One to One (1:1)
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
- One to many (1:M / Many)
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
- Many to Many (M:M)
Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya.
berikut adalah contoh sederhana relasi antar tabel yang saya buat di PhpMyAdmin dengan nama database db_penjualan
Penjelasannya : Tabel products dengan tabel order_details memiliki relasi one to many artinya setiap products dapat dijual lebih dari satu kali. Field penghubung antar tabelnya adalah productid , dimana di dalam tabel products sebagai kunci utama (primary key) dan di dalam tabel order_details memiliki posisi sebagai kunci tamu (foreign key).
Tabel customer dengan tabel orders memiliki relasi one to many, artinya setiap customer dapat memiliki lebih dari satu transaksi penjualan barang. Field penghubung antar tabelnya adalah customerid , dimana di dalam tabel Pelanggan sebagai kunci utama (primary key) dan di dalam tabel orders memiliki posisi sebagai kunci tamu (foreign key).
Tabel Suppliers dengan tabel products memiliki relasi one to many, artinya setiap suppliers atau pemasok dapat memiliki lebih dari satu produk. Field penghubung antar tabelnya adalah supplierid, dimana di dalam tabel Suppliers sebagai kunci utama (primary key) dan di dalam tabel Products memiliki posisi sebagai kunci tamu (foreign key).
Tabel employees dengan tabel orders memiliki relasi one to many, artinya setiap employees atau karyawan dapat melakukan lebih dari satu kali transaksi Pemesanan atau orders. Field penghubung antar tabelnya adalah employeeid, dimana di dalam tabel Pengguna sebagai kunci utama (primary key) dan di dalam tabel Pemesanan memiliki posisi sebagai kunci tamu (foreign key).
Tabel Orders dengan tabel order_detail memiliki relasi one to many, artinya setiap transaksi Pemesanan barang atau orders dapat memiliki lebih dari satu detail transaksi Pemesanan atau order_detail . Field penghubung antar tabelnya adalah orderid, dimana di dalam tabel orders sebagai kunci utama (primary key) dan di dalam tabel order_detail memiliki posisi sebagai kunci tamu (foreign key).
Sekian contoh dan penjelasan ERD Penjualan dan Relasi antar tabel dengan PhpMyAdmin. Mohon maaf bila ada kesalahan dan kekurangan.