Relasi pada tabel merupakan hubungan atau hubungan antara tabel yang satu dengan yang lain pada database. Relasi ini sangat penting sebab sanggup meminimalisir adanya kesalahan mendesain database. Pembuatan hubungan sangat gampang dilakukan yaitu dengan memakai 2 kolom pada tabel.
Seperti apa 2 kolom tersebut ?
2 kolom tersebut yaitu kolom primary key atau sering disebut dengan kunci utama sedangkan yang satu lagi yaitu kolom foreign key atau sering disebut kunci gila yang berada pada tabel lainnya. Kolom inilah yang akan dipakai dalam membangun relasi
Syarat foreign key & primary key :
- Harus unik
- Tabel hanya boleh mempunyai 1 primary key
- Tabel boleh mempunyai lebih dari 1 foreign key
- foreign key dipakai untuk & menciptakan hubungan antar tabel
Lalu bagaimana cara memilih primary key & foreign key ?
Untuk lebih terperinci mari kita lihat pola berikut.
Kita menciptakan 2 tabel yang pertama yaitu tabel 'mahasiswa' dan yang kedua yaitu tabel 'matkul'. Bentuk tabel sanggup dilihat menyerupai 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 yaitu kolom 'id_matkul' yang disebut dengan foreign key.
Nah pola diatas menerangkan hubungan Many to Many. Tentunya jenis hubungan tidak hanya many to many, tapi ada yang lain. Apa saja jenisnya ? Ini dia
1. One to One
![]() |
One to One |
Seperti yang saya jelaskan diatas mengenai tabel mahasiswa dan tabel matkul, itu yaitu pola hubungan one to one. Dengan kata lain hubungan one to one terjadi bila 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 mempunyai id orang bau tanah yang hanya satu juga. Jadi, 1 mahasiswa ya 1 orang tua. Tidak mungkin ada 2 atau lebih mahasiswa yang mempunyai 1 orang bau tanah (KECUALI JIKA SAUDARA, TAPI DALAM KASUS INI TIDAK ADA SAUDARA SAMA SEKALI).
2. One to Many
![]() |
One to Many |
Relasi one to many yaitu hubungan 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 sanggup dilihat bahwa satu dosenwali sanggup menampung lebih dari 1 mahasiswa. menyerupai kita lihat mahasiswa dengan NIM 01 dan 03 mempunyai dosen wali dengan id_dosenwali 1. Nah itulah yang disebut dengan hubungan one to many atau many to one.
3. Many to Many
![]() |
Many to Many |
Relasi many to many yaitu hubungan dimana lebih dari 1 data pada tabel A sanggup 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 sanggup kita lihat bahwa 1 mahasiswa sanggup mengambil lebih dari 1 matkul. Sedangkan 1 matkul sanggup diambil oleh lebih dari 1 mahasiswa. Kaprikornus itulah yang disebut dengan many to many.
Contoh Nyata Penggunaan Relasi Dalam Database Rumah Makan
Memang dalam menciptakan database kita harus benar-benar memikirkan apa yang diperlukan dalam perusahaan tersebut. Tidak ada patokan yang niscaya dalam menciptakan desain database kita. Tapi yang terperinci kita harus menempatkan setiap data pada tabel yang tepat !
Pernahkah Anda berpikir, mengapa kita tidak menciptakan database dalam 1 tabel saja ? Mau tau alasannya ?
Yuk baca ini
Semoga bermanfaat bagi kita.. Dan jangan lupa share ya... :D Sumber http://komputer67.blogspot.com