Pages

Thursday 2 May 2013

Pemetaan diagram ER ke skema relasional



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

 

Blogger news

Blogroll

About