Sobes.tech
Junior — Middle

Дар кадом ҳолатҳо тавсия дода мешавад, ки формат JSON барои нигоҳ доштани маълумот дар базаи маълумоти PostgreSQL истифода шавад?

sobes.tech AI

Ҷавоб аз AI

Тавсия дода мешавад, ки формат JSON дар PostgreSQL истифода шавад, вақте ки сохтори маълумот метавонад чандир ё тағйирёбанда бошад ва схемаи дақиқи он пешакӣ маълум набошад. Ин барои нигоҳ доштани объектҳои дарунсохт, рӯйхатҳо ё вақте ки бояд маълумотҳоро зуд нигоҳ доштани ва баровардан дар бидуни робитаҳои мураккаб қулай аст. Масалан, агар шумо танзимоти корбар ё метаданҳо дошта бошед, ки метавонанд дар байни сабтҳо фарқ кунанд, JSON имкон медиҳад, ки онҳоро дар як майдон нигоҳ доред ва аз функсияҳои дарунсохти PostgreSQL барои ҷустуҷӯ ва филтр истифода баред.

Маслиҳат барои истифодаи JSONB дар PostgreSQL:

CREATE TABLE корбарон (
  id SERIAL PRIMARY KEY,
  ном TEXT,
  афзалиятҳо JSONB
);

INSERT INTO корбарон (ном, афзалиятҳо) VALUES
('Ivan', '{"мавзу": "соя", "хабарҳо": true}');

-- Ҷустуҷӯи корбарон бо мавзӯи соя
SELECT * FROM корбарон WHERE афзалиятҳо->>'мавзу' = 'соя';

Ин тариқ, JSON барои маълумоти динамикӣ муфид аст, аммо агар сохтор мустаҳкам бошад ва иҷроиш муҳим бошад, беҳтар аст, ки сутунҳои оддӣ истифода шаванд.