Ishga tayyor · PostgreSQL data modeling
Daraja: O'rta
Constraint, relation, migration va biznes qoidasini DBda himoyalash.
Tushuntirish
## Ishdagi vazifa Ma’lumotni faqat Java validationga ishonmasdan bazada ham to‘g‘ri saqlash. Primary key identityni, foreign key bog‘lanishni, unique biznesdagi takrorlanmaslikni, check esa sodda invariantni himoya qiladi. Null — bo‘sh string yoki nol emas.
## Dizayn Jadval use-case va querylarga qarab modellashtiriladi. Ko‘p-ko‘p relation alohida jadval oladi; pul `numeric`, vaqt esa ma’nosiga qarab `timestamp with time zone` ishlatishi mumkin. Schema o‘zgarishi versioned migration bilan, katta o‘zgarish expand-migrate-contract bosqichida chiqariladi.
## Ishga tayyor mezon Nomzod ER diagram, constraint va rollback/backfill rejasini birga taqdim etadi.
Kod misoli
CREATE TABLE order_item (
order_id bigint REFERENCES orders(id),
product_id bigint REFERENCES product(id),
quantity integer NOT NULL CHECK (quantity > 0),
price numeric(14,2) NOT NULL CHECK (price >= 0),
PRIMARY KEY(order_id, product_id)
);
Keng tarqalgan xatolar
- Har bir biznes qoidasini faqat service kodida saqlab, DB poygasini ochiq qoldirish.
Mashqlar
- Marketplace order modeli uchun ER diagram va constraintlar yozing.
- Required ustunni eski qatorlar bor jadvalga xavfsiz qo‘shish rejasini tuzing.
Teglar: postgresql, ishga-tayyor, career-03, database