O’zbekiston Respublikasi Oliy va o’rta maxsus ta’lim vazirligi Samarqand davlat universiteti


Download 1.26 Mb.
Pdf ko'rish
Sana07.12.2020
Hajmi1.26 Mb.
#162216
Bog'liq
RustamovaZ 2-amaliy mashg'ulot


 

 

O’zbekiston Respublikasi Oliy va o’rta maxsus 



        ta’lim vazirligi  

Samarqand davlat universiteti 

   

     Raqamli texnologiyalar fakulteti 

Informatika o’qitish metodikasi yo’nalishi 

III-bosqich 305-guruh  

Ma’lumotlar bazasi fanidan 

                                               

 

 

                                                      



  

MAVZU

:

 

Microsoft  Access  2016  ma'lumotlar  bazasida  jadvallarni 



bog'lash 

 

 

       



                                               BAJARDI: Rustamova Z                                              

TEKSHIRDI: RASHIDOV A 

 

 



 

 

 

 



Microsoft Access 2016 ma'lumotlar bazasida jadvallarni bog'lash 

 

 

Qiymatlar oralig’i bo’yicha filtrlash (BETWEEN

BETWEEN  operatori  ma’lum  diapazondagi  ma’lumotlarni  tanlash  uchun 

ishlatiladi.  Keyingi  so’rovda  Tumanlar_soni  maydonida  8  dan  9  gacha  bo’lgan 

barcha qiymatlar tanlanadi. 

SELECT Viloyatlar, Markazi, Tumanlar, Tumanlar_soni 

FROM Uzbekiston 

WHERE Tumanlar_soni BETWEEN 8 AND 9 

 

 



 

2. Bo’sh yozuvlarni tanlash ( IS NULL) 



SQL –da bo’sh yozuvlarni olish uchun maxsus operator mavjud (NULL deb 

nomlanadi). Jadvalda biron bir belgi bo’lmagan har qanday yacheyka bo’sh yozuv 

deb  hisoblanadi.  Agar  yacheyka  0  yoki  bo’sh  joy  kiritilgan  bo’lsa  ham,  maydon 

to’ldirilgan hisoblanadi. 

 

 

 



 

 

 



SELECT Viloyatlar, Markazi, Tumanlar, Aholisi, Maydoni, Muzeylar 

FROM Uzbekiston 

WHERE Aholisi IS NULL 

 

3. Kengaytirilgan filtrlash (AND, OR) 

SQL  tili  bitta  shart  bilan  filrlash  bilan  chegaralanmaydi.  Ma’lumotlarni  bir 

vaqtning o’zida ko’plab mezonlarga ko’ra tanlash uchun juda murakkab shartlardan 

foydalanish mumkin. Buning uchun SQL-da WHERE operatorining imkoniyatlarini 

kengaytirilgan qo’shimcha operatorlar mavjud. Ushbu operatorlar: AND, OR, IN, 

NOT. Bu operatorlarning ishlashiga doir bir nechta misollar keltiriladi. 

SELECT Viloyatlar, Markazi, Tumanlar, Aholisi, Chegaradosh_Respublikasi 

FROM Uzbekiston 

WHERE Viloyatlar = ‘Samarqand’ AND Muzeylar = ‘Afrosiyob’ 

 

 



 

 

 



 

 

 



 

SELECT  Tartib_raqami,  Viloyatlar,  Markazi,  Tumanlar,  Aholisi,  Maydoni, 

Muzeylar, Chegaradosh_Respublikasi, Tumanlar_soni 



FROM Uzbekiston 

WHERE Chegaradosh_Respublikasi = ‘Tojikiston’ OR Tumanlar_soni = 8 

 

AND  va  OR  operatorlarini  birlashtiraylik.  Tartib  raqami  2  bo’lgan,  Buxoro 

viloyati yoki Tumanlar soni 14 ta bo’lgan barchasini tanlab olish uchun: 

SELECT  Tartib_raqami,  Viloyatlar,  Markazi,  Tumanlar,  Aholisi,  Maydoni, 

Chegaradosh_Respublikasi, Tumanlar_soni 



FROM Uzbekiston 

WHERE Tartib_raqami = 2 OR Viloyatlar = 'Buxoro' AND Tumanlar_soni = 

'14’ 


 

 

 



 

 

Yuqorida tartib raqami 2 bo’lgan Buxoro viloyati yoki tumanlar soni 14 ga teng 



bo’lgan ustunlarni ko’rsatib berdi. 

To’g’ri tanlovni olish uchun buyruqni bajarish ustuvorligini bilish kerak. Buni 

yana  mukammal  bilish  uchun,  matematika  fanida  qo’llanilgan  kani  qavslardan 

foydalanish  mumkin.  Oldin  qavslar  ichidagi  operatorlar,  so’ngra  qolganlari  qayta 

ishlanadi. 

SELECT  Tartib_raqami,  Viloyatlar,  Markazi,  Tumanlar,  Aholisi,  Maydoni, 

Muzeylar, Chegaradosh_Respublikasi, Tumanlar_soni 



FROM Uzbekiston 

WHERE  (Tartib_raqami  =  13  OR  Viloyatlar  =  Qoraqalpogiston)  AND 

Tumanlar_soni = ‘9’ 

 

4. Kengaytirilgan filtrlash (IN operatori) 

SELECT  Tartib_raqami,  Viloyatlar,  Markazi,  Tumanlar,  Aholisi,  Maydoni, 

Muzeylar, Chegaradosh_Respublikasi, Tumanlar_soni 



FROM Uzbekiston 

WHERE Tartib_raqami IN (5,8,9,11) 

 

 



 

 

 

IN operatori OR operatori funksiyasini bajaradi, lekin bir nechta afzalliklarga 



ega: 

-  Uzun ro’yxatlar bilan ishlashda IN iborasidan o’qish oson; 

-  Kam  operatorlardan  foydalaniladi,  bu  so’rovlarni  tezroq  ishlashini 

ta’minlaydi; 

-  IN ning eng muhim afzalligi shundaki, uning konstruksiyasida qo’shimcha 

SELECT  operatorini  ishlatish  mumkin,  bu  murakkab  tarkibiy  so’rovlarni 

yaratoish uchun katta imkoniyatlar beradi. 

 

5. Kengaytirilgan filtrlash (NOT operatori) 



SELECT  Tartib_raqami,  Viloyatlar,  Markazi,  Tumanlar,  Aholisi,  Maydoni, 

Muzeylar, Chegaradosh_Respublikasi, Tumanlar_soni 



FROM Uzbekiston 

WHERE  NOT  Chegaradosh_Respublikasi  IN  ('Afgoniston',  'Tojikiston', 

'Qozogiston') 



Quyida jadvalning umumiy ko’rinishi 

 

 



 

 

 



 

 

 



 

 

 



 

 

NOT kalit so’zi tanlovdan keraksiz qiymatlarni olib tashlashga imkon beradi. 

Bundan tashqari, uning xususiyati shundaki, u filtrlashda ishtirok etgan ustun 

nomidan keyin, balki oldin joylashtiriladi. 



 

 

Yuqoridagi jadvalda, chegaradosh respublikasi faqatgina Tojikiston,Afgoniston va 



Qozogiston respublikalarning viloyatlarini olib tashlab, qolganlarini saqlagan 

holatda jadval namoyon bo’lgan.  



O’rin almashtirish simvollari va regulyar ifodalar (LIKE) 

Ma’lumotlarni  filtrlash  uchun  tanlash  shartning  aniq  mosligi  bilan  emas,  balki 

taxminiy qiymati bo’yicha bajarish kerak bo’ladi. Masalan, Viloyatlar ma’lum bir 

shablonga mos keladigan yoki ba’zi simvollar yoki so’zlarni o’z ichiga olgan viloyat 

qidiriladi.  Buning  uchun  SQL  tilida  taxminiy  qiymatlarni  qidiradigan  LIKE 

operatori mavjud. Bunday shablonni yaratish uchun metasimvollar (qiymatning bir 

qismini  topish  uchun  maxsus  belgilar)  ishlatiladi.  Bular:  “foiz  belgisi  (%)  yoki 

yuzduzcha (*), “Tag chiziq” (_) yoki “so’roq belgisi” (?), “kvadrat qavslar” ([]). 



1. Foiz belgisi (%) yoki yulduzcha (*) metasimvoli 

Masalan, jadvaldan faqat daryo so’zini o’z ichiga olgan viloyatlarga tegishli 

yozuvni tanlaylik. Buning uchun tegishli shablonni yaratamiz: 

SELECT Tartib_raqami, Viloyatlar, Markazi, Tumanlar, Maydoni 

FROM Uzbekiston 

WHERE Viloyatlar LIKE '*daryo*' 

ORDER BY Viloyatlar 

 

WHERE  Viloyatlar LIKE '*daryo*' buyrug’i natijasida ma’lumotlar bazasidagi 



faqat Viloyatlar ustunida daryo so’zini o’z ichiga olgan yozuvlar tanlangan. Agar 

(*) so’z boshidan qo’yilsa '*daryo*' viloyatlardan oxiri daryo bo’lib tugaydigan 

viloyatlar haqidagi yozuvlarni chiqaradi. 

 

 

 

 

 


 

 

SELECT Tartib_raqami, Viloyatlar, Markazi, Tumanlar, Maydoni 



FROM Uzbekiston 

WHERE Viloyatlar LIKE '*daryo' 

ORDER BY Viloyatlar 

 

Yuqoridagi  jadvalda  daryo  so’zi  faqat  so’zni  oxirda  yozilganligini  uchun  shu 



viloyatlarni chiqarib berdi. 

Agar (*) so’z oxiridan qo’yilsa ya’ni ‘daryo*’ viloyat nomining boshlanish qismida 

bo’lgan viloyat nomlarini chiqarib beradi. 

Yuqoridagi  misollarda  yulduzcha  (*)  metasimvoldan  foydalanildi,  chunki  Access 

MBBT ning LIKE operatori foiz belgisini (%) qo’llab-quvvatlamaydi.  

3. Kvadrat qavslar ([ ]) metasimvoli. 

Kvadrat  qavslar  ([  ])  metasimvoli  bir  vaqtning  o’zida  izlash  uchun  simvollar 

to’plamini ko’rsatishda ishlatiladi. 

SELECT Tartib_raqami, Viloyatlar, Markazi, Tumanlar, Maydoni 

FROM Uzbekiston 

WHERE Markazi LIKE '[AB]*' 

ORDER BY Viloyatlar 

 

 



 

 

Yuqoridagi  javdalda  viloyat  “Markaz”I  A  yoki  B  harfi  bilan  boshlanadigan 



yozuvlarni  tanlandi,  bundan  tashqari  teskari  harakatni  bajarish  uchun,  boshqa 

metasimvoldan foydalanish mumkin.  Ifodaga “ teng emas” ni bildiruvchi (!) undov 

belgisini  (Access MBBTuchun) yoki darajaga ko’tarish belgisini (^) (boshqa MBBT 

lar uchun) qo’shiladi. 



SELECT Tartib_raqami, Viloyatlar, Markazi, Tumanlar, Maydoni 

FROM Uzbekiston 

WHERE Markazi LIKE '[!AB]*' 

ORDER BY Viloyatlar 

 

Yuqorida  bajarilgan  so’rov  quyidagicha  o’qiladi.  Uzbekiston  jadvalidagi 



Tartib_raqami, Viloyatlar, Markazi, Tumanlar, Maydoni ustunlarini tanlang va 

faqat  Markazi  maydonidagi  viloyatlar  nomida  A  yoki  B  harfi  bilan 

boshlanmaydigan  yozuvlarni  tanlang.  Bundan  tashqari,  “kvadrat  qavslar” 

metasimvoldagi harflar to’plami faqat matndagi bitta pozitsiya uchun javob beradi. 



NOT  operatoridan foydalansak, shunday natija olishimiz mumkin. 

Ma’lumotlarni qayta ishlash funksiyalari 

 

Ko’pgina dasturlash tillarida bo’lgan kabi, SQLda ma’lumotlarni qayta 

ishlash funksiyalari  mavjud.  Shuni  ta’kidlash  kerakki,  SQL  operatorlaridan 

farqli 

ravishda, 

funksiyalar 

MBBT 

ning 

barcha 

turlari 

uchun 

standartlashtirilmagan,  ya’ni  ma’lumotlar  ustida  bir  xil  operatsiyalarni 

bajarish uchun, turli MBBTlar o’zlarining funksiya nomlariga ega. Bu shuni 

anglatadiki,  bitta  MBBTda  yozilgan  so’rov  kodi  boshqasida  ishlamasligi 

mumkin  va  buni  hisobga  olish  kerakligini  bildiradi.  Eng  muhimi,  bu  matn 

 

 

ma’lumotlarini qayta ishlash, ma’lumotlar turlarini almashtirish va sanalarni 



boshqarish uchun funksiyalarga tegishli. 

Odatda, MBBT standart funksiya turlarini qo’llab-quvvatlaydi, ya’ni: 

-  matnni  qayta  ishlash  uchun  ishlatiladigan  matn  funksiyalari  (matndagi 

belgilarning  bir  qismini  ajratib  olish,  uzunligini  aniqlash,  belgilarni  katta 

yoki kichik harflarga o’tkazish…) 

-   Sonli funksiyalar. Sonli qiymatlar ustida matematik operatsiyalarni bajarish 

uchun foydalaniladi. 

-  Sana  va  vaqt  funksiyalari  (san  ava  vaqtni  manipulyatsiya  qilish,  sanalar 

orasidagi davrni hisoblash, sana to’g’riligini tekshirish va boshqalar). 

-  Statistik funksiyalar (maksimal / minimal qiymatlarni, o’rtacha qiymatlarni 

hisoblash, miqdorlarni va yig’indilarni hisoblash uchun …) 

-  Tizim  funksiyalari  (MBBT,  foydalanuvchi  va  boshqalar  haqida  har  xil 

turdagi xizmat ma’lumotlarini taqdim etadi). 

 

1. Matnni qayta ishlash SQL funksiyalari 

 

Access-da SQL ning matnni qayta ishlashning quyidagi funksiyalari mavjud: 

 

LEFT () – matndagi belgilarni chapdan qirqib olish; 



RIGHT () – matndagi belgilarni o’ngdan qirqib olish; 

MID () – matn o’rtasidan belgilarni qirqib olish; 

LEN () – matndagi belgilar sonini olish; 

UCase () – belgilarni katta harfga o’zgartiradi; 

LCase () – belgilarni kichik harfga o’zgartiradi; 

LTim () – matnning chap qismidagi barcha bo’sh belgilarni olib tashlaydi; 

RTrim () – matnning o’ng tomonidagi barcha bo’sh belgilarni olib tashlaydi; 

Trim () – matnning ikkala tomonidagi barcha bo’sh belgilarni olib tashlaydi 

 

 

 



 

 

 



 

 

UCase  ()  funksiyasi  yordamida  Uzbekiston  viloyatlarini  katta  harfga 



o’tkazish: 

SELECT  Viloyatlar,  UCase(Viloyatlar)  AS  UCase_Viloyatlar 

FROM Uzbekiston 

 

 



 

 

 

 

 

 

 

 

 

 

 

LEFT () funksiyasi yordamida matndagi dastlabki uchta belgini qirqib olish: 



SELECT Viloyatlar, LEFT(Viloyatlar, 3) AS LEFT_Viloyatlar 

 FROM Uzbekiston 

 

MID () funksiya sintaksisi: 

MID (maydon_nomi, boshlanuvchi_belgi_o’rni, olinadigan_belgilar_soni) 



SELECT Viloyatlar, MID(Viloyatlar, 3, 3) AS MID_Viloyatlar  

FROM Uzbekiston 

 

 

 



LEN funksiyasi yordamida Ism maydonidagi yozuvlar uzunliklarini aniqlash 

SELECT Viloyatlar, LEN (Viloyatlar) AS LEN_Viloyatlar  

FROM Uzbekiston 

 

 



 

Yuqoridagi  jadvalda  Samarqand,  Buxoro,  Jizzax  yozuvlarida  bittadan  ortiqcha, 

buning sababi bu yozuvlar qiymatlari oldidagi probellar ham hisobga olinayapti. 

 

 Quyidagi  holatda  esa  Viloyat  maydonidagi  yozuvlarning  oldindan  kelgan 



probellarini o’chirib keyin uzunligini hisoblaymiz: 

 

 

 

SELECT Viloyatlar, LEN (Viloyatlar) AS LEN_Viloyatlar, LTrim (Viloyatlar) 



AS LTrim_Viloyatlar, LEN (LTrim_Ism) AS LEN_LTrim  

FROM Uzbekiston 

  

2. Sonlarni qayta ishlash uchun SQL funksiyalari 

Sonlarni qayta ishlash funksiyalari sonli 

ma’lumotlxar

 ustida matematik operatsiyalarni 

bajarishga mo’ljallangan. Ushbu funksiyalar algebraik va geometric hisob-kitoblar 

uchun  mo’ljallangan,  shuning  uchun  ular  san  ava  vaqt  funksiyalariga  qaraganda 

kamroq qo’llaniladi. Biroq, sonli funksiyalar SQLning barcha versiyalari uchun eng 

standartlashtirilgan. Sonli funksiyalarini ko’rib chiqamiz: 

SQR () – ko’rsatilgan sonning kvadrat ildizini qaytaradi 

ABS () – ko’rsatilgan sonning absolyut qiymatini qaytaradi 

EXP () – ko’rsatilgan sonning e

x  

ko’rsatkichini qaytaradi 



SIN () – ko’rsatilgan burchakning sinusini qaytaradi 

COS () – ko’rsatilgan burchak kosinusini qaytaradi 

TAN () – ko’rsatilgan burchakning tangensini qaytaradi 

Masalan, SQR () funksiyasidan foydalanib, Maydoni ustunidagi sonlardan 

kvadrat ildizini olish uchun so’rovi: 

 

 



 

 

 



SELECT  Tartib_raqami,  Viloyatlar,  Maydoni  SQR  (Maydoni)  AS 

ILDIZ_M 


FROM Uzbekiston  

 

3. Sana va vaqtni qayta ishlash uchun ba’zi funksiyalar ro’yxati: 



Funksiya nomi 

Qiymati6 

DatePart () 

Sana  qismini  qaytaradi:  yil, 

chorak, oy, hafta, kun, soat, daqiqa, 

soniya 

Year () Month () 



Mos  ravishda  yil  va  oyni 

qaytaradi 

Hour (), Minute (), Second () 

Belgilangan 

sananing 

soatini, daqiqalarini va soniyalarini 

qaytaradi 

WeekdayName () 

Hafta 

kunining 



nomini 

qaytaradi 



 

 

 



 

 

 



SELECT 

Viloyatlar, 

Maydoni, 

Tashkil_etilganligi, 

DatePart("m", 

Tashkil_etilganligi) AS OY 



FROM Uzbekiston 

 

DatePart  ()  funksiyasi  qo’shimcha  parametrga  ega,  bu  sananing  kerakli 



qismini  aks  ettirish  imkonini  beradi.  Yuqoridagi  jadvalda  oy  qarami  ko’rsatilgan 

“m” parametridan foydalanildi (xuddi shu tarzda yilni “yyyy”, chorak  –“q”, kun- 

“d”, hafta - “w”, soat – “h”, daqiqa – “n”, soniya – “s” va boshqalar). 

 

 

 

 

 

 


 

 

SELECT 

Viloyatlar, 

Maydoni, 

Tashkil_etilganligi, 

DatePart("w", 

Tashkil_etilganligi) AS HAFTA  

FROM Uzbekiston 

 

 



Hisoblanadigan maydonlar 

 

1.Matematik amallarni bajarish 

Hisoblanadigan 

maydonlardan 

foydalanish 

usullaridan 

biri 


tanlangan 

ma’lumotlarga  matematik  amallarni  bajarishdir.  Uzbekiston  jadvalidan  yana 

foydalanib, bu qanday amalga oshirilishini qaraymiz. 

Har  bir  viloyatning  necha  yilligini  hisoblaymiz.  Buning  uchun 



Tashkil_etilganligi  maydonidan  viloyatlarning  tashkil  etilgan  yilni  ajratib 

olamiz va jori yilni aniqlash (Year(Date()))dan ayiramiz. 

 

 

 

 

 



SELECT Viloyatlar, Maydoni, Tashkil_etilganligi, Year(Date())-DatePart("yyyy", 

Tashkil_etilganligi) AS yil 



FROM Uzbekiston 

 

Viloyatlardan  tumanlar  soni  8  ta  bo’lgan  viloyatlarni  aniqlaymiz, 

buning uchun COUNT () funksiyasidan foydalanamiz: 

SELECT COUNT (*) 

FROM Uzbekiston 

WHERE Tumanlar_soni = 8 

 

Yuqorida  tumanlar  soni  8  ta  bo’lgan  viloyatlar  soni  3  ta  ekanligini  ko’rish 

mumkin. 

 

 

 

 

2. Psevdonimlardan foydalanish 

Oldingi  misolda  viloyatlardan  tumanlar  soni  nechta  ekanligini  hisobladik  va 

hisoblangan  qiymat  EXPR1000  maydonida  aks  etdi.  Biroq,  kelajakda  ushbu 

maydonga murojaat qilish biz uchun noqulay, chunki uning nomi ma’noga ega emas 

(MBBT maydonga bergan nom – Expr1000). So’rovda oldindan ko’rsatgan holda 

maydonni nomlash, ya’ni psevdonim berish mumkin.  

Avvalgi misolni qayta yozib va hisoblanadigan maydon uchun psevdonim beramiz: 



SELECT COUNT (*) AS Tumanlar_soni_umumiy 

FROM Uzbekiston  

WHERE Tumanlar_soni = 8 



 

       Hisoblanadigan  maydon  tumanlar_soni_umumiy  nomini  oldi.  Buning  uchun 

AS operatoridan foydalaniladi, operatordan so’ng kerakli nomni ko’rsatiladi. Shuni 

ta’kidlash  kerakki,  SQL-da  faqat  asosiy  matematik  operatsiyalar  qo’llab-

quvvatlanadi:  qo’shish  (+),  ayirish  (-),  ko’paytirish  (*),  bo’linish  (/).  Amallar 

bajarilishi tartibini o’zgartirish uchun qavslardan ham foydalanish mumkin. 

Psevdonimlar  ko’pincha  nafaqat  hisoblangan  maydonlarni  nomlash  uchun,  balki 

mavjud maydonlarni qayta nomlash uchun ham ishlatiladi. 



 

 

 

 

 

 

 

3. Maydonlarni birlashtirish (ulash) 

Matematik amallardan tashqari, matnlarni birlashtiramiz va uni alohida maydonda 

aks ettirish mumkin. Matnlarni ulash (birlashtirish): 



SELECT Viloyatlar + ' ' + Markazi AS VIL_Mar 

FROM Uzbekiston 

 

 

Yuqoridagi  misolda  ikkita  ustundagi  qiymatni  birlashtiriladi  va  natijani  yangi 

Vil_Mar degan maydonga chiqariladi. 



Download 1.26 Mb.

Do'stlaringiz bilan baham:




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