Model Entity Relationship (ER) yang disajikan dengan Diagram ER (biasa disebut dengan ERD) bukanlah sebuah basis data relasional. Karena itu, maka diperlukan proses transformasi dari sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel (atau relasi). Rancangan basis data relasional hasil transformasi sendiri bergantung kepada desain awal ERD yang telah dibuat.
Pada ERD terdapat 3 jenis relasi (relationship), yaitu One To One, One To Many, dan Many To Many.
a. Relasi One to One
Relasi tabel one-to-one (satu-satu) adalah relasi 2 tabel dengan primary key (pk) dan foreign key(fk). Ini dilakukan dengan meletakkan kolom one-to-one ke tabel baru. Sebetulnya relasi ini jarang digunakan. Namun ada beberapa alasan relasi ini digunakan :
o Memindahkan data ke tabel lain memungkinkan untuk membuat query yang lebih cepat.
o Mengisolasi dan menghindarkan nilai NULL pada tabel utama.
o Membuat sebagian data susah diakses.
Keterangan :
Tambahkan primary key pada setiap entitas ke setiap pasangan.
b. Relasi One To Many
Relasi One to Many (satu ke banyak) terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua. Pada relasi ini hanya diizinkan sebuah data pada tabel pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel pertama.
Keterangan :
Primary key pada tabel One akan menjadi foreign key pada tabel Many (nilai). Foreign key adalah sebuah kumpulan field dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua).
c. Relasi Many To Many
Relasi many to many (banyak ke banyak) terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua, dan sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama pada tabel pertama. Pada relasi ini, tabel pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua tabel tersebut.
Keterangan :
Pada relasi Many To Many ini tabel relasi akan dibuat menjadi tabel dan atributnya adalah primary key dari masing-masing tabel yang berelasi. Primary key pada tabel relasi akan menjadi foreign key.
Berikut contoh pada ERD :
Pada ERD terdapat 3 jenis relasi (relationship), yaitu One To One, One To Many, dan Many To Many.
a. Relasi One to One
Relasi tabel one-to-one (satu-satu) adalah relasi 2 tabel dengan primary key (pk) dan foreign key(fk). Ini dilakukan dengan meletakkan kolom one-to-one ke tabel baru. Sebetulnya relasi ini jarang digunakan. Namun ada beberapa alasan relasi ini digunakan :
o Memindahkan data ke tabel lain memungkinkan untuk membuat query yang lebih cepat.
o Mengisolasi dan menghindarkan nilai NULL pada tabel utama.
o Membuat sebagian data susah diakses.
Keterangan :
Tambahkan primary key pada setiap entitas ke setiap pasangan.
b. Relasi One To Many
Relasi One to Many (satu ke banyak) terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua. Pada relasi ini hanya diizinkan sebuah data pada tabel pertama dan tabel kedua boleh memiliki beberapa data yang sama dengan tabel pertama.
Keterangan :
Primary key pada tabel One akan menjadi foreign key pada tabel Many (nilai). Foreign key adalah sebuah kumpulan field dalam satu relasi yang digunakan untuk me“refer” (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua).
c. Relasi Many To Many
Relasi many to many (banyak ke banyak) terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua, dan sebuah data yang ada pada tabel kedua juga memiliki beberapa data yang sama pada tabel pertama. Pada relasi ini, tabel pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua tabel tersebut.
Keterangan :
Pada relasi Many To Many ini tabel relasi akan dibuat menjadi tabel dan atributnya adalah primary key dari masing-masing tabel yang berelasi. Primary key pada tabel relasi akan menjadi foreign key.
Berikut contoh pada ERD :
