PostgreSQL

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.

Mengelola Data Hirarki di PostgreSQL

Pojok Programmer Mengelola Data Hirarki di PostgreSQL

Database Tips | Semua programmer yang berkonsentrasi di pengembangan aplikasi perkantoran (office application) pasti pernah berhadapan dengan data hirarki (hierarchical data) ke dalam database relasional (relational database). Jika sebelumnya kita mempelajari cara mengelola data hirarki di MySQL, maka pada artikel inimkita akan mempelajarinya di PostgreSQL. RDBMS sendiri tidak diperuntukkan untuk menyimpan data hirarki karena relasi antar table bukanlah relasi hirarki. Namun di PostgreSQL kita bisa memanfaatkan fitur Common Table Expression (CTE) untuk melakukan reksi di SQL Query. Data hirarki yang umumnya terdapat dalam aplikasi perkantoran, seperti data departemen, cabang, kategori barang, chart of accounts, dan sebagainya. Dalam artikel ini kita akan mencoba menggunakan data Chart of Accounts atau Perkiraan yang sangat diperlukan dalam sebuah aplikasi akuntansi (Accounting System)

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: 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.

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.