Mysql, ms access, InterBase ва Postgresql мббтларидан фойдаланиб маълумотларни қайта ишлаш ва бошқариш. Maqsad


Download 24.53 Kb.
Sana15.04.2020
Hajmi24.53 Kb.

Тажриба машғулоти №2

MySQL, MS Access, InterBase ва PostgreSQL МББТларидан фойдаланиб маълумотларни қайта ишлаш ва бошқариш.

Maqsad: Talabalarda tanlangan topshiriq mavzusi bo`yicha MB ga ma`lumot kiritish, ma`lumotlarni o`zgartirish va o`chirish haqida bilim va malakalarini mustahkamlash.

Vazifa: Talabalar mustaqil ravishda quyidagilarni bajarishi, ular haqida malaka va ko`nikmaga ega bo`lishi lozim.

1. MB ga ma`lumot kiritish, ma`lumotlarni o`zgartirish va o`chirish.



Jihozlar: Kompyuter.

Uslubiy ko`rsatma:

Ma`lumotlarni kiritish. SQL orqali jadvallarga yangi ma`lumotlarni kiritish ham mumkin. Buning uchun INSERT operatori ishlatiladi. INSERT operatori sintaksisi quyidagicha:



INSERT INTO jadval (jadval ustunlari nomi)

VALUES (jadval ustunlari nomiga mos qiymatlar)

Biz ATALABA jadvalini tuzdik, unga birorta ham ma`lumot kiritilmagan. Bu jadvalga SQL orqali ma`lumot kiritish uchun quyidagi buyruqni beramiz:

INSERT INTO atalaba(id,fam,ism,oism,guruh)

VALUES (1,’Karimov’,‘Olim‘,’Valievich’,1)

Buyruqni ishga tushirsak, quyidagi xabarni olamiz:

1 row inserted

Xuddi shunga o`xshash, boshqa talaba haqidagi ma`lumotni ham kiritishimiz mumkin. Agar keyingi talabaning otasi ismi bo`sh bo`lsa, u holda buyruqni quyidagicha yozamiz:

INSERT INTO atalaba(id,fam,ism,oism,guruh)

VALUES (2,’Salimov’,‘Zarif‘,null,1)

AUMT jadvaliga 1-tartib raqamli talaba haqidagi ma`lumotni kiritish uchun quyidagicha buyruq beriladi:

INSERT INTO aumt(id,jins,tvaqt,millat)

VALUES (1,1,12.08.1990,1)

Ma`lumotlarni o`zgartirish. SQL orqali jadvallardagi ma`lumotlar qiymatini o`zgartirish ham mumkin. Buning uchun UPDATE operatori ishlatiladi. UPDATE operatori sintaksisi quyidagicha:

UPDATE jadval

SET jadval ustuni nomi qiymat

WHERE shart

Biz ATALABA jadvalini tuzdik va unga ma`lumot kiritdik. Ammo, 1-kod bilan kiritilgan ma`lumot noto`g`ri kiritilgan. Uni o`zgartirish lozim, ya`ni ’Valievich’ o`rniga ’Solievich’ qiymatni kiritish kerak. Bu qiymatni SQL orqali o`zgartirish uchun quyidagi buyruqni beramiz:

UPDATE atalaba

SET oism  ’Solievich’

WHERE id 1

Buyruqni ishga tushirsak, quyidagi xabarni olamiz:

1 row updated

UPDATE operatori yordamida MB dagi ixtiyoriy ma`lumot qiymatini o`zgartirishimiz mumkin. Bundan tashqari birdaniga bir necha ma`lumotlar qiymatini o`zgartirishimiz ham mumkin. Masalan, barcha talabalar “Kamolot” yoshlar uyushmasi a`zosi bo`lishdi, avval ko`pchiligi a`zo emas edi. Buning uchun AKM jadvalidagi Ka atribut qiymatlarini ‘Y’ ga o`zgartirishimiz lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:

UPDATE atalaba SET Ka  ‘Y’

Ma`lumotlarni o`chirish. SQL orqali jadvallardagi yozuvlarni o`chirish mumkin. Buning uchun DELETE operatori ishlatiladi. DELETE operatori sintaksisi quyidagicha:

DELETE FROM jadval

WHERE jadval ustuni nomi qiymat

Masalan, MB dagi 1-tartibli yozuvni o`chirish lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:

