Seperti pada Versi 9.2, PostgreSQL menambahkan tipe data JSON yang cukup mendasar. Di bawah sampul, jenis data JSON adalah teks, dengan pemeriksaan bahwa mungkin tata letak input JSON benar, mirip dengan XML. Akhirnya, tim menemukan bahwa volume pemrosesan JSON dan pencarian khusus yang diperlukan di PostgreSQL akan sulit atau rasional untuk diterapkan pada jenis data tekstual. Oleh karena itu, mereka membuat representasi biner dari tipe data JSON dengan rangkaian lengkap operator dan metode. Di sinilah tipe data JSONB. Tipe data JSONB memang merupakan tata letak penyimpanan biner serbaguna dengan kemampuan pemrosesan, pengindeksan, dan pencarian yang lengkap. Akibatnya, ini memproses informasi JSON ke tata letak bagian dalam, yang hanya memiliki satu nilai per kunci dan mengabaikan spasi atau depresi tambahan, atau Anda dapat mengatakan lekukan. Di dalam panduan ini,
Jenis data yang kemungkinan besar Anda perlukan dan pilih untuk digunakan adalah JSONB, bukan versi awal JSON, yang hanya digunakan untuk kompatibilitas mundur. Jadi, buka shell perintah PostgreSQL dan berikan nama server, database, port, dan nama user.
CREATE TABLE New(ID serial PRIMARY KEY, Val JSON);
INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);
SELECT * FROM New WHERE Val @> ‘11’;
ALTER TABLE New ALTER COLUMN Val TYPE JSONB;
SELECT * FROM New WHERE Val @> ‘11’;
CREATE TABLE Bag(ID serial PRIMARY KEY, Brand JSONB NOT NULL);
INSERT INTO Bag(Brand) VALUES ('{"name": "Gucci", "color": ["red", "black"], "price": 10000, "sold": true,]}'), ('{"name": "Allure", "color": ["red", "Grey"], "price": 85000, "sold": false,]}'), ('{"name": "Kidza", "color": ["black", "white"], "price": 75000, "sold": true,]}');
Anda dapat melihat bahwa data telah ditambahkan dalam bentuk kamus, misalnya, kunci dan nilai.
SELECT * FROM Bag;
SELECT Brand -> ‘name’ AS brand FROM Bag;
SELECT * FROM Bag WHERE Brand -> ‘sold’ = ‘true’;
Di sana Anda lihat, kueri mengambil dua baris hanya dari tabel ‘Tas’ karena hanya memiliki dua baris yang memiliki nilai ‘benar’ untuk kunci ‘terjual’.
INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);0
INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);1
INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);2
INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);3
Kesimpulan:
Saat Anda menyimpan informasi JSONB di database PostgreSQL, Anda mendapatkan hasil terbaik: kesederhanaan dan keandalan database NoSQL yang dikombinasikan dengan keunggulan database relasional. Memanfaatkan banyak operator dan metode, kami mendemonstrasikan cara menggunakan PostgreSQL JSONB. Anda akan mampu bekerja dengan data JSONB menggunakan ilustrasi kami sebagai referensi.