Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.
Bài 0630phút ước tínhCơ bản đến Chuyên sâu
6. Làm Chủ JSONB Trong PostgreSQL: Mô Hình Lai Ghép Quan Hệ & Tài Liệu Không Cấu Trúc
Tận dụng sức mạnh của NoSQL ngay trong PostgreSQL: Lưu trữ tài liệu JSONB, truy vấn trường lồng nhau và đánh index tốc độ cao.
💡 Khi Nào Nên Dùng JSONB?
- Thuộc tính sản phẩm thương mại điện tử thay đổi theo từng ngành hàng (quần áo có size/color, laptop có RAM/CPU).
- Lưu trữ cấu hình động của người dùng (User Settings / Metadata).
- Lưu log sự kiện hoặc payload Webhook từ các dịch vụ bên thứ ba.
-- TRUY VẤN VÀ CẬP NHẬT DỮ LIỆU JSONB
-- 1. Tạo bảng lưu trữ thông tin sản phẩm có cấu trúc động
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(200) NOT NULL,
specs JSONB NOT NULL DEFAULT '{}'::jsonb
);
-- 2. Thêm dữ liệu mẫu
INSERT INTO products (name, specs) VALUES
('MacBook Pro M3', '{"brand": "Apple", "ram_gb": 36, "storage_gb": 512, "tags": ["laptop", "apple", "pro"]}');
-- 3. Truy vấn sản phẩm có RAM >= 32GB
SELECT name, specs->>'brand' AS brand, (specs->>'ram_gb')::int AS ram
FROM products
WHERE (specs->>'ram_gb')::int >= 32;
-- 4. Cập nhật một trường bên trong JSONB mà không làm mất các trường khác
UPDATE products
SET specs = jsonb_set(specs, '{warranty_years}', '2'::jsonb, true)
WHERE id = 1;
Thực hành
Thực hành và tự đánh giá
Thêm một trường colors: ["gray", "silver"] vào cột JSONB và viết câu lệnh tìm sản phẩm có chứa màu 'silver' bằng toán tử @>.
🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói
AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.
⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại.
Giáo trình mở →
Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.