Đào tạo doanh nghiệpCơ sở Dữ liệu SQL & PostgreSQL Thực chiến: Thiết kế Schema, Tối ưu Truy vấn & Tích hợp AI pgvector
6/8

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.
example.py
-- TRUY VẤN  CẬP NHẬT DỮ LIỆU JSONB
-- 1. Tạo bảng lưu trữ thông tin sản phẩm  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  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  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.