Kirish Ma’lumotlar bazasi haqida mbbt funktsityalari


-Mavzu: Jadvallarni birlashtirish



Download 5,2 Mb.
bet75/79
Sana17.04.2022
Hajmi5,2 Mb.
#558651
1   ...   71   72   73   74   75   76   77   78   79
Bog'liq
Maruza mbbt (1-60)

56-Mavzu: Jadvallarni birlashtirish
Reja:
1. SQL tili relyatsion ma'lumotlar bazalari
2. JOIN va SELECT
3. SQLda INNER JOIN
SQL tili relyatsion ma'lumotlar bazalari bilan ishlash imkonini beruvchi juda kuchli va moslashuvchan vositadir. SQL tilining eng qiziqarli xususiyatlaridan biri bu SELECT buyrug'i va JOIN kalit so'zi yordamida ikki yoki undan ortiq jadvallarni birlashtirish qobiliyatidir . Shuni ta'kidlashni istardimki, jadvallarni birlashtirish juda qimmat operatsiya va biz jadvaldagi qatorlar qancha ko'p bo'lsa, bu operatsiya shunchalik qimmatroq bo'ladi, chunki DBMS har bir qator uchun qo'shilish predikatini hisoblay boshlaydi. SQL-da jadvallarni birlashtirishning besh turi mavjud, ammo, afsuski, SQLite-da ushbu beshtadan faqat uchtasi amalga oshiriladi.

