• Dekart ko’paytma amali.
  • CROSS JOIN
  • 1-ma’ruza. Ma’lumotlar bazasining maqsadi, vazifalari va asosiy tushunchalari. Rеja




    Download 1,17 Mb.
    bet77/101
    Sana20.12.2023
    Hajmi1,17 Mb.
    #124746
    1   ...   73   74   75   76   77   78   79   80   ...   101
    Bog'liq
    Sanjar

    SELECT *
    FROM R1
    WHERE kalit IN
    (SELECT kalit FROM R2);
    Bu so’rov natijasida, agar ikkala munosabatlarning kesishish ta'rifini eslasak, faqat ikkala munosabatlarga tegishli bo'lgan kortejlar qoladi.
    Dekart ko’paytma amali. Oldingi ma'ruzalardan eslaganimizdek, ikkita operand munosabatlarining dekart ko’paytmasi atributlar bo'yicha bog'langanlarning nomlangan qiymatlarining barcha mumkin bo'lgan juftlari to'plami sifatida tuzilgan. Shuning uchun, SQLda, dekart ko’paytma ishlashi so'zma-so'z "o'zaro birlashish" degan ma'noni anglatuvchi CROSS JOIN so'zi bilan belgilangan o'zaro bog'liqlik yordamida amalga oshiriladi.
    SQLda dekart ko’paytma operatsiyasini ifodalovchi tuzilmada SELECT operatori faqat bitta va quyidagi shaklga ega:
    SELECT *
    FROM R1 CROSS JOIN R2

    Bu erda R1 va R2 asl operand munosabatlarining nomlari. CROSS JOIN opsiyasi R1 va R2 munosabatlarining barcha juft juftlariga mos keladigan barcha atributlar (chunki "*" belgisi operatorning birinchi qatoriga joylashtirilganligi) natijada paydo bo'lgan munosabatlarga yozilishini ta'minlaydi.


    Dekart ko’paytma amalining amalga oshirishning bitta xususiyatini eslab qolish juda muhimdir. Bu xususiyat Dekart ko’paytmaning ikkilik ishlashini aniqlashning natijasidir. Eslatib o'tamiz:


    r 4(S 4) = r 1(S 1) × r 2(S 2) = {t (S 1S 2) | t [S 1] ∈ r 1 & t (S 2) ∈ r 2}, S 1S 2= ∅;

    Yuqoridagi ta'rifdan ko'rinib turibdiki, juft juftliklar majburiy ravishda o'zaro munosabatlar sxemalari bilan hosil bo'ladi. Shuning uchun, hatto SQLda ishlaganda ham, operandalarning asl munosabatlari bir xil atribut nomlariga ega bo'lmasligi shart. Ammo, agar ushbu munosabatlar bir xil nomga ega bo'lsa, vaziyatni o'zgartirish uchun atributlarni ishlatish orqali vaziyatni osonlikcha hal qilish mumkin, ya'ni bunday hollarda siz oldin aytib o'tilgan AS opsiyasidan foydalanishingiz kerak.


    Ikkala munosabatlarning dekart ko’paytmasini topish kerak bo'lgan misolni ko'rib chiqaylik, ularning ba'zi atributlari bir xil nomga ega. Shunday qilib, quyidagi munosabatlarga ruxsat berilgan:
    R1 ( A, B),
    R2 (B, C);
    R1.B va R2.B atributlari bir xil nomga ega ekanligini ko'rishimiz mumkin. Shuni yodda tutgan holda, SQLda ushbu dekart ko’paytma operatsiyasini amalga oshiradigan SELECT iborasi quyidagicha bo'ladi:

    Download 1,17 Mb.
    1   ...   73   74   75   76   77   78   79   80   ...   101




    Download 1,17 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1-ma’ruza. Ma’lumotlar bazasining maqsadi, vazifalari va asosiy tushunchalari. Rеja

    Download 1,17 Mb.