DELETE FROM atalaba

WHERE id = 1

Bu holda, AUMT, ASHMT, AKM, APASP, ATEL, AMANZ, AQAR jadvallardagi id=1 bo`lgan barcha yozuvlar avtomatik ravishda o`chiriladi. Xuddi shuningdek, agar aetim va anogiron jadvallarida ham shu tartibli talaba ma`lumoti bo`lsa, u ham o`chiriladi. Chunki, ushbu jadvallari birlamchi kalitlariga ‘on delete cascade’ sharti qo`yilgan. Bu, agar ATALABA jadvaldan biror yozuv o`chirilsa, u holda unga bog`langan barcha jadvallardagi mos yozuvlar ham avtomatik ravishda o`chirilishini anglatadi.

MB dagi 2008 yil qabul qilingan barcha talabalarni o`chirish lozim. Bu ishni amalga oshirish uchun quyidagi buyruqni berishimiz etarli:

DELETE FROM atalaba

WHERE id = in(select id from akm where qyil<31.12.2008)

Ma`lumotlarni o`qish. MB dan ma`lumotlarni o`qish SELECT operatori orqali amalga oshiriladi va u so`rov deyiladi. SQL tili birinchi navbatda so`rovlarni bajarishga mo`ljallangan. SQL so`rovlarini qurish uchun qo`llaniladigan SELECT operatori boshqa SQL operatorlariga nisbatan ancha keng imkoniyatli hisoblanadi. Biz bu imkoniyatlarning ba`zi birlarini keltirib o`tamiz.

SELECT operatori. SELECT operatori berilganlar bazasidan ma`lumotlarni o`qiydi va so`rov natijalarini jadval ko`rinishida qaytaradi. Quyida oddiy so`rovlarga oid bir nechta misollarni keltiramiz:

Misol 1. MB dan barcha talabalar ro`yxatini chiqaring.

SELECT fam, ism, oism, guruh FROM atalaba



id

fam

ism

oism

guruh

1

Karimov

Salim

Xayrievich

11-08 ARX











135

Olimova

Sevara

Qayumovna

18-10 TMJ











5435

Abdullaev

Dilshod




16-10 MIIT











Agar MB ga 5600 ta talaba ma`lumoti kiritilgan bo`lsa, ekranga 5600 ta talabaning kodi, familiyasi, ismi va guruhi ma`lumotlari chaqiriladi.

Misol 2. MB dan barcha talabalar ro`yxatini chiqaring.

SELECT * FROM atalaba

Misol 1 da olingan natija bilan bir xil bo`lgan natijani olamiz.

Misol 3. MB dan ‘12-10 MIIT’ guruhi talabalari ro`yxatini chiqaring.

SELECT fam, ism, oism FROM atalaba WHERE guruh=’12-10 MIIT’

Agar MB ga ‘12-10 MIIT’ guruhining 23 ta talabasi ma`lumoti kiritilgan bo`lsa, ekranga 23 ta talabaning kodi, familiyasi, ismi ma`lumotlari chaqiriladi. Talaba guruhi ma`lumoti chiqarilmaydi, chunki buyruqda guruh atribut qiymatini chiqarish kerakligini ko`rsatmadik.

Misol 4. MB dan ‘12-10 MIIT’ guruhi talabalari ro`yxatini, familiyasini alfavit tartibida tartiblagan holda chiqaring.

SELECT fam, ism, oism FROM atalaba WHERE guruh=’12-10 MIIT’ ORDER BY fam

Agar MB ga ‘12-10 MIIT’ guruhining 23 ta talabasi ma`lumoti kiritilgan bo`lsa, ekranga 23 ta talabaning kodi, familiyasi, ismi ma`lumotlari chaqiriladi. Talaba guruhi ma`lumoti chiqarilmaydi, chunki buyruqda guruh atribut qiymatini chiqarish kerakligini ko`rsatmadik.

