Relasi merujuk pada hubungan antara dua atau lebih tabel yang saling terkait. Hubungan ini didefinisikan dengan menggunakan Foreign Key dan Primary Key.
Primary Key adalah atribut (atau beberapa atribut) dalam sebuah tabel yang memiliki nilai unik untuk setiap rekaman dalam tabel tersebut. Foreign Key, di sisi lain, adalah atribut dalam tabel lain yang merujuk ke Primary Key dalam tabel pertama. Dengan menggunakan Foreign Key dan Primary Key, kita dapat membuat relasi antara tabel-tabel dalam database.
Dengan adanya relasi ini, kita dapat melakukan query atau mengambil data dari kedua tabel dengan cara yang terkait satu sama lain. Misalnya, kita dapat menemukan semua pesanan yang dilakukan oleh pelanggan tertentu atau menemukan informasi tentang pelanggan yang membuat pesanan tertentu.
Dalam database relasional, relasi antara tabel-tabel adalah salah satu elemen penting untuk mengorganisasi dan memanipulasi data dengan efisien. Hal ini memungkinkan kita untuk menghubungkan dan menggabungkan informasi dari beberapa tabel dengan cara yang konsisten dan terstruktur.
Tujuan Relasi Tabel
Tujuan dari menggunakan relasi dalam database relasional adalah untuk menghubungkan dan mengatur informasi dalam tabel-tabel yang saling terkait sehingga dapat digunakan dengan lebih efisien dan akurat. Beberapa tujuan spesifik dari penggunaan relasi dalam database relasional antara lain :
Meningkatkan efisiensi dalam memanipulasi data : Dengan menggunakan relasi antara tabel-tabel, kita dapat melakukan operasi join untuk menggabungkan informasi dari beberapa tabel dengan cepat dan efisien, daripada melakukan beberapa query yang terpisah.
Meningkatkan akurasi dan konsistensi data : Dengan memanfaatkan Foreign Key dan Primary Key, kita dapat menjamin bahwa informasi yang saling terkait antara tabel-tabel tersebut konsisten dan akurat. Jika sebuah nilai Primary Key diubah, misalnya, maka nilai Foreign Key yang terkait dengan nilai tersebut juga akan diubah secara otomatis, sehingga tidak ada informasi yang “tersesat” atau hilang di dalam database.
Meningkatkan fleksibilitas dalam desain database : Dengan menggunakan relasi antara tabel-tabel, kita dapat memecah informasi menjadi beberapa tabel terkait yang lebih kecil dan lebih terorganisir. Hal ini memungkinkan kita untuk mengelola dan memanipulasi informasi dengan lebih fleksibel dan efisien, terutama ketika data yang ada semakin kompleks.
Meningkatkan keamanan dan privasi data : Dengan menggunakan relasi antara tabel-tabel, kita dapat memberlakukan hak akses dan pengaturan keamanan data yang lebih terperinci dan spesifik pada tiap tabel. Hal ini memungkinkan kita untuk mengontrol akses data dan menjaga privasi informasi sensitif, seperti data karyawan atau data pelanggan, dengan lebih baik.
Dengan demikian, penggunaan relasi dalam database relasional adalah penting dalam mengoptimalkan pengelolaan dan penggunaan informasi dalam sebuah sistem database. Dengan pengaturan yang tepat, relasi dapat meningkatkan efisiensi, akurasi, fleksibilitas, dan keamanan data dalam sebuah database.
Jenis - Jenis Relasi
Terdapat 3 macam relasi tabel yang umum dan sering kita jumpai saat merancang atau membuat database supaya database tersebut terlihat baik, antara lain :
Relasi One-to-One
Relasi one-to-one dalam database adalah hubungan antara dua tabel dimana setiap baris pada tabel pertama hanya berkaitan dengan satu baris pada tabel kedua, dan setiap baris pada tabel kedua hanya berkaitan dengan satu baris pada tabel pertama. Dalam hal ini, Primary Key (primary key) pada satu tabel dapat dijadikan sebagai foreign key pada tabel yang lain.
Contoh relasi one-to-one :
Dari gambar tersebut tabel Mahasiswa memiliki relasi one to one dengan tabel jurusan, sebagai contoh terdapat Mahasiswa bernama Andi dengan alamat Subang serta sebagai Mahasiswa jurusan Teknik Informatika.
A: Bang kenapa nggak langsung aja kasih kolom jurusan di tabel Mahasiswa? ribet amat, kayak gini nih bang
B: Gak bisa gitu bro, pemberian tabel jurusan di gunakan supaya data lebih dinamis dan seragam di tiap Mahasiswa, bayangin nih kalo ada perubahan nama misal kata Teknik Informatika diganti jadi Informatika, kalo gitu lu pasti harus ngerubah semua baris Mahasiswa, cape.
Relasi One-to-Many
Relasi one-to-many adalah jenis relasi antara dua tabel dalam database di mana satu baris pada tabel pertama berkaitan dengan satu atau lebih baris pada tabel kedua. Relasi ini juga dikenal dengan sebutan relasi one-to-multiple.
Contoh relasi one-to-many :
Di atas adalah hubungan antara tabel Mahasiswa dan tabel Mata Kuliah, dimana 1 Mahasiswa memiliki beberapa Mata Kuliah. Misalnya, Mahasiswa bernama Andi memiliki 2 Mata Kuliah yang harus diikuti yaitu Database, dan Linux.
Relasi Many-to-Many
Relasi Many to Many adalah relasi dimana setiap lebih dari satu baris data dari tabel A berhubungan dengan lebih dari satu baris data pada tabel B. Artinya, kedua tabel masing-masing dapat mengakses banyak data dari tabel yang direlasikan. Maka dari itu, relasi Many to Many butuh tabel C sebagai perantara tabel A dan tabel B
Sebagai contoh kali ini kita akan menggunakan case yang berbeda dari sebelumnya, yaitu dengan case tabel penjual :
Pada gambar diatas, beberapa penjual memiliki hubungan dengan beberapa kategori. misal penjual A kategori Makanan dan Minuman, sedangkan penjual B kategorinya adalah Minuman saja. jika dibuat relasinya One to One atau One to Many akan kesusahan. maka dari itu butuh tabel perantara yang bernama penjual_kategori sebagai pengubung tabel penjual dan tabel kategori.
Pada dasarnya relasi Many to Many merupakan gabungan dari dua relasi One to Many. Sebagai contoh tabel penjual memiliki relasi one to many dengan tabel penjual kategori dan tabel kategori memiliki relasi one to many ke tabel penjual kategori.