Ketika memaintain data pada database, operasi Create, Read, Update, dan Delete (CRUD) adalah operasi yang paling sering digunakan. Yang akan dibahas kali ini adalah bagian Delete atau menghapus data. Terdapat dua pendekatan untuk menghapus data pada database, yaitu Hard Delete dan Soft Delete. Masing-masing pendekatan memiliki kelemahan dan keunggulan tersendiri…
Pada Update Anomaly, selain Lost Updates (Single Anti-Dependency Cycle) juga ada Write Skew. Write Skew adalah anomaly yang terjadi ketika keputusan untuk mengubah data diambil dari pembacaan dan perubahan sebelumnya yang dilakukan secara serentak oleh lebih dari satu sesi sehingga antar sesi tidak mengetahuinya dan terjadi hal yang tidak diinginkan pada data…
Pada tulisan tentang Normalisasi Database, gw ada sedikit membahas tentang Primary Key. Nah, di sini gw akan membahas lebih dalam lagi macam-macam pendekatan untuk menentukan Primary Key. Secara umum pendekatan yang digunakan untuk menentukan Primary Key yaitu menggunakan Candidate Key, Auto-Increment Key, UUID Key, dan ULID Key. Masing-masing pendekatan tentu…
Di tulisan Isolation pada ACID kita membahas tentang Read Phenomena, kali ini pembahasannya tentang Update Anomaly. Read Phenomena adalah fenomena selisih pembacaan data pada suatu sesi karena ada perubahan oleh sesi lain secara bersamaan. Sedangkan Update Anomaly adalah anomaly hasil perubahan data yang dilakukan pada suatu sesi karena sesi lain juga melakukan…
Isolation adalah kemampuan database untuk menghandle transaksi yang dilakukan lebih dari satu sesi secara bersamaan. Isolation adalah bahasan paling kompleks dibanding keyword ACID lainnya. Pada beberapa bahasa pemrograman atau framework by default Isolationnya mengikuti default Isolation dari database, tapi kita juga bisa mengganti Isolationnya pada masing…
ACID adalah standar operasional transaksi pada database untuk menjamin validitas data meskipun terjadi crash atau error pada system. ACID merupakan aspek yang sangat penting pada transaksi di database untuk memastikan data yang disimpan benar, terpercaya, tanpa anomaly meskipun digunakan secara serentak atau mengalami gangguan pada system. ACID berasal dari…
Mungkin ketika kuliah kita udah sering mendengar kata index pada database. Harusnya pada saat materi database dasar ada materi tentang index. Index pada database berguna untuk mempercepat pencarian data agar database tidak perlu melakukan full scan data. Awalnya memang ga bakal terasa efeknya. Apalagi ketika jumlah data yang disimpan masih sedikit. Dampaknya baru…
Database Normalization adalah proses strukturisasi data dalam rangka mengurangi Data Redundancy dan meningkatkan Data Integrity. Data Redundancy adalah pengulangan data yang sama sehingga beresiko terhadap kesalahan penginputan. Data Integrity adalah data yang mudah dimaintain, akurat, dan konsisten. Kali ini kita akan melakukan normalisasi data dari yang belum…
Lanjutan seri tentang Dynamic Query kali ini gw menggunakan library pihak ketiga. Seperti yang sudah dibahas sebelumnya, kita bisa menggunakan library pihak ketiga untuk melakukan dynamic query. Salah satu yang cukup populer adalah QueryDSL. Ini sebenarnya add-ons saja. Dia bisa men-generate query menggunakan native query, JPQL, atau specific bahasa tertentu…
Java Persistence Query Language (JPQL) adalah bahasa untuk men-generalisasi SQL pada Java yang terdapat pada JPA (Jakarta Persistence API). JPQL jadi standard tersendiri pada environment Java, karena apapun Database SQL yang kita gunakan, kita bisa menggunakan JPQL sebagai pengganti native SQL yang beragam pada tiap-tiap database. Jadi misalkan kita gonta-ganti…