Xuddi shu tarzda so`rovlar tuziladi. endi so`rov operatori ifodalari bilan tanishamiz:


  • SELECT ifodasida SELECT operatori qiymat sifatida qaytaradigan ustunlar ro`yxati vergul bilan ajratilib ko`rsatiladi. Qaytariladigan qiymatlar MB dagi jadval ustunidan olingan qiymat yoki so`rov paytida hisoblanadigan qiymat bo`lishi mumkin. Har bir qaytariladigan qiymatlar uchun so`rov natijalari jadvalida bitta ustun hosil qilinadi.

  • FROM ifodasida so`rov orqali ma`lumotlari olinadigan jadvallar ro`yxati ko`rsatiladi. Nisbatan murakkabroq so`rovlarda bir necha jadval nomlari bo`ladi.

  • WHERE ifodasida so`rov natijasi sifatida faqat ayrim qatorlarni chiqarish sharti ko`rsatiladi. Satrlarni saralash uchun izlash shartidan foydalaniladi.

  • GROUP BY ifodasidan jamlama so`rovlarni hosil qilish maqsadida foydalanamiz. Odatdagi so`rov MB dagi har bir satr uchun so`rov natijasi sifatida bitta satr qaytaradi. Jamlama so`rov esa oldin MBdagi satrlarni aniqlangan alomat bo`yicha guruhlashtiradi. Keyin esa har bir guruhga bitta jamlanma satrni mos qo`yuvchi so`rov natijasini qaytaradi.

  • HAVING ifodasi GROUP BY ifodasi yordamida tuzilgan guruhlarni biror shartni qanoatlantiruvchilarinigina natija sifatida qaytaradi.

  • ORDER BY ifodasi bir yoki bir nechta ustunlardagi ma`lumotlar asosida so`rov natijasini tartiblaydi. Agarda bu ifoda ko`rsatilmagan bo`lsa so`rov natijasi tartiblanmagan deyiladi.

Qaytariladigan qiymatlar (DISTING kalitli so`zi). MB da qaysi millat vakillari mavjudligini ko`rmokchi bo`lsak, quyidagicha so`rovni beramiz:

SELECT DISTING millat FROM aumt

So`rov natijalari jadvali 5-10 ta satrdan iborat bo`ladi, MB da esa 5600 ta yozuv mavjud. Nima uchun satr soni kam? Chunki, talabalarning ko`pchiligining millati o`zbek yoki rus. Bu qiymatlar yuzlab va minglab marta takrorlanadi. So`rov natijaviy jadvalining takrorlanadigan satrlarini SELECT operatorida qaytariladigan ustunlari oldidan DISTING kalit so`zini ko`rsatish orqali o`chirish mumkin. Bu so`rov quyidagi tarzda bajariladi. Oldin barcha natijaviy satrlar generatsiya qilinadi, undan keyin esa boshqasini takrorlaydigan ustunlar o`chiriladi. Agarda DISTING kalit so`zi ko`rsatilmagan bo`lsa takrorlanadigan satrlar o`chirilmaydi.

Satrlarni saralash (WHERE ifodasi). MB dagi jadvalning barcha satrlarini chiqaruvchi SQL – so`rovlar MB ni qurish, hisobot tuzish va boshqa ayrim hollardagina qo`llaniladi. Odatda jadvaldan bir nechta satrlarni tanlash va so`rov natijasiga faqatgina ularni chiqarish talab etiladi. Qanday satrlarni chiqarish

