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)

Mengelola Data Hirarki di MySQL

Pojok Programmer Mengelola Data Hirarki di MySQL

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) seperti MySQL. RDBMS sendiri tidak diperuntukkan untuk menyimpan data hirarki karena relasi antar table bukanlah relasi hirarki.

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.

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

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

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2

Code Factory Sistem Inventory atau Aplikasi Persediaan Barang adalah salah satu aplikasi yang sangat umum namun cukup menantang terutama bagi para programmer pemula yang sedang mengasah skill programming-nya. Implementasi paling sederhana dari aplikasi ini biasanya hanya melibatkan data barang dan transaksinya. Namun bisa kita tambah scope atau rung lingkupnya dengan melibatkan transaksi multi gudang, kategori barang, proses approval, dan sebagainya. Pada tutorial kali ini, kita akan membangun sebuah aplikasi yang sederhana saja, yaitu hanya melibatkan data barang dan transaksi saja, agar cukup mudah dipahami para programmer pemula.

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. 

Microsoft Meluncurkan Update Visual Studio Code Versi 1.1

Microsoft Meluncurkan Update Visual Studio Code Versi 1.1

Pengguna Visual Studio Code kembali mendapatkan kabar baik karena tim pengembang Visual Studio Code kembali merilis VS Code versi 1.1 (April 2016). Rilis ini merupakan lanjutan dari rilis bulanan yang sudah dilakukan sebelumnya

Visual Studio Code (VS Code) adalah editor teks multi platform buatan Microsoft yang ditujukan untuk para pengembang perangkat lunak (software developers). Microsoft menyatakan bahwa saat ini lebih dari 500.000 pengembang perangkat lunak menggunakannya secara aktif setiap bulannya. Peluncuran VS Code saat Build Developer Conference tahun lalu, cukup mengejutkan banyak orang karena Microsoft belum pernah sekalipun menawarkan code editor untuk platform Linux dan OS X — apalagi menggunakan brand Visual Studio.

Microsoft Meluncurkan Visual Studio Code for Windows, OS X and Linux Versi 1.0

Microsoft Meluncurkan Visual Studio Code for Windows, OS X and Linux Versi 1.0

Visual Studio Code (VS Code) adalah editor teks multi platform buatan Microsoft yang ditujukan untuk para pengembang perangkat lunak (software developers). Akhirnya hari ini dirilis versi 1.0 setelah kurang lebih selama setahun dalam versi beta. Microsoft menyatakan bahwa saat ini lebih dari 500.000 pengembang perangkat lunak menggunakannya secara aktif setiap bulannya.

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #5

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Laporan Kartu Stock Card Report

Code Factory Sistem Inventory atau Aplikasi Persediaan Barang adalah salah satu aplikasi yang umum dan cukup menantang terutama bagi para programmer pemula yang sedang mengasah skill programming-nya. Artikel ini merupakan lanjutan dari artikel keempat yang membahas Pembuatan Form Transaksi Barang dan merupakan bagian terakhir dari serial artikel Aplikasi Persediaan Barang Menggunakan Yii2. Artikel ini membahas pembuatan laporan kartu stok yang merupakan laporan yang wajib tersedia dalam sebuah aplikasi inventory, dan kita buat sederhana saja sehingga akan cukup mudah dipahami para programmer pemula.

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #4

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Transaksi Master Detail

Code Factory Sistem Inventory atau Aplikasi Persediaan Barang adalah salah satu aplikasi yang umum dan cukup menantang terutama bagi para programmer pemula yang sedang mengasah skill programming-nya. Artikel ini merupakan lanjutan dari artikel ketiga yang membahas Pembuatan Form Master Barang. Artikel ini akan melanjutkan pembuatan form transaksi dengan desain master-detail menggunakan bantun extension dynamic-form, dan kita buat sederhana saja sehingga akan cukup mudah dipahami para programmer pemula.

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #3

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Master Barang (Items)

Code Factory Sistem Inventory atau Aplikasi Persediaan Barang adalah salah satu aplikasi yang umum dan cukup menantang terutama bagi para programmer pemula yang sedang mengasah skill programming-nya. Artikel kali ini akan membahas pengembangan CRUD untuk master data barang (items) setelah sebelumnya kita membahas persiapan database yang akan kita gunakan dalam Aplikasi Inventory ini. Kita akan memanfaatkan Gii Code Generator untuk mempercepat proses pengembangannya. Aplikasi yang akan kita bangun sederhana saja sehingga akan cukup mudah dipahami para programmer pemula.

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #2

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #2

Code Factory | Selama proses pengembangan aplikasi database, struktur database yang digunakan juga ikut berubah dan berkembang seperti halnya kode sumber (source code) aplikasi kita. Misalnya, membuat tabel baru, menambahkan kolom baru, menambahkan indeks untuk meningkatkan kinerja query, dan sebagainya. Karena perubahan struktur database sering membutuhkan beberapa perubahan kode sumber, Yii menyediakan fitur migrasi database yang memungkinkan Anda untuk melacak perubahan database, melakukan upgrade struktur database, atau downgrade struktur database jika diperlukan. Referensi lengkap tentang migrasi database di Yii bisa dilihat di laman ini.

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #1

Aplikasi Persediaan Barang (Sistem Inventory) Menggunakan Yii2 - Part #1

Code Factory Sistem Inventory atau Aplikasi Persediaan Barang adalah salah satu aplikasi yang umum dan cukup menantang terutama bagi para programmer pemula yang sedang mengasah skill programming-nya. Aplikasi ini bisa kita buat sangat sederhana dengan hanya melibatkan data barang dan transaksinya, atau dibuat lebih rumit dengan melibatkan data gudang, kategori barang, proses approval, dan sebagainya. Artikel ini akan coba membahas aplikasi persediaan barang menggunakan framework Yii2. Aplikasi yang akan kita bangun sederhana saja agar mudah dipahami para programmer pemula.

Pages