3 Macam Relasi Tabel Database (Lengkap + Contoh)


Relasi pada tabel merupakan relasi atau hubungan antara tabel yang satu dengan yang lain pada database. Relasi ini sangat penting karena dapat meminimalisir adanya kesalahan mendesain database. Pembuatan relasi sangat mudah dilakukan yaitu dengan menggunakan 2 kolom pada tabel.

Seperti apa 2 kolom tersebut ?

2 kolom tersebut adalah kolom primary key atau sering disebut dengan kunci utama sedangkan yang satu lagi adalah kolom foreign key atau sering disebut kunci asing yang berada pada tabel lainnya. Kolom inilah yang akan digunakan dalam membangun relasi

Syarat foreign key & primary key : 
- Harus unik
- Tabel hanya boleh memiliki 1 primary key
- Tabel boleh memiliki lebih dari 1 foreign key
- foreign key digunakan untuk & membuat relasi antar tabel

Lalu bagaimana cara menentukan primary key & foreign key ?
Untuk lebih jelas mari kita lihat contoh berikut.
Kita membuat 2 tabel yang pertama adalah tabel 'mahasiswa' dan yang kedua adalah tabel 'matkul'. Bentuk tabel bisa dilihat seperti berikut.
Tabel mahasiswa
---------------------------
|nim|nama|alamat|id_matkul|
---------------------------
Tabel matkul
---------------------------------
|id_matkul|nama_matkul|sks|harga|
---------------------------------

primary key pada tabel mahasiswa : nim
primary key pada tabel matkul : id_matkul
foreign key pada tabel mahasiswa & matkul : id_matkul

jadi yang berelasi adalah kolom 'id_matkul' yang disebut dengan foreign key.

Nah contoh diatas menunjukan relasi Many to Many. Tentunya jenis relasi tidak hanya many to many, tapi ada yang lain. Apa saja jenisnya ? Ini dia

1. One to One

One to One

One to One


Seperti yang saya jelaskan diatas mengenai tabel mahasiswa dan tabel matkul, itu adalah contoh relasi one to one. Dengan kata lain relasi one to one terjadi jika ada data pada tabel A yang juga ada di tabel B sehingga mereka akan membentuk relasi.
Contoh :
Tabel mahasiswa
------------------------------
|nim|nama|alamat|id_orangtua |
------------------------------
|01 |A      |JKT   |1                |
------------------------------
|02 |B      |JKT   |2                |
------------------------------
|03 |C      |JGJ   |3                |
------------------------------
Tabel orangtua
-------------------------
|id_orangtua |nama|umur|
-------------------------
|1                |X      |50   |
-------------------------
|2                |Y      |60   |
-------------------------
|3                |Z      |60   |
-------------------------

Bisa dilihat bahwa 1 mahasiswa selalu memiliki id orang tua yang hanya satu juga. Jadi, 1 mahasiswa ya 1 orang tua. Tidak mungkin ada 2 atau lebih mahasiswa yang memiliki 1 orang tua (KECUALI JIKA SAUDARA, TAPI DALAM KASUS INI TIDAK ADA SAUDARA SAMA SEKALI).


2. One to Many

One to Many

One to Many


Relasi one to many adalah relasi yang terjadi dimana data pada tabel A mempunyai lebih dari 1 data yang sama pada tabel B.
Contoh :
Tabel mahasiswa
--------------------------------
|nim|nama|alamat|id_dosenwali|
--------------------------------
|01 |A     |JKT    |1                |
--------------------------------
|02 |B     |JKT    |2                |
--------------------------------
|03 |C     |JGJ     |1                |
--------------------------------
Tabel dosenwali
--------------------------
|id_dosenwali|nama|umur|
--------------------------
|1                  |X     |50   |
--------------------------
|2                  |Y     |60   |
--------------------------

Dari tabel diatas bisa dilihat bahwa satu dosenwali bisa menampung lebih dari 1 mahasiswa. seperti kita lihat mahasiswa dengan NIM 01 dan 03 memiliki dosen wali dengan id_dosenwali 1. Nah itulah yang disebut dengan relasi one to many atau many to one.

3. Many to Many

Many to Many

Many to Many


Relasi many to many adalah relasi dimana lebih dari 1 data pada tabel A bisa berelasi dengan lebih dari 1 data pada tabel B.
Contoh :
Tabel mahasiswa
----------------------------
|nim|nama|alamat|id_matkul|
----------------------------
|01 |A      |JKT   |1            |
----------------------------
|01 |A      |JKT   |2            |
----------------------------
|02 |B      |JKT   |2            |
----------------------------
|02 |B      |JKT   |1            |
----------------------------
Tabel matkul
-----------------------------------
|id_matkul|nama_matkul|sks|harga|
-----------------------------------
|1            |basdat           |3   |3      |
-----------------------------------
|2            |keamanan      |3   |3      |
-----------------------------------

Dari 2 tabel tersebut bisa kita lihat bahwa 1 mahasiswa bisa mengambil lebih dari 1 matkul. Sedangkan 1 matkul bisa diambil oleh lebih dari 1 mahasiswa. Jadi itulah yang disebut dengan many to many.

Contoh Nyata Penggunaan Relasi Dalam Database Rumah Makan


Anda bisa lihat bahwa relasi one to many disini banyak sekali digunakan.
Memang dalam membuat database kita harus benar-benar memikirkan apa yang dibutuhkan dalam perusahaan tersebut. Tidak ada patokan yang pasti dalam membuat desain database kita. Tapi yang jelas kita harus menempatkan setiap data pada tabel yang tepat !

Pernahkah Anda berpikir, mengapa kita tidak membuat database dalam 1 tabel saja ? Mau tau alasannya ? 

Yuk baca ini



Semoga bermanfaat bagi kita.. Dan jangan lupa share ya... :D

Posting Komentar

Post a Comment (0)

Lebih baru Lebih lama