Kamis, 23 Februari 2023

Relasi

 

Pengertian

Relasi pada database merupakan sebuah hubungan antar objek dalam suatu database. Objek tersebut, biasanya berupa suatu row data dalam suatu tabel di dalam database. Hibungan ini, biasanya mewakili antara objek induk dengan objek anaknya. Untuk menghubungkan kedua objek tersebut, diperlukan key untuk dapat saling terhubung.

Untuk objek induk, key dinamakan sebagai primary key. Sedangkan untuk objek anak, key dinamakan sebagai foreign key. Sebagai contoh, misalkan objek merupakan hubungan antara guru dengan siswa. Maka, guru merupakan objek induk dan memiliki primary key, sedangkan siswa merupakan objek anaknya yang memiliki foreign key. Ada 3 jenis dari relasi database yaitu: relasi one-to-one, relasi one-to-many, dan relasi many-to-many.

 

Jenis-jenis

Relasi One-to-One: Relasi one-to-one adalah jenis relasi yang dapat digunakan untuk menghubungkan table dengan table lainnya yang memiliki satu record.

Relasi One-to-Many: Relasi one-to-many digunakan untuk menghubungkan 2 buah tabel dimana tabel pertama memiliki 1 record sedangkan tabel kedua memiliki banyak record.

Relasi Many-to-Many: Relasi many-to-many digunakan untuk menggunakan 2 buah tabel dimana kedua tabel sama-sama memiliki lebih dari satu record yang dapat terhubung.

 

Manfaat

● Memungkinkan untuk mengorganisir, menyimpan, mengelola data secara efisien dan terstruktur

● Menjamin integritas data, yaitu kesesuaian antara data yang terdapat pada tabel-tabel dalam database dengan aturan atau kriteria yang terlag ditetapkan

● Mempermudah proses pengambilan keputusan karena data yang disimpan di dalam database dapat dengan mudah diolah dan analisis

● Mempercepat proses akses dan pemprosesan data

 

Contoh

Relasi One-to-One



Sebagai contoh, koneksi antara kostumer dengan alamatnya. Pada relasi ini, masing-masing tabel hanya memiliki 1 record yang saling terhubung dimana 1 kostumer hanya memiliki 1 kostumer detail seperti yang terlihat pada tabel di bawah ini.

Dari tabel di atas, dapat divisualisasikan relasi antara kostumer dan address seperti pada gambar di bawah ini.


Relasi One-to-Many



Contoh dari koneksi One-to-Many adalah pada desain customer dengan order dimana satu customer bisa mengorder lebih dari satu kali. Sebagai contoh, dapat dilihat seperti pada tabel di bawah.

Dari tabel di atas, dapat divisualisasikan relasi antara kostumer dan order seperti pada gambar di bawah ini.


 

 

Relasi Many-to-Many

Contoh adalah hubungan antara order dengan item, dimana dalam satu kali order dapat mengambil lebih dari 1 item. Sebagai contoh, dapat dilihat seperti pada tabel di bawah.


Dari tabel di atas, dapat divisualisasikan relasi antara kostumer dan order seperti pada gambar di bawah ini.





Normalisasi

Pengertian

Normalisasi pada database merupakan sebuah proses yang dilakukan untuk melakukan pengelompokkan atribut beberapa kumpulan data yang membentuk sebuah entitas secara sederhana, bersifat fleksibel, non redundan, dan mudah untuk melakukan adaptasi. Dengan menggunakan normalisasi, maka data akam memiliki kualitas yang baik serta bisa dipertanggung jawabkan dengan benar. Bentuk dari normalisasi database terdiri dari 9 bentuk pada ilmu basis data, diantaranya adalah : 1NF, 2NF, 3NF, EKNF, BCNF, DKNF, 4NF, 5NF, 6NF.

 

Jenis-Jenis

First Normal Form (1NF): Aturan ini mengharuskan setiap kolom dalam tabel hanya berisi nilai atomik atau nilai yang tidak dapat dibagi lagi menjadi bagian yang lebih kecil. Dengan kata lain, setiap kolom hanya boleh berisi satu nilai tunggal, bukan gabungan beberapa nilai.

Second Normal Form (2NF): Aturan ini memastikan bahwa setiap kolom yang bukan kunci utama dalam tabel memiliki ketergantungan fungsional penuh pada kunci utama. Dengan kata lain, jika sebuah tabel memiliki kunci utama yang terdiri dari beberapa kolom, maka setiap kolom dalam tabel harus bergantung pada seluruh kunci utama, bukan hanya sebagian.

Third Normal Form (3NF): Aturan ini memastikan bahwa setiap kolom dalam tabel hanya bergantung pada kunci utama atau kolom lain yang memiliki ketergantungan fungsional penuh pada kunci utama. Dengan kata lain, setiap kolom dalam tabel hanya boleh berisi informasi tentang objek atau entitas yang direpresentasikan oleh kunci utama atau kolom lain dalam tabel.

Boyce-Codd Normal Form (BCNF): Aturan ini merupakan perluasan dari 3NF, yang mengharuskan bahwa setiap kolom non-kunci memiliki ketergantungan fungsional penuh pada kunci utama, tidak hanya sebagian.

Fourth Normal Form (4NF): Aturan ini memastikan bahwa tidak ada ketergantungan multivalue (hubungan banyak-ke-banyak) di antara kolom dalam tabel.

Fifth Normal Form (5NF): Aturan ini juga dikenal sebagai normalisasi proyeksi-join, yang menghilangkan redundansi data melalui penggunaan tabel-tabel virtual (view) dan hubungan join di antara tabel-tabel tersebut.

 

Manfaat

Naturalisasi digunakan untuk meningkatkan integritas data dan efisiensi operasi database. Naturalisasi dapat dilakukan dengan mengikutu sejumlah aturan normalusasi hingga normalisasi tinggi. Dengan pemanfaatan naturalisasi meminimalisir terjadinya kemungkinan duplikasi data dan kerentanan terhadap kesalahan pemprosesan data.

 

 Contoh

Misalkan ada sebuah perusahaan yang ingin menyimpan data karyawan, di mana setiap karyawan memiliki beberapa informasi seperti nama, alamat, nomor telepon, tanggal lahir, dan departemen tempat bekerja. Tabel awal (belum di-normalisasi) mungkin terlihat seperti ini:


Tabel ini tidak ter-normalisasi karena setiap baris (rekord) dalam tabel berisi banyak informasi tentang karyawan, dan beberapa kolom memiliki nilai yang berulang (seperti Departemen). Untuk menormalisasikan tabel ini, kita dapat memisahkan data ke dalam beberapa tabel dengan aturan 3NF. Berikut adalah contoh tabel yang telah dinormalisasikan:\

 

Tabel karyawan

Tabel Departemen


 

Tabel Karyawan_Departemen


 

Tabel Karyawan_Departemen adalah tabel penghubung (junction table) yang menghubungkan antara karyawan dan departemen tempat bekerja. Dengan cara ini, setiap tabel hanya berisi informasi tentang satu entitas atau objek, sehingga setiap data hanya disimpan sekali dan dapat dihubungkan dengan tabel lain menggunakan kunci asing. 




RESTful API

RESTful API adalah salah satu jenis arsitektur API (Application Programming Interface) yang sering digunakan dalam pengembangan aplikasi web...