Relasi Antar Tabel Data Base
Definisi Relasi Antar Tabel
Relasi Tabel adalah hubungan antar tabel yang saling berhubungan antar objek tabel lainnya yang saling membutuhkan tabel satu dengan tabel lainnya, yang sama persis dengan dunia nyata antara datasatu dengan datalainnya, dan mengatur operasi-operasi database didalamnya. Relasi dapat di bentuk mencakup tiga macam relasi, yaitu:
- One to One yang artinya adalah setiap baris pertama dalam database dihubungkan dengan satu baris data tabel kedua, dan seterusnya, salasatu contoh database pendidikan yang mempunyai tabel mahasiswa dan tabel wali mahasiswa. Satu baris dari tabel mahasiswa dihubungkan dengan satu baris tabel wali mahasiswa bagitupun juga sebaliknya.
- One To Many yang artinya adalah satu baris pertama bisa dihubungkan ke satu baris tabel atau bisa dubungakn banyak baris tabel didalamnya, Artinya: ada banyak baris tabel satu dan tabel dua yang saling berhubungan satu sama lainnya. Sala satu contohnya yaitu relasi tabel mahasiswa dengan banyak baris tabel mata kuliah.
Sala satu definisi basis data di dalam postingan sebelumnya Basis Data terdiri atas tabel-tabel yang saling berhubungan. Secara intuitif, data dosen, mahasiswa dan kuliah DMK memang terasa berhubungan, tetapi dari struktur dan data yang terdapat pada ketiga tabel yang telah digambarkan di atas, keterhubungan (relasi) tersebut tidak terlihat secara fisik nyata. Karena itu, representasi struktur dan data dari ketiga tabel tersebut belumlah mencukupi untuk di nyatakan sebagai sebuah basis data.
Dengan demikian, untuk membentuk sebuah basis data, kita harus melengkapi ketiga tabel DMK itu dengan tabel lain yang merepresentasikan keterhubungan (Relasi) antar ketiganya. Berikut adalah data tambahan yang kita butuhkan untuk menunjukkan adanya keterhubungan (Relasi)antar tabel-tabel DMK tersebut:
Data Nilai, Dengan Data Sebagai Berikut:
Mata Kuliah | NPM | Nama Mahasiswa | Index Nilai |
Struk Data | 2017.02.01.0002 | Akbar | A |
Struk Data | 2017.02.01.0003 | Indah | B |
Basis Data | 2017.02.01.0004 | Ali | |
Basis Data | 2017.02.01.0005 | Budi | |
Basis Data | 2017.02.01.0008 | Susanti | |
Bahasa Indonesia | 2017.02.01.0009 | ali akbar | B |
Basis Data | 2017.02.01.0012 | Budi Haryanto | C |
Yang dapat disimpulkan dari data Nilai tersebut adalah:
- Data Nilai merepresentasikan adanya relasi antara data Mahasiswa dengan data Kuliah untuk menunjukkan mata kuliah yang di ambil/diikuti mahasiswa dan indeks nilai yang diperoleh mahasiswa untuk mata kuliah yang diikutinya.
- Seorang Mahasiswa dapat mengambil/mengikuti beberapa matakuliah atau tidak mengikuti kuliah apapun (Misalnya: mahasiswa bernama Ali Akbar mengambil/mengikuti 3 mata kuliah dan mahasiswa bernama Imam faizal yang tidak terlihat menunjukkan ia tidak mengikuti kuliah apapun).
- Satu kuliah bisa diikuti oleh beberapa mahasiswa (misalnya: matakuliah 'Struktur data' diikuti dua mahasiswa, 'Basis data' diikuti tiga mahasiswa, dan seterusnya).
- Tiga mata kuliah sudah mempunyai data indeks nilai dan ada satu mata kuliah 'Basis Data' belum mempunyai data indeks nilai (datanya masi kosong).
Baca Juga: Basis Data Model Data Relasional MDK
Data Jadual, dengan data sebagai berikut:
Mata Kuliah | Waktu | Tempat | Nama Dosen |
Struktur Data | Senin, 08.00 - 09.40 dan Kamis, 11.00 - 11.50 |
Ruang A | Dr. Umar Hakim |
Basis Data | Selasa, 08.00 - 09.40 dan Juma'at, 11.00 - 11.50 |
Ruang B | Dr. Umar Hakim |
Bahasa indonesia | Rabu, 09.00-10.50 | Ruang A | Dewi Sundari, MA |
Matetika | Rabu, 13.00 - 14.40 dan Jum'at, 14.00-14.50 |
Ir. Taufik Ismail | Ruang C |
Yang dapat disimpan dari data hadwal di atas adalah
- Data jadwal di atas mereoresentasikan adanya relasi antara data Kuliah dengan data dosen untuk menunjukkan nama dosen yang mangajar setiap mata kuliah ditambah dengan data waktu dan tempat pelaksanaan perkuliahannya.
- Setiap mata kuliah hanya dapat diajarkan oleh seorang dosen, namun seorang dosen boleh mengajar lebih dari satu matakuliah (Dr. Umar hakim mengajar dua matakuliah, tentu saja pada waktu yang berbeda).
Tanpa mempertimbangkan masalah efisiensi, data tambahan di atas dapat segera kita implementasikan. struktur dari kedua tabel tambahan tersebut dapat kita tatapkan sebagai berikut:
Tabel Nilai, dengan struktur:
Nama Kolom | Tipe | Lebar | Untuk menampung data |
nama_kul | character | 30 | nama setiap matakuliah |
nim | character | 6 | nomor induk mahasiswa |
nama_mhs | character | 30 | nama setiap mahasiswa |
indek_nilai | character | 1 | indeks mata kuliah yang di ambil mahasiswa |
Tabel Jadwal, dengan struktur:
Nama Kolom | Tipe | Lebar | Untuk menampung data |
nama_kul | character | 30 | nama setiap matakuliah |
waktu | character | 60 | waktu penyelenggaran kuliah |
tempat | character | 10 | tempat penyelenggaran kuliah |
nama_dos | character | 35 | nama setiap dosen |
Dan dengan adanya kedua tabel tambahan yang menunjukkan relasi antar tabel DMK sebelumnya, maka syarat minimal sebuah basis data telah terpenuhi. Tetapi sekali lagi perlu diperhatikan , persoalan utama dalam penerapan basis data bukanlah agar data yang kita miliki dapat segera kita simpan. Yang peling penting untuk dipikirkan justru bagaimana agar operasi-operasi selanjutnya (pencarian data, pengolahan data hingga penghapusan data) dapat kita lakukan dengan cepat dan mudah.