Pemetaan diagram ER ke
skema relasional
Sebelum
melakukan pemetaan maka Model E-R tersebut harus sudah lengkap terlebih dahulu.
Setelah lengkap baru kita melakukan proses pengubahan. Untuk Tipe Asosiasi satu
ke satu dan satu ke penambahan/peleburan atribut-atribut kesalahsatu Relasi.
Sedangkan untuk Tipe Asosiasi banyak ke banyak dilikakukan dengan cara
menambahkan Relasi baru sebagai penghubung.
Penggabungan
atau peleburan atribut key diantara dua entitas, akan sangat tergantung dari
tipe asosiasinya. Berikut adalah aturan untuk menentukan peleburan atribut :
1.
Jika Tipe Asosiasi adalah satu ke satu,
maka
atribut key (Primary Key) dapat digabungkan ke entitas pertama atau entitas
kedua.
2.
Jika Tipe Asosiasi adalah satu ke banyak,
maka
atribut key (Primary Key) digabungkan ke entitas yang menunjuk ke banyak.
3.
Jika Tipe Asosiasi adalah banyak ke banyak,
maka
atribut key (Primary Key) dari entitas kesatu dan entitas kedua digabungkan ke
Relasi baru sebagai penghubung.
Setelah
ER diagram dari suatu database dibuat, perlu dilakukan proses mapping ke skema
relasi agar database tersebut dapat diimplementasikan dengan relational DBMS
(RDBMS). Terdapat aturan untuk melakukan mapping (pemetaan) ER ke skema relasi.
Aturan pemetaan
1. Untuk setiap entitas skema relasi R yang menyertakan seluruh Simple Atribute dan Simple
Attribute dari Composite Attribute yang ada, pilih salah
satu atribut kunci sebagai Primary Key.
2. Untuk setiap Entitas Lemah, buatlah skema relasi R
dengan mengikutsertakan seluruh Simple
Attribute. Tambahkan Primary Key
dari entitas kuatnya (Owner Entity type) yang akan
digunakan sebagai Primary Key
bersama-sama Partial Key dari
Entitas Lemah (digabung).
3. Untuk setiap relasi binary 1:1,
tambahkan Primary Key dari sisi
yang lebih ”ringan” ke sisi
(entitas) yang lebih ”berat”.
Suatu sisi dianggap lebih ”berat”
timbangannya apabila mempunyai partisipasi
total. Tambahkan juga Simple
Attribute yang terdapat pada
relasi tersebut ke sisi yang lebih ”berat”.
4. Untuk setiap relasi
binary 1:N yang tidak melibatkan entitas lemah,
tentukan mana sisi yang lebih ”berat”.
Sisi dianggap lebih ”berat”
timbangannya adalah sisi-N.
Tambahkan Primary Key dari sisi
yang ”ringan” ke skema relasi
sisi yang lebih ”berat”.
Tambahkan juga seluruh simple attribute
yang terdapat pada relasi biner
tersebut.
5. Untuk setiap relasi
binary M:N, buatlah skema relasi
baru R dengan menyertakan seluruh
simple attribute yang terdapat pada
relasi biner tersebut. Tambahkan masing-masing primary key dari kedua sisi ke skema relasi R tersebut (sbg foreign key), lalu digabung menjadi satu membentuk Primary Key dari skema relasi R.
6. Untuk setiap Multivalued Attribute, buatlah skema
relasi R yang menyertakan atribut dari multivalue tersebut.
Tambahkan Primary Key dari
relasi yang memiliki multivalued tersebut. Kedua atribut tersebut membentuk Primary Key dari skema relasi R.
7. Untuk setiap relasi
n-ary dengan n>2, buatlah skema relasi R yang menyertakan seluruh Primary Key dari entitas yang ikut
serta. Sejumlah n Foreign Key tersebut akan membentuk Primary Key untuk skema relasi R.
Tambahkan seluruh Simple Attribute yang terdapat pada relasi n-ary tersebut.
Berikut
akan dijelaskan lebih rinci proses pengubahan Model E-R untuk setiap variasi
relasi menjadi menjadi skema relasional :
1. Relasi Biner
a)
Tipe Asosiasi satu ke satu
Relationship yang menghubungkan dua
buah Entitas dengan Tipe Asosiasi satu ke satu akan diimplementasikan dalam
bentuk penambahan/penyertaan atribut-atribut Entitas ke Relasi yang mewakili
salah satu dari kedua Entitas.
Contoh
jika entitas DOSEN berelasi dengan JURUSAN (1 ke1) Maka untuk Tipe asosiasi
satu ke satu akan selalu ada dua pilihan peleburan (dalam bentuk penyertaan
atribut kesalah satu Relasi). Untuk menetukan pilihan yang tepat kita perlu
melihat Tipe Asosiasi Minimum-nya.
Maka
Model Basis Data Relasional yang dihasilkan dari contoh diatas adalah menjadi :
Dosen
= (*KodeDos,AlamatDos)
Jurusan
=(*KodeJur,NamaJur,KodeDos)
b)
Tipe Asosiasi satu ke banyak
Untuk Relationship dengan Tipe Asosiasi
satu ke banyak, akan diimplementasikan dalam bentuk pemberian/pencantuman
atribut key dari Entititas yang berderajat satu ke Entitas yang berderajat
Banyak. Atribut key dari Entitas yang berderajat satu ini, menjadi atribut tambahan
bagi Entitas yang berderajat banyak.
Contoh
jika entitas DOSEN berelasidengan KULIAH (1 Ke n). Maka Output yang berupa
Model Basis Data Relasional-nya adalah sebagai berikut :
Dosen
=(*KodeDos,namaDos)
Kuliah
=(*KodeKul,sem,namakul,sks,KodeDos)
c)
Tipe Asosiasi banyak ke banyak
Pada
Tipe Asosiasi banyak ke banyak, akan diwujudkan dalam bentuk Relasi khusus yang
memiliki atribut yang berasal dari key-key dari kedua Entitas yang
dihubungkannya.
Contoh:
Jika entitas MAHASISWA berelasi dengan KULIAH (many to many) dengan
relationship MENGAJAR, maka Output yang berupa Model Basis Data Relasional yang
dihasilkan adalah sebagai berikut :
Mahasiswa
=(*nim,namamhs,alamatmhs)
Kuliah
= (*kodekul,sem,namakul,sks)
Mempelajari
=(nim,kodekul,indeksnilai)
2. Relasi Tunggal (Unary Relation)
Implementasi Relasi Tunggal dari/ke
Entitas yang sama akan tergantung pada Tipe Asosiasinya. Untuk Relasi Tunggal
dengan Tipe Asosiasi Satu Ke Banyak dapat diimplementasikan melalui penggunaan
atribut key dua kali tapi untuk fungsi yang berbeda. Contoh jika entitas DOSEN
berelasi dengan entitas DOSEN sendiri, maka Model Basis Data Relasional yang
dihasilkan adalah sebagai berikut :
Dosen
=(*KodeDos,NamaDos,KodeDosPendamping)
3. Relasi Multi Entitas
Secara umum, Relasi Multi Entitas
yang menghubungkan lebih dari dua Entitas akan
diimplementasikan
sebagai sebuah Relasi khusus di tambah dengan Relasi yang berasal dari Entitas
yang ikut terlibat.
Contoh
Entitas yang terlibat DOSEN,RUANG dan KULIAH, untuk mendapatkan Model Basis
Data Relasionalnya, maka akan dilakukan proses sebagai berikut :
(a)
Jika Tipe Asosiasi Entitas I Ke Entitas II adalah satu ke banyak dan tipe asosiasi
entitas III ke entitas II adalah satu ke banyak, maka atributatribut dilekatkan
ke entitas II.
(b)
Jika Tipe Asosiasi Entitas II Ke Entitas I adalah satu ke banyak dan tipe asosiasi
entitas III ke entitas I adalah satu ke banyak, maka atribut-atribut dilekatkan
ke entitas I
(c)
Jika Tipe Asosiasi Entitas I Ke Entitas III adalah satu ke banyak dan tipe
asosiasi entitas II ke entitas III adalah satu ke banyak, maka atribut-atribut
dilekatkan ke entitas III
(d)
Jika ketiga syarat di atas tidak dipenuhi maka akan dibuat Relasi khusus.
Keempat
proses diatas akan ditambah dengan Relasi dari entitas yang lainnya yaitu yang
ikut terlibat. Untuk Contoh diatas maka Model Basis Data Relasionalnya adalah
sebagai berikut :
Dosen
= (*KodeDos,alamatDos)
Ruang
=(*koderuang,namaruang,kapasitas)
Kuliah
=(*kodekul,sem,namakul,sks,KodeDos,kode ruang)
4. Relasi Ganda
Untuk
Relasi Ganda, dalam proses pengubahnnya sama, yaitu tergantung Tipe
Asosiasinya.
Model
Basis Data Relasional-nya adalah sebagai berikut :
Dosen
= (*KodeDos,NamaDos)
Kuliah
= (*kodekul,sem,KodeDos)
Menguasai
= (KodeDos,kodekul)
5. Agregasi
Agregasi sebenarnya dapat
dipandang sebagaimana Relasi pada umumnya. Karena Relasi ini dibentuk dari
Relasi lain yang secara kronologis lebih dulu terbentuk, maka pengimplementasiannya
juga harus dilakukan setelah Relasi prasyarat tersebut terimplementasikan.Untuk
selanjutnya kita tinggal meninjau Tipe Asosiasinya. Model Basis Data Relasional
untuk contoh diatas adalah sebagai berikut :
Mahasiswa
= (*Nim,Nama)
Kuliah
= (*KodeKul,NamaKul)
Praktikum
=(*kodepra,namapra,Jml_jam)
Mempelajari
= (Nim,KodeKul)
Mengikuti
=(Nim.KodeKul,KodePra,nilai)
No comments:
Post a Comment