Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti farg’ona filiali dasturiy injiniring va raqamli iqtisodiyot fakulteti


II. Asosiy qism One-to-One munosabati


Download 1.31 Mb.
bet2/3
Sana19.04.2023
Hajmi1.31 Mb.
#1362496
1   2   3
Bog'liq
django mustaqil ish

II. Asosiy qism



  1. One-to-One munosabati.


Ushbu turdagi munosabatlarda ikkala jadval ham munosabatlarning har ikki tomonida faqat bitta yozuvga ega bo'lishi mumkin.

Misol uchun, ikkita shaxsni ko'rib chiqaylik shaxs (shaxs_id, shaxs_ism) va adhar (adhar_id, adhar_details). Bu erda odam faqat bitta Adhar identifikatoriga ega bo'lishi mumkin va Ahdar faqat bitta odamga tegishli bo'lishi mumkin. Bunday munosabatlarga yakkama-yakka munosabat deyiladi.



Bu sanoatda keng qo'llaniladigan munosabatlar emas, lekin u ko'proq xavfsizlik maqsadlarida qo'llaniladi.

One-to-One munosabat - bu har bir model boshqa modelning bitta nusxasi bilan bog'liq bo'lgan ikkita model o'rtasidagi munosabatlar. Asosiy modelga to'g'ri kelmaydigan model haqida qo'shimcha ma'lumotlarni saqlamoqchi bo'lganingizda ko'pincha bir-bir aloqalar qo'llaniladi.

Masalan, sizda shaxsning ismi, yoshi va manzili kabi asosiy ma'lumotlarni saqlaydigan Shaxs modeli bo'lishi mumkin. Shuningdek, siz shaxs haqida asosiy shaxs modeliga mos kelmaydigan pasport raqami yoki haydovchilik guvohnomasi raqami kabi qoʻshimcha maʼlumotlarni saqlashni xohlashingiz mumkin. Bunday holda, bitta shaxs modeli bilan bog'liq bo'lgan alohida Pasport modelini yaratish uchun birma-bir munosabatdan foydalanishingiz mumkin.

"One-to-One munosabat jadvalning bitta yozuvi boshqa jadvalning aynan bitta yozuvi bilan bog'langanligini anglatadi." — fmhelp

Yakka-yakka munosabatlarning hayotiy misoli mamlakat va uning poytaxti bo'lishi mumkin. Har bir davlatning faqat bitta poytaxti bor. Va har bir poytaxt faqat bitta davlatning poytaxti hisoblanadi. O'zaro bog'liqlik quyidagi diagramma bilan ifodalanishi mumkin:



Djangoda yakkama-yakka munosabat o'rnatish uchun OneToOneField kalit so'zi ishlatiladi.


  1. Many-to-One munosabati.

"Many-to-One munosabatlarda jadvalning bir yozuvi boshqa jadvalning bir yoki bir nechta yozuvlari bilan bog'lanishi mumkin." — fmhelp

Yana bir mamlakat misoliga qaytishimiz mumkin. Mamlakat va uning shaharlari o'rtasidagi munosabatlarni ko'rib chiqing. Mamlakatda bir nechta shaharlar mavjud. Boshqa tomondan, har bir shahar faqat bitta mamlakatda. Demak, bu mamlakat va uning shaharlari o'rtasidagi birdan-ko'p munosabatlardir. O'zaro bog'liqlikni quyidagi diagramma bilan ifodalashimiz mumkin:

Diagrammani shunday tarjima qilishimiz mumkin: mamlakatda ko'plab shaharlar bo'lishi mumkin va har bir shahar faqat bitta davlatga tegishli.

Django modellarida birdan ko'pga munosabatni aniqlash uchun biz ForeignKey kalit so'zidan foydalanishimiz kerak.



Bu “bir-ko‘p” munosabatida Mamlakat ota-ona, shahar esa boladir.

Endi elektron tijorat misolimizga qaytaylik. Biz Foydalanuvchi modeli va Mijoz modeli o'rtasida yakkama-yakka munosabat yaratdik. Xaridor elektron tijorat platformasida buyurtma beradi. Buyurtma modeli va Buyurtmachi modeli o'rtasidagi munosabat qanday bo'ladi? Mijoz ko'p buyurtma berishi mumkin, ammo buyurtma faqat bitta mijoz bilan bog'lanadi. Bu Buyurtmachi va Buyurtma o'rtasida birdan-ko'p munosabatlarni yaratadi.



Bu birinchi jadvalning har bir yozuvi ikkinchi jadvalda bir yoki bir nechta yozuvlarga ega bo'lishi mumkin bo'lgan holat. Ushbu turdagi munosabatlar sanoatda eng mashhur hisoblanadi. Siz "chet el kaliti" va "asosiy kalit" cheklovlari haqida eshitgan bo'lishingiz mumkin. Bu munosabatlarda chet el kaliti muhim rol o'ynaydi. Bu munosabatni ko'p-bir munosabatlar deb ham atash mumkin.

Masalan, ikkita shaxsni ko'rib chiqaylik shaxs (shaxs_identifikatori, shaxs_ismi) va hisob (hisob_identifikatori, summa). Bu erda har bir kishi bir nechta hisob qaydnomasiga ega bo'lishi mumkin, hisob esa faqat bitta shaxsga tegishli bo'lishi mumkin.



Ko'p-bir munosabat - bu ikkita model o'rtasidagi munosabatlar bo'lib, unda bir modelda boshqa modelning bitta nusxasi bilan bog'liq bo'lgan ko'plab misollar mavjud. Ko'p-bir munosabatlar odatda daraxt kabi ierarxik ma'lumotlar tuzilmalarini ifodalash uchun ishlatiladi.

Misol uchun, sizda mahsulot katalogidagi toifani ifodalovchi Turkum modeli va katalogdagi mahsulotni ifodalovchi Mahsulot modeli bo'lishi mumkin. Har bir mahsulot bitta toifaga tegishli bo'lishi mumkin, ammo toifaga kiradi






  1. Download 1.31 Mb.

    Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling