Anda di halaman 1dari 8

PEMETAAN ER KE RELASIONAL

Skema relasional yang ditunjukan dalam Gambar 2 diperoleh dari skema ER pada Gambar 1 dengan
mengikuti prosedur pemetaan umum. Untuk ilustrasi tiap langkah akan dipakai contoh skema
PERUSAHAAN. Ingat bahwa konsep penting dari model E-R adalah tipe entitas (regular dan lemah),
tipe relationship dengan derajat-derajat yang berbeda (unari, binary, dan ternary), atribut-atribut
(sederhana, bernilai banyak, dan komposit).
Kota
Jalan No

Nama Alamat
a BEKERJA_UNTUK
NoPeg TglLhr
Jk DEPARTEMEN

PEGAWAI MENGELOLA
Gaji
MENGENDALIKAN
JamKerja
MENGAWASI
BEKERJA_PADA PROYEK

1 N
MENANGGUNG TANGGUNGAN
N TEMEN
1 JK
Nama TglLhhr Hubungan
a Nama

Gambar 1: Diagram E-R Database PERUSAHAAN


Skema relasional yang ditunjukan dalam Gambar 2 diperoleh dari diagram E-R pada Gambar 1
dengan mengikuti prosedur pemetaan umum. Untuk ilustrasi tiap langkah akan dipakai contoh
skema PERUSAHAAN.

Langkah 1: Untuk setiap tipe entitas regular E dalam skema ER, kita membuat suatu relasi R
dengan memasukan semua atribut sederhana yang ada pada E. Untuk atribut komposit kita
memasukan komponen-komponen sederhana dari atribut komposit tersebut. Kita memilih satu dari
atribut-atribut kunci atau key dari E sebagai kunci utama atau primary key dari E. Jika kunci E yang
terpilih komposit maka kumpulan atribut sederhana yang membentuknya akan secara bersama-
sama membentuk kunci utama R.

Pada contoh ini, kita membuat relasi PEGAWAI, DEPARTEMEN, dan PROYEK dalam Gambar 2
bersesuaian dengan tipe entitas regular PEGAWAI, DEPARTEMEN, dan PROYEK. Kita memilih NoPeg,
NoDep, dan NoPro sebagai kunci utama berturut-turut untuk relasi PEGAWAI, DEPARTEMEN, dan
PROYEK.

PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji]
k.u

DEPARTEMEN
[NamaDep, NoDep]
k.u

PROYEK
[NamaPro, NoPro, Lokasi]
k.u
Langkah 2: Untuk setiap tipe entitas lemah L dalam diagram ER dengan tipe entitas pemilik E, kita
membuat suatu relasi R dan memasukan semua atribut sederhana (atau komponen-komponen
sederhana dari atribut komposit) dari L sebagai atribut-atribut R. Disamping itu, kita memasukan
sebagai atribut kunci asing atau foreign key dari R, atribut kunci utama dari relasi yang bersesuaian
dengan tipe entitas pemilik E. Ini untuk mengatasi identifikasi tipe relationship L. Kunci utama dari
R ialah kombinasi dari kunci utama dari pemilik dan kunci parsial dari tipe entitas lemah L.

Pada contoh, kita membuat relasi TANGGUNGAN pada langkah ke-2 ini bersesuaian dengan tipe
entitas lemah TANGGUNGAN. Kita memasukan kunci utama relasi PEGAWAI – bersesuaian dengan
tipe entitas pemilik – sebagai atribut TANGGUNGAN. Kunci utama dari relasi TANGGUNGAN ialah
kombinasi [NoPeg,NamaTanggungan] karena NamaTanggungan merupakan kunci parsial dari
TANGGUNGAN.

TANGGUNGAN
[NoPeg, NamaTanggungan, Jk, TglLhr, Hubungan]
k.u

Langkah 3: Untuk setiap relationship bineri 1:1 R dalam skema ER, kita mengidentifikasi relasi S
dan T yang bersesuaian dengan tipe-tipe entitas yang berpartisipasi dalam R. Kita memilih satu
relasi, misal S, dan memasukan kunci utama dari T sebagai kunci asing dalam S. Lebih baik
memilih relasi dengan partisipasi obligasi dalam R. Kita memasukan semua atribut sederhana (atau
komponen-komponen sederhana dari atribut komposit) dari tipe relationship biner 1:1 R sebagai
atribut-atribut S.

Pada contoh, kita memetakan tipe relationship 1:1 MENGELOLA dari Gambar 1 dengan memilih tipe
entitas DEPARTEMEN berperan sebagai S karena partisipasinya obligasi dalam relationship
MENGELOLA (yakni, setiap departemen memiliki manajer). Kita memasukan kunci utama dari relasi
PEGAWAI sebagai kunci asing dalam relasi DEPARTEMEN dan memberi nama ulang atribut ini
menjadi NoPegMjr. Kita juga memasukan atribut sederhana TglMulai dari tipe relationship
MENGELOLA ke dalam relasi DEPARTEMEN dan memberi nama ulang atribut ini menjadi
TglMulaiMjr, sehingga relasi DEPARTEMEN menjadi

DEPARTEMEN
[NamaDep, NoDep, NoPegMjr, TglMulaiMjr]
k.u k.a

