Postgresql json

Apa itu postgresql

Postgresql merupakan salah satu database open source yang dapat diinstall pada system operasi windows, macos dan ubuntu. Database ini termasuk dalam database relasional, yakni satu tabel dapat berelasi dengan tabel lainnya. Pada postgresql versi 9.2 terdapat tipe data json setelah 2 tahun kemudian pada versi 9.5 ada tipe data baru yaitu jsonb. Kedua tipe data ini seperti mongoDB (database non relasional) data yang disimpan akan berupa json.

Tipe data json dan jsonb

Postgresql terdapat dua tipe data JSON yaitu json dan jsonb. Mereka menerima set nilai yang hampir identik sebagai input. Perbedaan praktis utama adalah efisiensi. Tipe data json menyimpan salinan teks input yang tepat, yang fungsi pemrosesannya harus berulang pada setiap eksekusi, sementara data jsonb disimpan dalam format biner terurai yang membuatnya sedikit lebih lambat untuk memasukkan karena penambahan overhead konversi, tetapi secara signifikan lebih cepat untuk diproses, karena tidak diperlukan reparsing. jsonb juga mendukung pengindeksan, yang bisa menjadi keuntungan yang signifikan.

Karena tipe json menyimpan salinan teks input yang tepat, itu akan mempertahankan spasi (ruang kosong) yang semantik tidak signifikan di antara token, serta urutan kunci dalam objek JSON. Jika objek JSON dalam nilai berisi kunci yang sama lebih dari sekali, semua pasangan kunci / nilai disimpan. (Fungsi pemrosesan menganggap nilai terakhir sebagai yang operatif.) Sebaliknya, jsonb tidak mempertahankan ruang kosong, tidak mempertahankan urutan kunci objek, dan tidak menyimpan kunci objek duplikat. Jika kunci duplikat ditentukan dalam input, hanya nilai terakhir yang disimpan.

Query Jsonb

Membuat table dengan tipe data jsonb
CREATE TABLE tb_mahasiswa (doc_mahasiswa jsonb not null);


Memasukkan data
INSERT INTO tb_mahasiswa VALUES (‘{“nim”: “12344321”, “nama”: “suparjo”}’);


Menampilkan data dengan kondisi
SELECT doc_mahasiswa FROM tb_mahasiswa WHERE doc_mahasiswa ->> 'nim' = '12344321';


Mengupdate data
UPDATE tb_mahasiswa SET doc_mahasiswa = doc_mahasiswa || ‘{“nim”: “12344321”, “nama”: “Suparjo Bambang Suryo”}’ WHERE doc_mahasiswa ->> 'nim' = '12344321';


Menghapus data
DELETE FROM tb_mahasiswa WHERE doc_mahasiswa ->> 'nim' = '12344321';

Komentar

Postingan populer dari blog ini

Connection Codeigniter 4 with Postgresql

Membuat Proyeksi Objek 3D dengan OpenGL

REST API CodeIgniter 4 CRUD