Junior
Jadvalda munosabat nima uchun kerak?
sobes.tech AI
AIdan javob
Ma'lumotlar bazasida jadvallar o'rtasidagi munosabat yoki bog'lanish quyidagilar uchun zarur:
- Ma'lumotlarning ortiqchasini bartaraf qilish: Bir nechta jadvalda ma'lumotlarni takrorlash o'rniga, ularni bitta jadvalda saqlash va boshqalar unga murojaat qilishadi. Bu joyni tejash va yangilashni soddalashtiradi.
- Ma'lumotlarning yaxlitligini ta'minlash: Munosabatlar ma'lumotlarning izchilligini saqlashga yordam beradi. Masalan, agar bir jadvalda satr o'chirilsa, unga murojaat qilayotgan boshqa jadvaldagi satr o'chib bo'lmaydi (cheklov turiga qarab).
- So'rovlarni soddalashtirish: JOIN operatsiyalari yordamida bir nechta jadvaldan bog'langan ma'lumotlarni osongina olish imkonini beradi.
- Ma'lumotlar bazasi tuzilmasini yaratish: Haqiqiy dunyo ob'ektlari o'rtasidagi mantiqiy bog'lanishni aks ettiradi, bu esa ma'lumotlar bazasining tuzilishini tushunarli va tartibli qiladi.
Munosabat turlarining misollari:
- Bir-bir (One-to-one): A jadvalidagi bir satr faqat B jadvidagi bir satr bilan bog'liq va aksincha.
- Bir-ko'p (One-to-many): A jadvidagi bir satr B jadvidagi bir nechta satr bilan bog'liq bo'lishi mumkin, lekin B jadvidagi satr faqat A jadvidagi bitta satr bilan bog'liq.
- Ko'p-ko'p (Many-to-many): A jadvidagi satr B jadvidagi bir nechta satr bilan bog'liq bo'lishi mumkin va aksincha. Bu odatda oraliq jadval orqali amalga oshiriladi.
SQL misolida amalga oshirish:
CREATE TABLE mijozlar (
mijoz_id INT PRIMARY KEY,
ism VARCHAR(255)
);
CREATE TABLE buyurtmalar (
buyurtma_id INT PRIMARY KEY,
buyurtma_sanasi DATE,
mijoz_id INT,
FOREIGN KEY (mijoz_id) REFERENCES mijozlar(mijoz_id) // "bir-ko'p" munosabat: bir mijozning ko'plab buyurtmalari bo'lishi mumkin
);