Belajar SQL

Contoh Penggunaan JOIN dalam Perintah SQL SELECT

Contoh Penggunaan JOIN dalam Perintah SQL SELECT

Belajar SQL | Setelah sebelumnya kita anatomi dan penggunaan perintah SQL SELECT untuk melakukan proses temu kembali data (data retrieval), maka langkah selanjutnya kita harus mempertajam Skill SQL, dengan memperbanyak latihan, dan salah satu cara untuk melatih skill SQL adalah dengan cara mencoba membantu menyelesaikan problem SQL yang dihadapi orang lain. Beberapa situs yang bisa kita kunjungi untuk melatih skill SQL adalah Oracle Community Forum, namun berbahasa Inggris. Sedangkan untuk yang berbahasa Indonesia bisa mengunjungi Programmer Forum di Kaskus. Dalam artikel ini kita akan membahas beberapa kasus berkaitan dengan SQL JOIN.

Temu Kembali Data (Data Retrieval) Menggunakan SELECT

Temu Kembali Data (Data Retrieval) Menggunakan SELECT Rule of Thumb

Bagian ketiga dari rangkaian artikel tentang Konsep Database Relasional. Jika pada bagian kedua (Membuat Model Basis Data) kita sudah membahas bagaimana menganalisa dan membuat design model basis data (database model) mulai dari model konsep (conceptual model), model logis (logical model), sampai menjadi model fisik (physical model). Maka di artikel ini kita akan fokus pada anatomi dan penggunaan perintah SQL SELECT — atau biasa disebut sebagai query — untuk melakukan proses temu kembali data (data retrieval). Kita akan menggunakan database PostgreSQL dan pgAdmin3 dalam artikel ini, namun tidak ada halangan untuk mempraktekkannya menggunakan database MySQL, karena secara umum sintaks SQL di semua RDBMS sama.

Konsep Database Relasional dan Bahasa SQL

Konsep Database Relasional dan Bahasa SQL

Belajar SQL | Seiring dengan kebutuhan aplikasi-aplikasi bisnis dan layanan publik masa kini, maka kebutuhan penyimpanan data dalam bentuk database relasional menjadi hal yang tidak terelakkan, sehingga pemahaman yang baik tentang structured query language (SQL) menjadi hal yang amat sangat penting karena SQL adalah bahasa yang kita gunakan untuk berkomunikasi dengan database. Sayangnya kenyataan berkata lain, peningkatan skill SQL menjadi prioritas paling akhir karena kebanyakan programmer terlalu fokus pada hal lain yang lebih seksi, seperti, meningkatkan skill bahasa pemrograman tertentu, membuat user interface yang atraktif dan user-friendly, dan membuat aplikasi yang bisa berjalan di database apapun

Membuat Model Basis Data

Konsep Database Relational dan Dasar-dasar SQL - Membuat Model Basis Data

Sebelum kita membuat desain sebuah database, maka pertama-tama yang perlu kita lakukan requirements gathering, yaitu mengumpulkan semua kebutuhan dan keinginan para pengguna (users) kemudian melakukan analisa terhadap kebutuhan dan keinginan tersebut. Salah satu kebutuhan yang harus didapatkan dalam proses analisa ini adalah data apa saja yang ingin disimpan ke dalam database. Seorang analis sistem (system analyst) kemudian harus dapat mengidetifikasikan apa saja entitas (entity) yang terlibat dalam sistem yang ingin dikembangkan, kemudian membuat Conceptual Model berupa relasi antar entitas tersebut. Dan juga pembuatan diagram konseptual (conceptual model) menjadi diagram logikal (logical model), dan akhirnya menjadi diagram fisik (physical model).

Bagian kedua dari rangkaian artikel tentang konsep database relational dan dasar-dasar SQL

Atur Data Anda

Konsep Database Relasional dan Bahasa SQL Atur Data Anda

Belajar SQL | Dalam database relasional, ada dua hal yang perlu kita pahami, yaitu normalisasi data, dan relasi antar tabel. Tujuan dari normalisasi adalah menghilangkan rudundansi dan duplikasi data, sehingga kita bisa menghidari kemungkinan masalah saat proses manipulasi data. Aturan-aturan yang harus diikuti pada saat kita mendisain sebuah database agar kita bisa terhindar dari duplikasi data inilah yang disebut normalisasi.

Bagian pertama dari rangkaian artikel tentang konsep database relational dan dasar-dasar SQL

Belajar SQL: Perhitungan Stok dan Harga Rata-Rata Barang untuk Aplikasi Inventory

Perhitungan Stok dan Harga Rata-Rata Barang untuk Aplikasi Inventory Satu Perintah Single SQL Statement