Perhatikan bahwa pemetaan alternatif untuk suatu tipe relationship 1:1 ialah dengan
menggabungkan dua tipe entitas dan relationship menjadi satu relasi. Hal ini tepat ketika kedua
tipe entitas memiliki partisipasi obligasi dan ketika tipe-tipe entitas ini tidak berpartisipasi dengan
tipe relationship yang lainnya.

Langkah 4: Untuk setiap tipe relationship biner 1:n regular (bukan lemah) R, kita mengidentifikasi
relasi S yang merepresentasi tipe entitas pada sisi-N dari tipe relationship tersebut. Kita
memasukan sebagai kunci asing, kunci utama dari relasi T yang merepresentasi tipe entitas lainnya
yang berpartisipasi dalam R. Ini karena tipa instansi entitas pada sisi-N terhubung ke paling banyak
satu instansi entitas pada sisi-1 dari tipe relationship.

Sebagai contoh, pada tipe relationship 1:N BEKERJA_UNTUK, tiap pegawai terhubung ke satu
departemen. Kita memasukan atribut-atribut sederhana (atau komponen-komponen sederhana dari
atribut komposit) dari tipe relationship 1:N sebagai atribut-atribut S.

Sekarang kita memetakan tipe relationship 1:N BEKERJA_UNTUK dan SUPERVISI dari Gambar 1.
Untuk BEKERJA_UNTUK kita memasukan kunci utama dari relasi DEPARTEMEN sebagai kunci asing
dalam relasi PEGAWAI dan memberinya nama NomorDep. Untuk SUPERVISI kita memasukan kunci
utama dari relasi PEGAWAI sebagai kunci asing dalam relasi PEGAWAI itu sendiri dan memberinya
nama NoPegSpv. Relationship KONTROL dipetakan dengan cara yang sama. Relasi PEGAWAI
menjadi
PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji, NomorDep, NoPegSpv]
k.u k.a k.a

Langkah 5: Untuk tiap relationship biner M:N R, kita membuat suatu relasi baru S untuk
merepresentasi R. Kita memasukan, sebagai atribut kunci asing dari S, kunci utama dari relasi-
relasi yang merepresentasi partisipasi tipe-tipe entitas. Kombinasi kunci-kunci utama ini
membentuk kunci utama dari S. Kita juga memasukan atribut-atribut sederhana (atau komponen-
komponen sederhana dari atribut komposit) sebagai atribut-atribut S.

Perhatikan bahwa kita tidak dapat merepresentasikan suatu tipe relationship lemah dengan satu
atribut kunci asing pada satu dari relasi-relasi yang turut serta dalam relationship – seperti kita
lakukan untuk tipe relationship 1:1 atau 1:N – karena kardinalitas M:N.

Pada contoh kasus ini kita memetakan tipe relationship M:N BEKERJA_PADA dari Gambar 1 dengan
membuat relasi BEKERJA_PADA. Kita memasukan kunci utama dari relasi PROYEK dan PEGAWAI
sebagai kunci asing dalam BEKERJA_PADA dan menamakan kembali masing-masing menjadi
NoProyek dan NomorPeg. Kita juga memasukan atribut JamKerja dalam BEKERJA_PADA. Kunci
utama dari relasi BEKERJA_PADA ialah kombinasi atribut-atribut kunci asing (NoP, NoProyek).

BEKERJA_PADA
k.a k.a
[NoP, NoProyek, JamKerja]
k.u

Amati bahwa kita selalu dapat memetakan relationship 1:1 atau 1:N dengan cara yang sama
dengan relationship M:N. Alternatif ini khusus bermanfaat ketika terdapat sedikit instansi
relationship dan menghindari nilai null pada kunci asing.
Langkah 6: Untuk tiap atribut bernilai banyak A, kita membuat suatu relasi baru R yang
memasukan suatu atribut yang bersesuaian dengan A ditambah atribut kunci utama K dari relasi
yang merepresentasi tipe entitas atau tipe relationship yang memiliki A sebagai atribut. Kunci
utama dari R adalah kombinasi A dan K. Jika atribut bernilai banyak ini komposit, kita memasukan
komponen-komponen sederhananya.

Pada contoh, kita membuat relasi LOKASI_DEP. Atribut Lokasi merepresentasi atribut bernilai
banyak Lokasi dari DEPARTEMEN, sementara NoDep – sebagai kunci asing – merepresentasi kunci
utama dari relasi DEPARTEMEN. Kunci utama dari LOKASI_DEP ialah kombinasi dari (NoDep,
Lokasi). Tupel terpisah akan muncul untuk setiap lokasi yang dimiliki oleh suatu departemen.

LOKASI_DEP
[NoDep, Lokasi]
k.u

Keseluruhan hasil pemetaan database PERUSAHAAN menjadi sebagai berikut:

PEGAWAI
[NamaPeg, NoPeg, TglLhr, Jk, Alamat, Gaji, NomorDep, NoPegSpv]
k.u k.a k.a

DEPARTEMEN
[NamaDep, NoDep, NoPegMjr, TglMulaiMjr]
k.u k.a

PROYEK
[NamaPro, NoPro, Lokasi, NoDep]
k.u k.a
LOKASI_DEP
[NoDep, Lokasi]
k.u

BEKERJA_PADA
k.a k.a
[NoP, NoProyek, JamKerja]
k.u

TANGGUNGAN
[NoPeg, NamaTanggungan, Jk, TglLhr, Hubungan]
k.u

Anda mungkin juga menyukai