Bosh sahifa Wiki Referential integrity

Referential integrity

Referential integrity — relationlar orasidagi foreign key aloqasida child qiymat mavjud parent keyga ishora qilishini yoki NULL bo‘lishini ta’minlaydigan qoida. U orphan row va buzilgan bog‘lanishlarning oldini oladi.

Foreign key tuzilishi

Child foreign key parent primary yoki unique keyga murojaat qiladi. Aniq semantika SQL mahsuloti, collation va transaction rejimiga bog‘liq. Composite foreign key ustunlar soni va tartibiga mos bo‘lishi kerak. Schema testi normal qiymat bilan birga NULL, duplicate va concurrent amalni qamraydi. Type va collation mosligi taqqoslash semantikasiga ta’sir qiladi. Bu qoida database engine tomonidan barcha yozuvchi clientlarga bir xil qo‘llanadi.

Delete va update amallari

RESTRICT yoki NO ACTION parent o‘chirilishini bloklaydi. Schema testi normal qiymat bilan birga NULL, duplicate va concurrent amalni qamraydi. CASCADE child rowsni ham o‘chiradi yoki keyni yangilaydi. Bu qoida database engine tomonidan barcha yozuvchi clientlarga bir xil qo‘llanadi. SET NULL faqat child ustun NULLga ruxsat bersa ishlaydi. Aniq semantika SQL mahsuloti, collation va transaction rejimiga bog‘liq.

Concurrency

Constraint transaction ichida concurrent insert va delete’ni muvofiqlashtiradi. Bu qoida database engine tomonidan barcha yozuvchi clientlarga bir xil qo‘llanadi. Deferrable constraint commitgacha vaqtincha buzilgan oraliq holatga ruxsat berishi mumkin. Aniq semantika SQL mahsuloti, collation va transaction rejimiga bog‘liq. Child key indexi parent delete tekshiruvini tezlashtiradi. Schema testi normal qiymat bilan birga NULL, duplicate va concurrent amalni qamraydi.

Distributed chegaralar

Microservice database’lari orasida odatiy foreign key ishlamaydi. Aniq semantika SQL mahsuloti, collation va transaction rejimiga bog‘liq. Application-level reference event lag sabab vaqtincha nomuvofiq bo‘lishi mumkin. Schema testi normal qiymat bilan birga NULL, duplicate va concurrent amalni qamraydi. Reconciliation va tombstone contract distributed integrityni boshqaradi. Bu qoida database engine tomonidan barcha yozuvchi clientlarga bir xil qo‘llanadi.

Schema boshqaruvi

Referential integrity faqat ORM validationida qoldirilmaydi; invariant mos bo‘lsa database constraint yoki transaction bilan yakuniy qatlamda himoyalanadi. Constraint nomi migration, monitoring va API error mappingda barqaror identifikator bo‘lib xizmat qiladi. Mavjud data yangi qoidaga o‘tishdan oldin alohida audit qilinadi.

Katta jadvaldagi validation lock, IO va replication lagga ta’sir qilishi mumkin, shuning uchun bosqichli rollout tanlanadi. Failure test concurrent writerlar va rollbackni qamraydi. Referential integrity buzilishi logda sensitive qiymatni ochmasdan, table, constraint va operation konteksti bilan qayd etiladi.

Chekka holatlar va dalillar

Capacity reviewda foreign key tuzilishi bilan delete va update amallari bir xil natija deb qaralmaydi. Bir qatlam muvaffaqiyatli ko‘rinsa ham keyingi qatlamdagi mapping, policy yoki data holati umumiy xizmatni buzishi mumkin. Shu sabab input, oraliq qaror va yakuniy output alohida log yoki metric bilan kuzatiladi. Bo‘sh qiymat, limitga yaqin hajm, duplicate operation, kechikkan javob va qisman nosoz dependency maxsus testlarda qamrab olinadi.

Referential integrity uchun concurrency hamda distributed chegaralar bo‘yicha kutilgan invariantlar yoziladi. Foreign key, Primary key, Unique constraint va Cascade delete bilan integratsiya configuration yoki schema yangilanganda qayta tekshiriladi. Normal trafficdagi muvaffaqiyat recovery tayyorligini isbotlamaydi; rollback, rotation yoki rebuild amalda bajarilib ko‘riladi. Natija owner, versiya va source position bilan saqlansa, keyingi incidentda sababni taxmin bilan emas, tekshirilgan dalil orqali aniqlash mumkin.

Bog‘liq tushunchalar

Foreign key, Primary key, Unique constraint, Cascade delete, Orphan row, Transaction, Deferrable constraint, Reconciliation