SQL va SQLite ma'lumotlar bazalarida jadvallarni birlashtirish: JOIN va SELECT
Ushbu postda biz SQL-da jadvallarni birlashtirishning umumiy tamoyillarini ko'rib chiqamiz va SQLite3 bilan ishlaydigan ma'lumotlar bazalari misolida JOIN kalit so'zini amalga oshirish bilan shug'ullanamiz. Va keyin biz jadvallarning ichki va tashqi birikmalarining farqlari va xususiyatlarini tushunish uchun SQLite-da amalga oshirilgan jadvallarni birlashtirish turlarining har birini alohida ko'rib chiqamiz. Tushuntirish jarayonida siz har doimgidek JOIN yordamida SELECT so'rovining ishlashini ko'rsatadigan misollarni ko'rasiz .
SQL SELECT so'rovlarida jadvallarni birlashtirish: LEFT JOIN, LEFT OUTER JOIN, INNER JOIN, CROSS JOIN. JOIN so'rovlari orasidagi farq.
Maqolaning mazmuni:
SQL SELECT so'rovlarida jadvallarni birlashtirish: LEFT JOIN, LEFT OUTER JOIN, INNER JOIN, CROSS JOIN. JOIN so'rovlari orasidagi farq.
SQLite ma'lumotlar bazasida SQL JOIN so'rovlari misollarini amalga oshirish uchun jadvallarni tayyorlash
SQLite ma'lumotlar bazalarida ichki jadvallarni birlashtirish: SQLda INNER JOIN
SQLite3 ma'lumotlar bazasidagi jadvallarni chapdan birlashtirish: SQLda LEFT JOIN va LEFT OUTER JOIN.
SQL-da o'zaro birlashma jadvallari: SQLite ma'lumotlar bazalarida CROSS JOIN
SQL-da tabiiy jadval birikmasi: SQLite-da NATURAL JOIN
SQL va SQLite ma'lumotlar bazalarida uchta yoki undan ortiq jadvallarni birlashtirish
Bizning fikrimizcha , JOIN so'rovlari SELECT buyrug'i qila oladigan eng qiziqarli narsadir . Biz UNION yordamida amalga oshiriladigan ma'lumotlar bazalarida so'rovlarni birlashtirishni ko'rib chiqdik, keyin esa tanlov natijalarini solishtirishni ko'rib chiqamiz, ammo bularning barchasi SQLite ma'lumotlar bazalarida jadvallarni birlashtirish kabi qiziq emas. Jadvallarni birlashtirish JOIN kalit so'zi yordamida amalga oshiriladi .
SQL standarti jadval birlashmalarini uch turga ajratadi : ichki jadval birlashmasi ( INNER JOIN ), tashqi jadval birlashmasi ( LEFT OUTER JOIN , RIGHT JOIN , FULL JOIN ) va oʻzaro jadval birlashmasi ( CROSS JOIN ). Har qanday ittifoqning ishlash printsipi o'xshash, ammo natijalar har doim yoki deyarli har doim boshqacha bo'ladi.
SQL va relyatsion ma'lumotlar bazalarida jadvallarni birlashtirish bo'yicha so'rovlarning ishlash printsipi shundan iboratki, ikkita yoki undan ortiq pastki so'rovlar bitta SQL SELECT so'rovi ichida bajariladi (qancha jadvallarni qo'shmoqchi ekanligimizga qarab), kichik so'rovlar JOIN kalit so'zi bilan ajratiladi. Ushbu JOINda ON cheklovi mavjud (hech bo'lmaganda rasmiy SQLite hujjatlari ON cheklovini chaqiradi), bu qo'shilish predikati deb ataladi. Birlashma predikati har doim qandaydir shart bo'lib, RDBMS ikkita jadvalning qaysi qatorlarini birlashtirish kerakligini aniqlaydi. Ammo satrlarni qanday birlashtirish bilan SQLite maxsus modifikatorlarni tushunadi: ICHKI, CHAP TISHI yoki shunchaki LEFT va CROSS .
Ushbu tushuntirish subquery atamasidan foydalanadi, bu holda umuman mos kelmaydi, bu SQL bilan hali tanish bo'lmagan o'quvchiga JOIN qanday ishlashini tushuntirish uchun ataylab qilingan. Quyi soʻrov atamasi mutlaqo mos emas, chunki SELECT quyi soʻrovi har doim qandaydir natijalar jadvalini qaytaradi va biz JOIN yordamida jadvallarni birlashtirganimizda, koʻpincha biz maʼlumotlar bazasining jismoniy jadvallariga kiramiz (garchi hech kim sizga jadval bilan mavjud jadvalga qoʻshilishni taqiqlamaydi) bu SELECT pastki so'rovini qaytaradi).
Umuman olganda, SQL standarti ko'plab JOIN modifikatorlarini ta'kidlaydi:
INNER JOIN - jadvallarni ichki birlashtirish .
LEFT JOIN yoki LEFT OUTER JOIN - jadvallarning chap tashqi birlashmasi .
RIGHT JOIN yoki RIGHT OUTER JOIN - jadvallarning o'ng tashqi birlashmasi .
FULL JOIN - jadvallarning to'liq birlashishi .
CROSS JOIN – jadvallarni o‘zaro birlashtirish .
Ammo SQLite ma'lumotlar bazalarida biz ilgari aytib o'tgan jadvallarni birlashtirishning faqat uchta turi mavjud, ular har qanday maqsad uchun etarli. Jadvallar orasidagi munosabatlarga qaraganimizda va munosabatlarni normallashtirishga harakat qilganimizni eslaysizmi ? Ma'lumotlar bazasi birinchi oddiy shaklda bo'lsa, biz SELECT so'rovida jadvallarni qanday qo'shish haqida o'ylamaymiz , lekin munosabatlar ikkinchi normal shaklda yoki uchinchi normal shaklda bo'lsa, bizda savol tug'ilishi mumkin: qanday qilib bittasiga kirish kerak ikki yoki uchta jadvaldan ma'lumotlarni so'rang ?
Va bu savol yaxshi, chunki bu dangasalik, bizni biror narsani yaxshilash va yaxshilashga majbur qiladigan ahmoq va keraksiz ishlardan qutqaradigan dangasalikdan kelib chiqadi. Siz taxmin qilganingizdek, SELECT JOIN bilan birgalikda bizni yuqorida tavsiflangan muammodan xalos qiladi.
Quyida JOIN dan foydalangan holda SQL SELECT so'rovi bo'yicha kichik cheat varaqni topasiz , bu cheat varaqda JOIN qanday ishlashini va ma'lumotlar bazalarida jadvallar qanday birlashtirilishini tushunish imkonini beruvchi kichik misollar va diagrammalar mavjud .

JOIN yordamida SELECT so'rovlari qanday ishlashiga misollar va jadvallarni birlashtirishning turli usullarini ko'rsatadigan diagrammalar



Download 5,2 Mb.

Do'stlaringiz bilan baham:
1   ...   71   72   73   74   75   76   77   78   79




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish