Desain Basis Data dengan Model
E-R
4.1
Pengantar Model E-R
Model E-R menggambarkan dunia nyata dalam
dua kelompok yaitu entitas dan relationship. Entitas adalah objek/konsep yang
memiliki karakter yang spesifik. Contoh entitas dalam domain perbankan adalah
Nasabah dan Accout. Relationship adalah hubungan antara entitas. Contoh
relationship yang dalam domain perbankan adalah relationship antara entitas
nasabah dengan acccount (nasabah memiliki account).
Notasi untuk entitas pada diagram E-R
adalah menggunakan segiempat. Sedangkan relationship menggunakan simbol
diamond. Contoh:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOV5at800wrKpF_Dctll2-Zz9FbMZbE-ZNBasMCNRiTzc7RS85rfrUi55exgXSJKjzm3yHxsaUN_O0NwYNw90sznSMs866zO_LUyHA5jw4U1C9FNc3aK1bF-Kri9yVi4tkD3hLk0VoTfLF/s320/1.png)
4.2
Entitas dan Atribut
Atribut mendeskripsikan karakteristik
entitas dan atribut. Contoh: atribut entitas nasabah adalah nomor nasabah, nama
dan alamat. Pada diagram E-R, atribut digambarkan dengan lingkaran.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKlNJ-Hb12pb3tylFD1R1mpwd0anzw07P8k-C5BQ5KWP83gxbIfHmxv_ApgTfl-Xz90vHK20SK4kKWdqixJ_yYHtR8GiMZ3aKTj0ssD0uGrzNc6y-k29n466jvttDgZvfm5MAZaPZY-_KZ/s320/2.png)
Atribut utama yang menjadi pembeda satu
record dengan record lainnya disebut primary key. Pada gambar diatas “nomor”
adalah primary key entitas nasabah dan “nomor acc” adalah primary key account.
Pemilihan entitas dan relationship dalam
suatu domain masalah cenderung bersifat subyektif, setiap perancang database
dapat menghasilkan rancangan yang berbeda-beda.
Contoh: Nasabah memiliki atribut Alamat.
Alamat sendiri sebenarnya bisa dianggap sebagai suatu entitas dengan atribut
“Kode Pos” dan “Kabupaten/kota”. Sehingga diagram untuk entitas nasabah dapat
diubah menjadi:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjckwWWM-Hx7dIwC6xp7KtjYA52JckNjeQLpkMnix3aetCfcUKOpi-E9cukvrx09zjJXwJF7hkXHRYLHCSG2Rvsi-vT0r0hi3ldOaAfuhyphenhyphenUczUIXqnVZgnYGc3jALInSct-YVvmzz_ZbAo1/s320/3.png)
Mana yang paling benar? Apakah alamat
sebagai atribut ataukah alamat sebagai entitas?
Jawabannya tergantung pada domain masalah.
Jika alamat sebagai atribut (Gambar 2), berarti satu nasabah memiliki tepat
satu alamat. Sedangkan untuk alamat sebagai entitas (Gambar 3) , satu nasabah
dapat memiliki lebih dari satu alamat dan satu alamat dapat ditempati lebih
dari satu nasabah. Artinya solusi kedua cakupannya lebih luas dibandingkan yang
pertama.
Tetapi untuk atribut “Nama” yang menempel
kepada entitas “Nasabah” hal yang sama akan sulit dilakukan. Ini disebabkan
atribut “Nama” secara umum tidak dapat dianggap sebagai suatu entitas yang
terpisah.
4.3
Weak Entity dan Strong Entity
Strong entity adalah entitas yang berdiri
sendiri dan sedangkan weak entity adalah entitas yang bergantung kepada strong
entity. Weak entity akan bergantung kepada strong entity dalam
hubungan one to many.
Strong Entity memiliki primary key
sedangkan weak entity tidak memiliki atribut yang dapat dijadikan primary key.
Walaupun secara konsep tidak memiliki primary key, kita dapat menambahkan
discriminator untuk membedakan setiap record.
Contoh: catatan transaski sebuah account
adalah weak entity yang bergantung kepada account. Jika account dihapus maka
otomatis catatan transaksi account tersebut juga turut terhapus. Pada diagram
E-R, weak entity digambarkan dengan kotak dengan garis ganda.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkhj1a-kge-0oYhb2IoX4KFl33OQOB7ZJn6lVnTT7tJHpRyM_HvnnWv9Xt01mzW6qQWO0qY1Btpl0eXkZH8r80Py2RdGxbqUTIsQoyunlOJPNPd_uKV47gvQflL-1v0xCgUJBwxnXZVa2F/s320/4.png)
Atribut “Trans Number” berperan sebagai
discriminator untuk entitas transaksi.
Terlihat bahwa hubungan antar entitas account dan transaksi adalah one
to many. Artinya satu account bisa memiliki beberapa transaksi (debet, kredit,
bunga dst). Apa yang akan terjadi kalau hubungan antara account dan transaksi
adalah one to one? Pada kasus tersebut, entitas transaksi bisa digabung dengan
entitas account. Bagaimana jika hubungannya many to many? Silahkan menjadi
latihan.
Komentar
Posting Komentar