kerakligini ko`rsatish uchun WHERE ifodasi ishlatiladi.

WHERE ifodasi WHERE kalit so`zidan va undan keyin keluvchi qanday satrlar o`qilishi lozimligini aniqlovchi izlash shartidan tashkil topadi. Oldingi so`rovda izlash sharti guruh=’12-10 MIIT’ ifodasi edi. Bu holda ATALABA jadvalining barcha satrlari birin-ketin ko`rib chiqiladi va ularning har biriga izlash sharti qo`llaniladi. Agarda izlash shartida ustun nomi uchrasa u holda ustunning qiymati joriy satr uchun ishlatiladi. Izlash shartining har bir satri quyida ko`rsatilgan qiymatlardan biriga ega bo`lishi mumkin.



  • Agarda izlash sharti TRUE qiymatiga ega bo`lsa, bu satr so`rov natijasiga qo`shiladi.

  • Agarda izlash sharti FALSE qiymatga ega bo`lsa, u so`rov natijasiga chiqarilmaydi.

  • Agarda izlash sharti NULL qiymatga ega bo`lsa, satr so`rov natijasiga chiqarilmaydi.

SQL da turlicha so`rovlarni samarali va tartibli tuzish uchun qator izlash shartlari qo`llaniladi. quyida 5 ta asosiy izlash shartlari ko`rib chiqiladi.

  • Taqqoslash. Bitta ifodaning qiymati ikkinchi ifodaning qiymati bilan taqqoslanadi.

  • Qiymatni biror diapozonda yotishini tekshirish. Bunda ko`rsatilgan qiymat aniqlangan qiymatlar diapozoniga tushish yoki tushmasligini aniqlaydi. Masalan, bunday izlash sharti 1990 va 1995 yillar oraligida tug`ilgan barcha talabalarni chiqarish.

  • Biror to`plamga tegishliligini tekshirish. Bunda ifoda qiymati ma`lumot to`plamning biror qiymatiga teng yoki yoki teng emasligi tekshiriladi. Masalan, bunday izlash sharti ’11-10 MIIT’ yoki ‘5-10 ARX’ guruhlari talabalari ro`yxatini chiqarish.

  • Ko`rsatilgan shablonga muvofiqligini tekshirish. Ustundagi shartli qiymat aniqlangan shablonga mos kelishi yoki kelmasligini aniqlaydi. Masalan, bunday izlash sharti ismi “E” bilan boshlanuvchi talabalarni tanlash uchun qo`llaniladi.

  • NULL qiymatga tengligini tekshirish. Ustunda NULL qiymat mavjudligini tekshiradi. Masalan, bunday izlash sharti otasi ismi kiritilmagan talabalar ro`yxatini chiqarish uchun ishlatiladi.

Taqqoslash ( , <>, <, <, >, > ). SQL ning nisbatan ko`p tarqalgan izlash sharti bu taqqoslashdir. SQL taqqoslashni amalga oshirish uchun jadvaldagi ma`lumotlarning har bir satri uchun ikkita ifoda qiymatini hisoblaydi va taqqoslaydi. Ifodalar juda oddiy, masalan, bitta ustun nomi va o`zgarmasdan iborat bo`lishi mumkin. Xuddi shunday, nisbatan murakkab ifodalar bu arifmetik ifodalardir.

Qiymatni biror diapazonga tegishlilik shartini tekshirish (BETWEEN). Izlash shartining boshqa ko`rinishi, qiymatning biror diapazonga tegishlilik shartidir. Bunda ma`lumot qiymat 2 ta aniqlangan qiymat orasida yotishligini tekshiriladi. Izlash shartida 3 ta ifoda beriladi. Birinchi ifoda tekshiriladigan qiymatni aniqlaydi. Ikkinchi va uchinchi ifodalar tekshiriladigan diapozonning yuqori va quyi chegaralarini aniqlaydi. Uchala ifodaninig ham tiplari taqqoslanadigan bo`lishi lozim.

Misol 5. 1990 va 1995 yillar oraligida tug`ilgan barcha talabalarni chiqarish.

SELECT * FROM aumt

WHERE tvaqt BETWEEN ’01.01.1990’ AND ’31.12.1995’

Topshiriq

A. 1-tajriba ish topshiriq variantlarini bajarishni davom ettiring.

B. Bajariladigan vazifalar:

1. O`z variantingiz MB ga SQL tili yordamida:

- MB ga qiymat kiritish buyruqlarini tuzing.

- MB dagi ba`zi bir qiymatlarni o`zgartirish buyruqlarini tuzing.

- MB dagi ba`zi bir qiymatlarni o`chirish buyruqlarini tuzing.

2. O`z variantingiz MB dan SQL tili yordamida:

- barcha yozuvlarini o`qish buyruqlarini tuzing.

- ba`zi bir yozuvlarni o`qish buyruqlarini tuzing.



- ba`zi bir yozuvlar to`plamini tartiblangan holda o`qish buyruqlarini tuzing.

Xulosa: Bajargan ishlaringizni batafsil bayon qiluvchi xulosa yozing.
Download 24.53 Kb.

Do'stlaringiz bilan baham:




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