Qanday qilib biz Kartezian qo'shilishidan qochishimiz mumkin?
Qanday qilib biz Kartezian qo'shilishidan qochishimiz mumkin?

Video: Qanday qilib biz Kartezian qo'shilishidan qochishimiz mumkin?

Video: Qanday qilib biz Kartezian qo'shilishidan qochishimiz mumkin?
Video: BTT SKR2 -Klipper Firmware Install 2024, Aprel
Anonim

Kimga Karteziandan qoching mahsulotlar, from bandidagi har bir ko'rinish boshqa ko'rinishlarning har biriga bitta orqali bog'langan bo'lishi kerak qo'shilish predikat yoki zanjir qo'shilish predikatlar. Bu ba'zi holatlar, qachon Kartezian Ikki ko'rinish o'rtasidagi mahsulotlar ishlashda muammo tug'dirmaydi.

Shuningdek, Dekart mahsulotiga nima sabab bo'lishi so'raladi?

a.da KARTESIAN JOIN bir jadvalning har bir satri uchun boshqa jadvalning har bir qatoriga qo'shilish mavjud. WHERE sharti bo'lmasa KARTESIAN JOIN o‘zini shunday tutadi KARTEZIY MAHSULOT . ya'ni natijalar to'plamidagi qatorlar soni mahsulot ikkita jadvalning qatorlari soni.

Dekart xatosi nima? The Kartezian doira potentsialdir Xato Rene Dekartga tegishli fikrlashda. The Kartezian aylana - bu yuqoridagilarning tanqidi bo'lib, bu shaklni oladi: Dekartning aniq va aniq in'ikoslarning ishonchliligini isbotlash Xudoning yolg'onchi emasligini asos sifatida oladi.

Keyinchalik, SQLda Dekart qo'shilishi nima degan savol tug'ilishi mumkin.

A Kartezyen qo'shilish yoki Kartezian mahsulot a qo'shilish bir jadvalning har bir qatoridan boshqa jadvalning har bir qatoriga. Bu odatda mos kelmaganda sodir bo'ladi qo'shilish ustunlar belgilanadi. Masalan, 100 qatorli A jadvali 1000 qatorli B jadvali bilan birlashtirilsa, Kartezyen qo'shilish 100 000 qatorni qaytaradi.

Kartezyen mahsulotni qanday qilasiz?

Dekart mahsuloti : The Dekart mahsuloti A × B deb belgilangan ikkita A va B to'plamlari A ning elementlari birinchi va B ning elementlari ikkinchi bo'lgan barcha mumkin bo'lgan tartiblangan juftliklar to'plamidir. To'plam quruvchi yozuvida A × B = {(a, b): a ∈ A va b ∈ B}. Misol: A = {H, T} va B = {1, 2, 3, 4, 5, 6} bo'lsin.

Tavsiya: