Transformasi ERD ke Basis Data
Relasional
Untuk
membantu teman-teman maupun rekan-rekan baik umum maupun berstatus mahasiswa
yang ingin mempelajari dan mengenal lebih lanjut mengenai transformasi dari ERD
menjadi basis data relasional, saya coba untuk berbagi melalui tulisan di sini.
Akan tetapi untuk mempermudah anda memahami materi di bawah, anda harus telah
memahami terlebih dahulu mengenai basis data relasional, normalisasi dan ERD.
Semoga Allah membantu anda dengan memberi kemudahan untuk memahaminya.
Untuk
Apa dilakukan Transformasi
Model
Entity Relationship (ER) yang disajikan dengan Diagram ER (biasa disebut dengan
ERD) bukanlah sebuah basis data relasional. Keduanya merupakan dua hal yang
berbeda. Karena perbedaan tersebut maka diperlukan proses transformasi dari
sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel (atau
relasi) yang telah memenuhi standar normalisasi (paling tidak normalisasi
hingga tingkat 3NF). Rancangan basis data relasional hasil transformasi sendiri
bergantung kepada desain awal ERD yang telah dibuat. Apakah rancangan tersebut
nantinya akan baik dan maksimal dalam merumuskan kebutuhan aturan bisnis
perusahaan, serta memenuhi aturan integritas basis data relasional, bergantung
pada keahlian, ketelitian dan keberuntungan anda mendesain ERD tersebut.
Aturan
1 & 2 berbicara mengenai entity dan atribut.
Aturan
3 & 4 berbicara mengenai unary relationship.
Aturan
5 s/d 10 berbicara mengenai binary relationship.
Aturan
11 berbicara mengenai ternary relationship.
Aturan
12 berbicara mengenai weak entity.
Yang
anda harus ingat dan pahami dalam menggunakan 12 aturan transformasi ini,
yaitu:
Kerjakan
proses transformasi secara bertahap dan berurut dari aturan 1 sampai dengan 12.
Tidak
semuanya aturan harus dilakukan. Akan banyak sekali aturan-aturan yang
terlewati karena tidak memiliki ciri-ciri yang disebutkan oleh setiap aturan.
Telitilah
dalam melihat setiap relationship, terutama jika anda ingin mentransformasi
dari suatu ERD yang cukup besar.
Aturan
1 adalah aturan yang mutlak dilakukan.
Menurut
pengalaman saya, aturan yang paling sering digunakan adalah aturan 8 dan 10
karena memang ciri-ciri inilah yang paling sering muncul pada sebuah ERD. (Anda
akan lihat sendiri nanti)
Sekarang
mari kita membahas mengenai aturan transformasi tersebut satu persatu.
Aturan 1 – Entity dan Atribut
Simpel, Key & Composite
“Setiap
entity yang ada di ERD dibuatkan suatu relasi di mana relasi tersebut memuat
semua atribut key dan simple. Sedangkan untuk atribut composite, dibuatkan
atribut sesuai dengan komponen-komponennya saja.”
Buatkan
relasi-relasi untuk mewakilkan setiap entity yang ada pada ERD.
Atribut
key pada setiap entity, secara otomatis menjadi primary key pada relasi
bersangkutan.
Atribut
simple pada setiap entity, secara otomatis menjadi atribut-atribut baru pada
relasi bersangkutan.
Atribut
composite pada setiap entity, maka hanya komponen-komponen pada atribut
composite tersebut yang menjadi atribut di relasi bersangkutan.
Aturan 2 – Atribut Multivalue
“Setiap
relasi yang mempunyai atribut multivalue, maka dibuatkan sebuah relasi baru di
mana primary key-nya bertipe composite key. Primary key tersebut yaitu gabungan
dari Primary Key dari entity yang memiliki atribut multivalue dan nama atribut
multivalue itu sendiri.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari Primary Key dari Entity tersebut dan nama
Atribut multivalue itu sendiri.
Aturan 3 – Unary Relationship 1:N
“Setiap
unary relationship 1:N, pada relasi tersebut perlu ditambahkan suatu foreign
key yang menunjuk ke nilai primary key-nya.”
Pada
relasi yang mewakilkan entity yang dimaksud perlu ditambahkan sebuah atribut
yang bertindak sebagai foreign key.
Atribut
foreign key ini mengacu pada primary key milik relasi itu sendiri.
Sebagai
saran, untuk penamaan atribut foreign key di sini, gunakan penamaan yang tepat
yang dapat memberikan informasi apa nama primary key acuan dan alasan kenapa
mengacu pada primary key tersebut (biasanya adalah penamaan relationship unary
di ERD).
Aturan 4 – Unary Relationship M:N
“Setiap
Unary Relationship M:N, buatlah relasi baru dimana primary key-nya bertipe
composite key. Primary key tersebut yaitu gabungan dari dua atribut di mana
keduanya menunjuk ke primary key relasi awal dengan penamaan berbeda.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari dua atribut foreign key, yang kedua-duanya
mengacu pada primary key relasi awal.
Kedua
atribut foreign key yang menjadi primary key ini harus memiliki penamaan yang
berbeda. Penamaan ini biasanya mengacu kepada sebab terjadinya relationship
unary tersebut seperti: induk – anak atau head – detail.
Aturan 5 – Binary Relationship 1:1
dgn kedua sisi Total Participation Constrain
“Setiap
Binary Relationship 1:1, dimana kedua sisi Total Participation Constrain,
buatlah suatu relasi baru yang merupakan relasi gabungan dari kedua entity yang
be-relationship dan menghapus dua relasi lama, di mana primary key-nya pada
relasi baru tersebut dapat dipilih salah satu dari dua primary key relasi
awal.”
Buatkan
sebuah relasi baru.
Relasi
baru tersebut berupa gabungan dari dua relasi awal yang berarti semua
atributnya berasal dari dua relasi awal.
Kedua
relasi awal harus dihapus karena telah diwakilkan dengan relasi penggabungan
yang baru dibuat tersebut.
Primary
key untuk relasi baru ini dapat dipilih salah satu dari dua primary key relasi
awal yang digabungkan.
Aturan 6 – Binary Relationship 1:1
dgn satu sisi Total Participation Constrain
“Setiap
Binary Relationship 1:1 dan salah satu Participation Constrainnya total, maka
Primary key pada relasi yang Participation Constrainnya Partial menjadi Foreign
Key pada relasi yang lain.”
Pada
relasi yang bersisi total participation constrain, perlu ditambahkan sebuah
atribut yang bertindak sebagai foreign key.
Foreign
key ini mengacu pada Primary key di relasi yang bersisi partial participation
constrain.
Aturan 7 – Binary Relationship 1:1
dgn kedua sisi Partial Participation Constrain
“Setiap
Binary Relationship 1:1, dimana kedua Participation Constrainnya partial, maka
selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan
dari Primary Key kedua tipe Entity yang berelasi.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari dua primary key entitas yang berelasi.
Aturan 8 – Binary Relationship 1:N
dgn sisi N Total Participation Constrain
“Setiap
Binary Relationship 1:N, dimana tipe Entity yang bersisi N mempunyai
Participation Constrain Total, maka Primary Key pada relasi yang bersisi 1
dijadikan Foreign Key pada relasi yang bersisi N.”
Pada
relasi yang bersisi N, perlu ditambahkan sebuah atribut yang bertindak sebagai
foreign key.
Foreign
key ini mengacu pada Primary key di relasi yang bersisi 1.
Aturan 9 – Binary Relationship 1:N
dgn sisi N Partial Participation Constrain
“Setiap
Binary Relationship 1:N , di mana tipe Entity yang bersisi N mempunyai
Participation Constrain Partial, buatlah relasi baru di mana Primary Key-nya
merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari dua primary key entitas yang berelasi.
Aturan 10 – Binary Relationship M:N
“Setiap
Binary Relationship M:N, buatlah relasi baru dimana Primary Keynya merupakan
gabungan dari Primary key kedua tipe Entity yang berelasi.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari dua primary key entitas yang berelasi.
Aturan 11 – Ternary Relationship
Degree
“Setiap
Ternary Relationship, buatlah relasi baru dimana Primary Keynya merupakan
gabungan dari Primary Key ketiga Entity yang berelasi.”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari tiga primary key entitas yang berelasi.
Aturan 12 – Weak Entity
“Setiap
tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya di mana
Primary Key-nya adalah gabungan dari Partial Key dan Primary Key di relasi
induk (Identifying owner).”
Buatkan
sebuah relasi baru.
Relasi
baru ini memiliki primary key bertipe composite key (kunci gabungan).
Primary
key tersebut adalah gabungan dari partial key milik weak entity dan primary key
milik relasi induk.
Tidak ada komentar:
Posting Komentar