Belajar SQL | Semua programmer atau software developer aplikasi perkantoran pasti pernah menggunakan SQL. minimal untuk proses CRUD (Create, Read, Update, Delete) sederhana. Namun hanya sedikit yang memanfaatkan SQL untuk proses perhitungan rumit seperti penggajian, perhitungan average harga barang, status inventory, dan sebagainya hanya dengan menggunakan Single SQL Statement, alias dengan satu perintah SQL saja. Beberapa waktu lalu saat diskusi online dengan kawan-kawan di Facebook, saya tergelitik untuk membuat contoh SQL beraksi untuk menghitung nilai stok dan harga rata-rata barang setelah terjadi proses keluar masuk barang pada bulan tertentu. Contoh kasusnya adalah seperti ini.....

Belajar SQL: Query Sederhana Menghitung Status Dinamis

Belajar SQL: Query Sederhana untuk Field Status Dinamis

Belajar SQL: | Kadangkala kita memerlukan sebuah field berubah nilainya seiring waktu berjalan. sebagai contoh kasus adalah untuk mengetahui apakah garansi suatu barang masih berlaku atau tidak. Salah satu caranya adalah dengan menyediakan field "status" untuk menyimpan nilai berlaku atau habis untuk mengetahui status garansi bersangkutan. Cara ini punya kerumitan karena kita perlu mengubah isinya. Maka, alih-alih menyimpan data status garansi dalam sebuah field khusus, maka akan lebih mudah jika kita cukup menyimpan akhir masa garansi dan menentukan status garansi menggunakan query. Metode ini dinamakan juga sebagai Computed Field.

Belajar SQL: Penggunaan SUM dan JOIN untuk membuat Laporan Summary

Belajar SQL: Penggunaan SUM dan JOIN untuk membuat Laporan Summary

Belajar SQL | Membuat laporan summary data dari table di database bisa dibilang gampang-gampang susah. Gampang ketika hanya membuat summary dengan sumber data satu buah table saja. Namun jadi makin rumit ketika summary melibatkan 2 (dua) table atau lebih. Silakan pelajari TUTORIAL berikut ini sebagai salah satu contoh kasus untuk membuat summary data dari 3 buah table terpisah.

Belajar SQL: CASE Clause - Logika Percabangan

Belajar SQL Logika Percabangan Case clauseSalah satu fungsi atau clause yang kurang begitu populer di SQL adalah CASE clause. Salah satu sebabnya adalah umunya SQL lebih dikenal hanya untuk proses SELECT, INSERT, UPDATE dan DELETE saja, dan karena CASE clause punya fungsi yang sama dengan IF di semua bahasa pemrograman yang ada, misalkan PHP, Java, dan sebagainya. Untuk itu saya akan berikan contoh sederhana penggunaan SQL untuk melakukan perhitungan dengan sedikit logika IF sederhana.

Representasi SQL JOIN Secara Visual

Mempelajari SQL bagi beberapa orang adalah sebuah tantangan tersendiri, terlebih lagi paradigma yang dibawa SQL, yaitu paradigma set atau himpunan sangat jauh berbeda dengan paradigma programming yang umunya imperatif atau prosedural. Ketika kita belajar himpunan dahulu pasti pernah dikenalkan dengan Diagram Venn.

Bagaimana MVCC bekerja di PostgreSQL

PostgreSQL Database MVCC

PostgreSQL | Setiap row di PostgreSQL memiliki dua ID transaksi: creation transaction ID yang menunjukkan ID transaksi yang membuat row tersebut, serta expiration transaction ID yang menunjukkan transaksi yang membuat row tersebut kedaluwarsa. Ketika UPDATE dilakukan, PostgreSQL menciptakan row baru dan meng-expire row lama. Ini row yang sama -- hanya saja berbeda versi. PostgreSQL menciptakan row versi baru hasil perubahannya tapi juga mempertahankan row versi lama yang sudah kedaluwarsa.

Jelas kan sekarang..... kenapa namanya Multi-Versioning.... Pada sistem database yang menggunakan row-level locking tidak mempertahankan versi lama dari data yang diubah, sehingga kebutuhan untuk mengkunci data muncul untuk menjaga konsistensi data. Setelah sekarang Anda tahu bagaimana PostgreSQL menciptakan versi data, Anda mungkin bertanya-tanya bagaimana PostgreSQL bisa tahu versi yang mana untuk ditampilkan....

Makanan Apa Sih MVCC?

PostgreSQL Database MVCC

Setiap programmer yang pernah membuat aplikasi multi-user pasti pernah dibuat  frustrasi gara-gara lock bisa menyebabkan  pengguna menunggu atau bahkan sampai deadlock dan aplikasi hang. walaupun database yang digunakan sudah menggunakan table-levelpage-levelcolumn-level, atau row-level locking, masalah yang sama tetap muncul: SELECT oleh satu user nge-block UPDATE oleh user lain sampai transaksi user pertama selesai, dan juga sebaliknya UPDATE satu user nge-block SELECT oleh user lainnya sampai transaksi user pertama selesai. eSQL

Namun bagi Anda yang sudah menggunakan PostgreSQL pasti tahu bahwa problem seperti di atas tidak akan terjadi karena di PostgreSQL ada fitur canggih yang disebut Multi-Versioning Concurrency Control (MVCC) sehingga SELECT tidak pernah nge-block UPDATE, dan UPDATE tidak pernah nge-block SELECT.